OpenGL 几何着色器 Mac OS X

3

我正在尝试在Mac OS X 10.6下实现一个简单的通过几何着色器的程序。代码编译和链接没有问题,但是屏幕上没有任何几何图形被绘制出来。以下是我的着色器代码:

#version 120
#extension GL_EXT_geometry_shader4: enable

void main()
{
    gl_Position = gl_PositionIn[0];
    EmitVertex();

    EndPrimitive();
}

如果有人能帮忙,我会非常感激。
2个回答

2

事实证明,问题并不在着色器代码中。显然,在几何着色器中使用版本120时,必须按照以下方式设置输入和输出类型:

glProgramParameteriEXT(shaderProgramID, GL_GEOMETRY_OUTPUT_TYPE_EXT, GL_POINTS);
glProgramParameteriEXT(shaderProgramID, GL_GEOMETRY_VERTICES_OUT_EXT, GL_POINTS);

之后所有的事情都顺利解决了。


1
一个几何着色器适用于整个图元。你的看起来只适用于点。如果你没有传入点,你需要处理所有的gl_VerticesIn(计数)个顶点。

最终计划是让着色器将一个点处理成更复杂的几何形状。目前我只传递单个点。 - LandonSchropp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接