Opengl es GLE2.0的最大可变向量和浮动

Opengl es GLE2.0的最大可变向量和浮动,opengl-es,glsl,Opengl Es,Glsl,我正在试图找出在兼容OpenGL ES 2.0的设备上可以使用的最大可变向量数和制服数。我试图了解MAX\u variable\u VECTORS是如何工作的。因此,如果MAX\u variable\u VECTORS是8,这是否意味着我可以为变量存储8*4字节的数据,还是意味着我只能定义8个变量,而不管数据类型如何?MAX\u variable\u VECTORS是以4成员浮点向量(vec4)为单位测量的。因此,使用最小保证值8,您可以拥有8个vec4类型的变量 关于其他类型如何准确地适应此可

我正在试图找出在兼容OpenGL ES 2.0的设备上可以使用的最大可变向量数和制服数。我试图了解
MAX\u variable\u VECTORS
是如何工作的。因此,如果
MAX\u variable\u VECTORS
是8,这是否意味着我可以为变量存储8*4字节的数据,还是意味着我只能定义8个变量,而不管数据类型如何?

MAX\u variable\u VECTORS
是以4成员浮点向量(
vec4
)为单位测量的。因此,使用最小保证值8,您可以拥有8个
vec4
类型的变量

关于其他类型如何准确地适应此可用空间的规则相当复杂。对于
MAX\u variable\u VECTORS
为8的示例,整个对象被视为8行4列的2D数组。此数组中的空间按一定顺序分配给变量(主要是从最大到最小),规则取决于变量的大小以及数组中仍然可用的空白空间的大小/位置


确切的规则在GLSL ES 1.00规范文档中占据了大约2.5页。它们在第111-113页。复制整个内容没有多大意义,而且我恐怕无法在保持准确性的同时将其转换为更简单的内容。

因此它遵循与主内存相同的分配技术。因此,应考虑对齐。伟大的