在此代码中(来自Android Developer网站):

private final String vertexShaderCode =
"uniform mat4 uMVPMatrix;   \n"
"attribute vec4 vPosition;  \n" +
"void main(){               \n" +
" gl_Position = uMVPMatrix * vPosition; \n" +

"}  \n";


uniformmat 4是什么意思?

attributevec4的含义是什么?

最佳答案

Uniform是每个绘图调用设置的值。例如,您可以为绘制的整个形状设置颜色,并且对于所有着色器调用,统一值将相同。例如,这与每个顶点的attribute相对,或者与每个片段的var相反,但必须在顶点着色器中进行设置。
mat4是代表4x4矩阵的类型。它由16个浮点值组成。这意味着需要将其作为float[16]类型或float*指针(至少包含16个浮点值)传递给着色器。
attribute表示每个顶点将传递的值。对于每个属性,必须绑定其ID,将其启用,然后从CPU设置指向该属性的指针。每个顶点的值将不同。一些常见的用途是位置,纹理坐标,法线,顶点颜色...
vec4是表示4维向量的类型。它由4个浮点值组成。它可以用于很多东西,例如位置,常规。甚至颜色通常是vec4类型。

关于android - Android:Open GL ES中的Uniform,mat4和vec4是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28959545/

10-09 00:30