我正在创建绘图应用,需要定期更改颜色。所以,一点可能是绿色,另一点可能是红色。
我正在尝试如下: -
程序
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;
}
问题是,颜色取决于点在屏幕上的位置。如果我将红色设置为属性的颜色,我需要它在屏幕上出现点时为纯红色。
答案 0 :(得分:0)
问题与上述代码无关。我错误地将程序发送到着色器的属性数据错位。