我在編寫點透明幾何着色器時遇到了一些問題。我想應該是這樣的:點的透視幾何着色器
#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;
}
這可能與[this](http://stackoverflow.com/questions/3936368/geometry-shader-doesnt-do-anything-when-fed-gl-points)有關,因爲我正在測試這個在ATI顯卡上。 – 2011-06-14 21:00:45
你能發佈附加到這個程序的其他着色器嗎? – kvark 2011-06-14 21:50:47
@Nocturne也許用新的語法(比如'layout(points)')和舊的過時的語法(比如'ftransform'或固定函數變化)混合起來不是一個好主意。但我只是發現另一件事,會更新我的答案。 – 2011-06-15 21:17:01