我在OpenGL中成功显示文字:
GLUT glut = new GLUT();
gl.glWindowPos2d(10, 20);
glut.glutBitmapString(GLUT.BITMAP_HELVETICA_12, DISPLAYED_TEXT);
但是,我不确定如何设置颜色。 (当我移动相机时,我可以看到颜色变化,看着不同的模型,但我不确定是什么原因导致它改变。)
我正在使用JOGL。
如何指定我想要的颜色?
答案 0 :(得分:1)
要设置颜色,请使用glColor调用(例如, glColor3f(1.0, 1.0, 0.0)
将颜色设置为黄色)
需要注意的一点是,glutBitmapString使用光栅图形来渲染文本,这有一些怪癖。特别是,您需要在设置位置之前设置颜色 - 即:
gl.glColor3f(1,0,0) # RED
gl.glWindowPos2d(10, 20);
gl.glColor3f(0,0,1) # BLUE
glut.glutBitmapString(GLUT.BITMAP_HELVETICA_12, DISPLAYED_TEXT);
会将文本呈现为红色,即使它看起来应该呈现为蓝色。
史蒂文指出,照明也会影响颜色。如果您使用的是照明,最好在绘制文本时暂时将其关闭。
答案 1 :(得分:0)
你有照明设置吗?这可能会导致颜色发生变化。