首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在OpenGL es2.0中为数组索引提供一个整数?

在OpenGL es2.0中为数组索引提供一个整数?
EN

Stack Overflow用户
提问于 2012-07-08 01:08:53
回答 1查看 5.7K关注 0票数 7

我正在为OpenGL开发一个iPhone应用程序。在我的顶点着色器中,我需要一种方法一次改变大量(但不是全部)顶点的颜色,所以我决定使用颜色索引。这将允许我保持VBO的静态,修改一个单一的统一变量,而不是循环遍历每个顶点和修改每个帧之间的颜色信息。

我的计划是用颜色数组创建一个统一的,在属性中添加一个包含索引的整数。这是我的顶点着色器:

代码语言:javascript
复制
uniform mat4 u_mvp_matrix;
uniform vec4 u_color_array[];

attribute vec4 a_position;
attribute int a_colorIndex;

varying lowp vec4 v_color;

void main()
{
    v_color = u_color_array[a_colorIndex];

    gl_Position = u_mvp_matrix * a_position;
}

这会引发一个错误:

int不能是顶点着色器中的in

我做了些调查。iPhone最晚支持GLSLES2.0,这意味着它最晚支持GLSL1.2,而且显然只有GLSL1.3及更高版本支持整数。我尝试将a_colorIndex更改为浮点数。我没料到它会起作用,也不会。

如何为每个顶点指定颜色索引?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-08 02:47:23

将属性指定为浮点数。可以将浮点数用作数组中的索引。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11379936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档