我刚开始在iPhone 5S上测试基于OpenGL ES的应用和64位架构。我看到的问题是,当(CGFloat)值传递到着色器时,它们是完全错误的。 我传入0.8,但在调试着色器时,它会变成-1.58819e-23。 我正在使用glUniform4fv()来传递该值。 我需要使用不同的数据类型或方法来传递值吗? 当我在32位上进行测试时,该值正常传递。
一些人可能会注意到这是来自GLPaint演示的内容...
谢谢,
奥斯汀
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演示的内容...
谢谢,
奥斯汀
CGFloat
而应该使用GLfloat
,请提交错误报告! - rickster