我试图创建一个 GLfloat 缓冲数组
GLfloat mat_diffuse[] = { .2f, .2f, .6f, 1f };
但是java找不到类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);
不知道为什么它有效,但它确实有效。