OpenGL:设置文字颜色?

时间:2010-09-29 01:26:03

标签: java opengl graphics jogl

我在OpenGL中成功显示文字:

    GLUT glut = new GLUT();
    gl.glWindowPos2d(10, 20);
    glut.glutBitmapString(GLUT.BITMAP_HELVETICA_12, DISPLAYED_TEXT);

但是,我不确定如何设置颜色。 (当我移动相机时,我可以看到颜色变化,看着不同的模型,但我不确定是什么原因导致它改变。)

我正在使用JOGL。

如何指定我想要的颜色?

2 个答案:

答案 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)

你有照明设置吗?这可能会导致颜色发生变化。