2017-12-30 146 views
1

나는 스프라이트 렌더러에서 작업하고 있으며, 사각형이 올바르게 렌더링되었지만 지금은 회전시키고 텍스처를 추가하려고합니다. 그러나 예를 들어 데이터를 복제하지 않고 각도를 저장하는 방법을 모르겠습니다. 현재 모든 꼭지점의 위치가 정해져 있으므로 모든 각, mesh, textureatlas_index 등을 각 사각형 메쉬에 대해 4 번 반복하는 것은 낭비입니다. 그래서 여기에 질문입니다. 꼭지점이 아닌 모양마다 textureatlas_indexes 또는 각도 같은 변수를 저장하는 효율적인 방법이 있습니까?중복없이 모양 당 변수를 저장하는 OpenGL

편집 : 내 스프라이트 렌더러는 최대 용량을 가지므로 동적 크기가 아니지만 최대 용량 사전 런타임에 액세스 할 수 없으므로 정적 배열은 실제로 옵션이 아닙니다.

나는 스트리밍 텍스처 버퍼에 정착

+0

타겟팅하는 어떤의 OpenGL 버전은 현재 사각형의 인덱스를 얻을? – derhass

+0

@derhass 3.3 코어 – Whiteclaws

+0

@Whitclaws. 예를 들어 [UBO] (https://www.khronos.org/opengl/wiki/Uniform_Buffer_Object) 또는 [TBO] (https://www.khronos.org/opengl/wiki/Buffer_Texture)를 사용하여 per-rectangle 속성은 한 번만 사용됩니다. 사각형 당 고정 된 수의 4 개 또는 6 개의 꼭지점을 사용한다면, 'gl_VertexID/4' 또는'gl_VertexID/6'에서 파생 된 색인을 사용하여 직사각형 속성을 색인 할 수 있습니다. 또 다른 옵션은 [instancing] (https://www.khronos.org/opengl/wiki/Vertex_Rendering#Instancing)을 사용하는 것이지만 perf가 극소수의 정점에서 최적이되지 않기 때문에 추천하지 않습니다. – derhass

답변

0

나는 3.3 핵심 표적으로하고있어 gl_VertexId/4