android opengl的一个错误:未使用的变量会被消除
在android中使用opengl,着色器编译之后会进行优化,一些检测到无用的变量会被精简掉。
比如说下面这个:
uniform mat4 uProjectionMatrix; attribute vec4 vPosition; attribute vec3 vNormal; void main() { gl_Position = uProjectionMatrix * vPosition; }
其中的变量vNormal将会被精简掉。
当然了,实际代码中,不可能出现这种无用的变量。但是我在开发的过程中有时候会添加这些变量,它被精简掉之后,就无法从java想它输入数据,而且会直接导致错误发生。

浙公网安备 33010602011771号