我在为点编写简单的直通几何着色器时遇到了一些问题。我想它应该是这样的:
#version 330
precision highp float;
layout (points) in;
layout (points) out;
void main(void)
{
gl_Position = gl_in[0].gl_Position;
EmitVertex();
EndPrimitive();
}
当我没有指定几何着色器时,屏幕上显示了一堆点,但是当我尝试将此着色器链接到我的着色器程序时,没有显示任何点,也没有报告错误。
我正在使用 C# 和 OpenTK,但我认为这不是问题所在。
编辑:人们要求使用其他着色器,尽管我确实在没有使用几何着色器的情况下测试了这些着色器,并且在没有几何着色器的情况下它们工作得很好。
顶点着色器:
void main()
{
gl_FrontColor = gl_Color;
gl_Position = ftransform();
}
片段着色器:
void main()
{
gl_FragColor = gl_Color;
}