2012-12-31 311 views
0

我創建一個繪圖應用程序,並需要定期改變顏色。所以,一個點可能是綠色,另一紅色。OpenGLES 2.0組頂點顏色

我試圖做到這一點,如下所示: -

程序

glBindAttribLocation(_program, ATTRIB_COLOR, "color"); 

頂點着色器

attribute vec4 position; 
attribute float size; 
attribute vec4 color; 
varying vec4 fragColor; 

void main() 
{ 
    gl_Position = position; 
    gl_PointSize = 30.0; 
    fragColor = color; 
} 

片段着色器

precision mediump float; 
varying vec4 fragColor; 

void main() { 

    gl_FragColor = fragColor; 

} 

的問題是,在顏色取決於在其中點被定位在屏幕上。如果我設置紅色爲屬性的顏色,我需要的任何地方點出現在屏幕上它是純紅色。

enter image description here

+0

「一點可能是綠色的」,就像實際的「GL_POINTS」一樣?或'GL_TRIANGLES'中的頂點? – genpfault

+0

兩種。但我試圖讓積分先工作 – Simon

+0

Derp,錯過了頂點着色器中的'gl_PointSize'。 – genpfault

回答

0

的問題是不相關的上面的代碼。我錯過了程序發送給着色器的屬性數據。