我正在使用LWJGL在Java中包装OpenGL,但显然所有颜色都已转换为基本阴影。我不确定此处的英语措词是否100%可靠,因此,如果我设置以下内容,请尝试使其更清晰:
glClearColor(0.3, 0.3, 0.6, 1.0)
我最终得到的是等价于
glClearColor(1.0, 1.0, 1.0, 1.0)
基本上,每当我在某种颜色的红色/绿色/蓝色分量中使用非0.0的值时,我都会得到与使用1.0时相同的行为。
在OpenGL初始化期间,我几乎只设置透视图:
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity();
GL11.glOrtho(0, DisplayManager.getWidth(), DisplayManager.getHeight(), 0, 1, -1);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
在渲染期间,我只是尝试使用背景色进行清除:
// clear buffer
GL11.glClearColor(0x46, 0x82, 0xb4, 1.0f);
GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
基本上背景应该是蓝色,但是我得到的是白色(分别是1.0、1.0、1.0、1.0)。
我需要设置任何东西(OpenGL标志或其他什么)吗?我只是在某个地方呆呆而又不知道在哪里吗?:)
提前致谢
GL11.glClearColor(0x46, 0x82, 0xb4, 1.0f);
0x46大于1.0,因此将其钳位为1.0。白色的。
glClearColor
期望输入的浮点数在0.0到1.0之间,而不是0到255之间的整数(0xFF)。
试试这个:
GL11.glClearColor(0x46 / 255.0f, 0x82 / 255.0f, 0xb4 / 255.0f, 1.0f);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句