기존 프로젝트를 업그레이드하기 위해 Modern OpenGL을 검색하고 읽은 후 OpenGL 2.1 기반 3D 프레임 워크부터 약간 혼란 스럽습니다. 그래서, 지금까지의 내가 배울현대 OpenGL : VBO, GLM 및 Matrix Stacks
...
우리는 정점, 인덱스, 법선, 색상, UV를에서 우리의 버텍스 버퍼 오브젝트를 생성해야등
다음 우리는 매트릭스 변환에 GLM를 사용하여, 우리는 단지 메시를 생성하거나 조작 VBO를 사용하여 최종적으로 우리는 이런 ... GLSL 정점 셰이더에 모두 전달
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(); // }
질문 : pushMatrix/popMatrix없이 계층 적 변환을 어떻게 수행합니까? (아니면 VBO를 사용하여 계층 적 변환을 할 수 있습니까?)
그렇다면 GLM 및 C++ < 스택> 라이브러리를 사용하여 pushMatrix/popMatrix와 동일한 결과를 얻는 방법은? 당신은 계층 적 변환을 필요로하는 경우
> 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Јовић : [OpenGL Mathematics (GLM)] (http://glm.g-truc.net/), 매트릭스/벡터 수학을위한 헤더 전용 C++ 라이브러리. – genpfault