2015-11-19 26 views
0

我剛開始用幾何着色器測試一下。我想爲每個點繪製一個三角形。這是我的着色器:未知的佈局說明符「三角形」

#version 150 

layout (points) in; 
layout(triangles, max_vertices = 3) out; 

void main(void) 
{ 
    gl_Position = gl_in[0].gl_Position + vec4(0, 0, 0, 0); 
    EmitVertex(); 
    gl_Position = gl_in[0].gl_Position + vec4(0.1, 0, 0, 0); 
    EmitVertex(); 
    gl_Position = gl_in[0].gl_Position + vec4(0, 0.1, 0, 0); 
    EmitVertex(); 
    EndPrimitive(); 
} 

這是錯誤消息:

錯誤C3008:未知佈局符 '三角形'

它以代替 「三角形」 時,那種作品「點「,但顯然它是繪製點而不是。

回答

4

根據該標準只允許基本類型的輸出

  • line_strip
  • triangle_strip

所以,你想要的是

layout(triangle_strip, max_vertices = 3) out;