2012-05-30 3 views
3

내가 예를 들어 배정 밀도 정점 버퍼를 생성하는 경우 :GLSL 배정 밀도 정점 버퍼

GLuint vertBuffer, spanBuffer, spanCount, patchSize, program; // already setup 
glUseProgram (program); 
glEnableClientState (GL_VERTEX_ARRAY); 
glBindBuffer (GL_ARRAY_BUFFER, vertBuffer); 
glVertexPointer (3, GL_DOUBLE, 0, 0); 
glPatchParameteri (GL_PATCH_VERTICES, patchSize); 
glBindBuffer (GL_ELEMENT_ARRAY_BUFFER, spanBuffer); 
glDrawElements (GL_PATCHES, spanCount * patchSize, GL_UNSIGNED_INT, 0); 

가 어떻게 내 버텍스 쉐이더에서 배정 밀도 데이터에 액세스 할을? 내가 할 수 있어야합니까?

// GLSL VERTEX SHADER 
#version 410 

in dvec4 gl_Vertex; 

void main() 
{ 
<snip> 

답변

3

그렇지 않습니다. 적어도 그렇게하지 마라.

배율 값을 쉐이더에 읽을 수있는 OpenGL 4.x +의 기능을 사용하려는 경우 은 일반 버텍스 속성을 사용해야합니다. 기존 고정 기능 gl_VertexglVertexPointer을 더 이상 사용할 수 없습니다. 적절한 일반 정점 속성 색인과 함께 glVertexAttribLPointer을 사용해야합니다.

관련 문제