OpenGL, glew 및 GLFW를 사용하여 프로젝트의 간단한 게임을 코딩합니다. 나는 이미 Assimp를 사용하는 3D 모델 임포터를 가지고 있으며 텍스쳐도 다루고 있습니다. OpenGL 배치 렌더 메쉬
이
나는 하나의 메쉬 방식 그리기 해요되어glBindBuffer(GL_ARRAY_BUFFER, m_Buffers[NORMAL_VB]);
glNormalPointer(GL_FLOAT, 0, NULL);
glBindBuffer(GL_ARRAY_BUFFER, m_Buffers[TEXCOORD_VB]);
glTexCoordPointer(2, GL_FLOAT, 0, NULL);
glBindBuffer(GL_ARRAY_BUFFER, m_Buffers[POS_VB]);
glVertexPointer(3, GL_FLOAT, 0, NULL);
//Render the triangles
glDrawArrays(GL_TRIANGLES, 0, m_Entries[i].NumIndices);
내 문제는 내가이 같은 메쉬를 사용하여 개체를 이동하는 백 렌더링하지만, 각각 다른 세계의 위치와 회전을 가지고 할 수있는 방법인가?
움직이는 엔티티가 수백 개있는 경우 각 프레임마다 동일한 메쉬가 수백 번 렌더링되므로 FPS가 떨어질 수 있습니다.
, BTW 난 그냥 간단한 glVertexPointer()
때문에
이것이 바로 버텍스 쉐이더와 인스 턴싱이 필요한 것입니다. 문제는'glVertexPointer (...)'등을 사용하기 때문입니다. GL의 어떤 버전을 사용하고 있는지 전혀 알지 못합니다. 인스턴스화는 GL 3.1에서 핵심으로 승격되었지만이 코드는 GL 1.5와 같이 오래되었을 수 있습니다. 답변을 더 간단하게 작성하기 위해 사용하는 GL의 버전을 언급 할 수 있습니까? –
@ AndonM.Coleman, 실제로 어떤 버전을 사용하고 있는지 모르겠지만 아마도 마지막 버전 일 것입니다. – andrepcg
@ AndonM.Coleman, 저는 여전히 오래되고 쓸모없는 기능을 많이 사용하고 있습니다 – andrepcg