【发布时间】:2013-01-02 01:04:19
【问题描述】:
我正在创建一个绘图应用程序,需要定期更改颜色。所以,一个点可能是绿色的,另一个是红色的。
我正在尝试这样做:-
程序
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;
}
问题是,颜色会根据点在屏幕上的位置而变化。如果我将红色设置为属性的颜色,我需要它在屏幕上出现的任何位置都是纯红色。
【问题讨论】:
-
“一点可能是绿色的”,就像实际的
GL_POINTS?还是GL_TRIANGLES中的顶点? -
两者。但我试图让积分先发挥作用
-
Derp,错过了顶点着色器中的
gl_PointSize。