我已成功在 OpenGL 中显示文本:
GLUT glut = new GLUT();
gl.glWindowPos2d(10, 20);
glut.glutBitmapString(GLUT.BITMAP_HELVETICA_12, DISPLAYED_TEXT);
但是,我不知道如何设置颜色。 (当我移动相机,查看不同的模型时,我可以看到颜色发生变化,但我不确定是什么导致它发生变化。)
我正在使用 JOGL。
如何指定我想要的颜色?
最佳答案
要设置颜色,请使用 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);
会将文本渲染为红色,即使它看起来应该渲染为蓝色。
正如史蒂文指出的那样,照明也会影响颜色。如果您使用照明,最好在绘制文本时暂时将其关闭。
关于java - OpenGL:设置文本颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3818173/