Po wyszukaniu i przeczytaniu o Modern OpenGL w celu uaktualnienia mojego istniejącego projektu, jestem nieco zdezorientowany, ponieważ moja architektura 3D oparta jest na OpenGL 2.1.Nowoczesne OpenGL: stosy VBO, GLM i Matrix
tak, o ile mi się ...
Musimy wygenerować nasze Vertex-buffer-obiektów z wierzchołków, normalnych, indeksów, kolorów, UVS itp
następnie możemy użyć GLM do transformacji macierzy, i używamy tylko VBO stworzyć lub manipulować siatki wreszcie mijamy wszystko do cieniowania wierzchołków GLSL jak ten ...
glm::mat4 MVP = projection * view * model; glUniformMatrix4fv(glGetUniformLocation(shaderProgramID, "MVP"), 1, GL_FALSE, glm::value_ptr(MVP)); //or &MVP[0][0] // uniform mat4 MVP; // in vec3 Vertex; // void main(void) // { // gl_Position = MVP * vec4(Vertex, 1.0); //instead of ftransform(); // }
PYTANIE: Jak wykonujemy transformacje hierarchiczne bez technologii pushMatrix/popMatrix? (czy może dokonujemy transformacji hierarchicznej za pomocą naszych VBO, czy jest to możliwe?)
Jeśli nie jest to możliwe, to w jaki sposób osiągnąć ten sam rezultat, co w pushMatrix/popMatrix przy użyciu stosu GLM i C++ <> biblioteka?
Powiedzmy, muszę coś takiego:
> Set identity
> Translate to X, Y, Z
> Draw Mesh 1
> Rotate 0.5 by X axis
> Draw Mesh 2
> Scale down to 0.1
> Draw Mesh 3
@ BЈовић: [Matematyka OpenGL (GLM)] (http://glm.g-truc.net/), biblioteka C++ przeznaczona tylko do nagłówka dla matematyki/matematyki wektorowej. – genpfault