我刚开始在 OpenGL ES 应用程序上使用 iPhone 5S 和 64 位架构进行测试。我看到的问题是(CGFloat)值在到达着色器时是错误的。我传入 0.8 并在调试着色器时更改为 -1.58819e-23。我正在使用 glUniform4fv() 来传递值。我需要使用不同的数据类型吗?或不同的方法来传递值?当我在 32 位上测试时,这个值很好
CGFloat brushColor[4];
brushColor[0] = 0.8;
brushColor[1] = 0.1;
brushColor[2] = 0.1;
brushColor[3] = 0.3;
glUniform4fv(program[PROGRAM_POINT].uniform[UNIFORM_VERTEX_COLOR], 1, brushColor);
(有些人可能会注意到这是来自 GLPaint 演示......)
谢谢,
奥斯汀