1

我正在创建一个绘图应用程序,需要定期更改颜色。所以,一个点可能是绿色的,另一个是红色的。

我正在尝试按以下方式进行操作:-

程序

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;

} 

问题是,颜色会根据点在屏幕上的位置而有所不同。如果我将红色设置为属性的颜色,我需要它在屏幕上出现的任何位置都是纯红色。

在此处输入图像描述

4

1 回答 1

0

该问题与上述代码无关。我没有对齐程序发送到着色器的属性数据。

于 2013-01-01T17:04:19.320 回答