我尝试使用
创建 GLfloat 缓冲区数组GLfloat mat_diffuse[] = { .2f, .2f, .6f, 1f };
但是java找不到类GLfloat
,当我尝试使用普通的 float 组时,我收到此行的错误
gl.glMaterialfv(gl.GL_FRONT, gl.GL_DIFFUSE, mat_diffuse);
错误读取不兼容的类型:float[]无法转换为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);
不知道为什么它有效,但它确实有效。
关于java - OpenGL GLfloat 无法识别 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49040789/