1

私はモダン OpenGL (バージョン 2.1+) で死んでいます。クラシックバージョンとの違いがさらにあります。すべてがバッファ、頂点バッファ、要素バッファ、均一バッファ、..何かを行うための古典的な方法は非推奨です:-| ...

私の質問:現代の opengl で "移動" (とにかく、一般的な変換) するための最良の方法は何ですか?

現在、私はこのようにしています:

void render()
{
    glUseProgram(hProg);

    ...
    modelMatrix = glm::mat4(1.0f); // like glLoadIdentity()
    glUniformMatrix4fv(uni_modelMatrix, 1, GL_FALSE, glm::value_ptr(modelMatrix));
    glBindBuffer(GL_ARRAY_BUFFER, vbo_object_1);
    glVertexArrayPointer(...);

    glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ibo_object_1);
    glDrawElements(...);

    modelMatrix = glm::translate(modelMatrix, glm::vec3(5.0f, 0.0f, 0.0f));
    glUniformMatrix4fv(uni_modelMatrix, 1, GL_FALSE, glm::value_ptr(modelMatrix));
    glBindBuffer(GL_ARRAY_BUFFER, vbo_object_2);
    glVertexArrayPointer(...);

    glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ibo_object_2);
    glDrawElements(...);
}
4

0 に答える 0