我正在尝试在Mac OS X 10.6下实现一个简单的通过几何着色器的程序。代码编译和链接没有问题,但是屏幕上没有任何几何图形被绘制出来。以下是我的着色器代码:
#version 120
#extension GL_EXT_geometry_shader4: enable
void main()
{
gl_Position = gl_PositionIn[0];
EmitVertex();
EndPrimitive();
}
如果有人能帮忙,我会非常感激。
我正在尝试在Mac OS X 10.6下实现一个简单的通过几何着色器的程序。代码编译和链接没有问题,但是屏幕上没有任何几何图形被绘制出来。以下是我的着色器代码:
#version 120
#extension GL_EXT_geometry_shader4: enable
void main()
{
gl_Position = gl_PositionIn[0];
EmitVertex();
EndPrimitive();
}
事实证明,问题并不在着色器代码中。显然,在几何着色器中使用版本120时,必须按照以下方式设置输入和输出类型:
glProgramParameteriEXT(shaderProgramID, GL_GEOMETRY_OUTPUT_TYPE_EXT, GL_POINTS);
glProgramParameteriEXT(shaderProgramID, GL_GEOMETRY_VERTICES_OUT_EXT, GL_POINTS);
之后所有的事情都顺利解决了。
gl_VerticesIn
(计数)个顶点。