6
많은 쉐이더를 GL_POINTS 및 GL_LINES를 많이 그리는 오래된 OpenGL 프로그램에 추가하려고합니다. 문제없이조각 쉐이더가있는 GLSL은 검정색 만 렌더링합니다. GL_POINTS
#version 120
void main()
{
vec4 myOutputColor = gl_Color;
gl_FragColor = myOutputColor;
//gl_FragColor.r = 0.5;
}
이 두 쉐이더 컴파일 및 링크 :
버텍스 쉐이더 :
void main()
{
vec4 v = vec4(gl_Vertex);
v.z = v.z + sin(v.x*v.x + v.y*v.y)/10.0;
gl_Position = gl_ModelViewProjectionMatrix * v;
}
조각 쉐이더
나는이 두 쉐이더를 만들었습니다. 그리고 버텍스 쉐이더가 훌륭하게 작동합니다. GL_POINTS가 버텍스 쉐이더에서 그 죄를 사용하여 옮겨진 것을 볼 수 있습니다. 하지만 문제는 모든 점과 선이 검정색으로 렌더링되기 때문에 배경색이 검정색이 아닌 경우에만 GL_POINTS 및 GL_LINES 만 볼 수 있습니다. 렌더링 코드에서 glColor3f로 설정된 모든 색상이 무시되는 것 같습니다. 조각 쉐이더에서 주석 처리 된 행의 주석 처리를 제거하면 모든 선과 점을 빨간색으로 만들 수 있지만 gl_Color는 각 점에 대해 glColor3f로 설정된 색상과 일치하지 않아야합니까?이 동작을 일으킬 수있는 다른 OpenGL 코드가 있습니까?
고마워요! 이제 작동! 나는 튜토리얼에서 그 부분을 어떻게 놓쳤는 지 모르겠다. :) – ivans
더 많은 답변을 보려면 여기를 참고하십시오 : http://stackoverflow.com/questions/6430154/what-is-the-relationship-between-gl- color-and-gl-frontcolor-in-both 버텍스 및 fr –