2012-02-12 4 views
3

점이있는 VBO가 있는데, 정점 및 조각 셰이더로 렌더링 할 수 있지만 점선 셰이더 통과를 추가하면 아무 것도 볼 수 없습니다. 내가 MRT를 사용하고 있는데,이 예제에서 나는 그것을 만지지 않는다.geometry 셰이더가 통과하지 못합니다.

다른 게시물에서 본 것부터 한 단계에서 다른 단계로 값을 전달할 때 문제가있는 것처럼 보였으므로 모든 차이를 제거했지만 여전히 작동하지 않습니다.

연결 후 프로그램 매개 변수를 설정했습니다. 괜찮 으면 좋겠어요.

왜 형상 쉐이더를 비활성화하면 흰색 입자가 생성되지만 아무 것도 표시되지 않는 이유는 무엇입니까?

정점 셰이더 :

#version 120 
attribute vec3 position; 
uniform mat4 projectionMatrix; 
uniform mat4 modelViewMatrix; 

void main() 
{ 
    gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1); 
} 

FRAGMENT 쉐이더 :

#version 120 

void main() 
{ 
    gl_FragData[0] = vec4(1.f, 1.f, 1.f, 1.f); 
    gl_FragData[1] = vec4(0.f, 0.f, 0.f, 0.f); 
} 

기하 구조 셰이더 : PARAMS 설정

#version 120 
#extension GL_EXT_geometry_shader4: enable 

uniform mat4 projectionMatrix; 
uniform mat4 modelViewMatrix; 

void main(void) 
{ 
    for (int i = 0; i < gl_VerticesIn; i++) 
    { 
     gl_Position = gl_PositionIn[i]; 
     EmitVertex(); 
    } 
     EndPrimitive(); 
} 

(프로그램 연결 후, 프로그램 resources.particleprogram이다) PARAMS 설정

답변

3

이러한 매개 변수는 연결하기 전에 를 설정해야합니다 (프로그램 연결 한 후, 프로그램은 resources.particleprogram입니다).

+1

완벽하게 작동했는지, 왜 내가 처음 시도하지 않았는지 모르겠다. 감사. – starruler

관련 문제