gpt4 book ai didi

glsl - 顶点属性是否可以成为 GLSL-ES 2.0 中的数组?

转载 作者:行者123 更新时间:2023-12-04 07:08:23 25 4
gpt4 key购买 nike

在 GLSL-ES 中可以有数组。例如,GLSL ES Specification给出了以下作为数组的统一变量的示例:

uniform vec4 lightPosition[4];

是否可以有数组的顶点属性?换句话说,根据规范,以下内容是否合法?
attribute vec4 foo[3];  // three vec4s per vertex

GLSL ES 规范中是否明确提到了答案(是或否)? (我找不到它,但我还没有阅读规范的每一行。)

此外,如果它是合法的,如何使用 OpenGL ES 2.0 API 初始化这样的属性? (假设使用 glVertexAttribPointer,顶点/数组元素/向量元素的布局是什么?)

最佳答案

GLSL ES 2.0 specification声明属性不能声明为数组。

在桌面 GL 中,您可以拥有属性数组。当属性被分配一个属性索引(使用 glBindAttribLocation 或被链接的着色器自动)时,它将获得连续的属性,如果您使用 glBindAttribLocation,则从您请求的属性开始。 .所以如果 foo被赋予位置 5,foo[0]将是 5,foo[1]将是 6,并且 foo[2]将是 7。

如果有一些 ES 2.0 扩展允许属性数组,它可能会像这样工作。

关于glsl - 顶点属性是否可以成为 GLSL-ES 2.0 中的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8220484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com