OpenGL GLfloat 无法识别 Java

OpenGL GLfloat not recognized Java

我试图用

创建一个 GLfloat 缓冲区数组

GLfloat mat_diffuse[] = { .2f, .2f, .6f, 1f };

但是 java 找不到 class GLfloat 并且当我尝试使用普通的浮点数组时我在这一行

中遇到错误

gl.glMaterialfv(gl.GL_FRONT, gl.GL_DIFFUSE, mat_diffuse);

错误读取 incompatible types: float[] cannot be converted to FloatBuffer

是否有创建 GLfloat 的特殊方法,或者我需要从 openGL 导入一些东西才能使它工作?

所以我找到的解决方案是使用浮点数组

float mat_diffuse[] = { .2f, .2f, .6f, 1f };

然后改成

gl.glMaterialfv(gl.GL_FRONT, gl.GL_DIFFUSE, mat_diffuse);

gl.glMaterialfv(gl.GL_FRONT, gl.GL_DIFFUSE, mat_diffuse, 0);

不确定它为什么起作用,但它起作用了。