2010-09-29 153 views
0

我成功地在OpenGL中顯示文本: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); 

將呈現文本爲紅色,即使它看起來像它應該以藍色呈現。正如史蒂文指出的那樣,照明也會影響顏色。如果您正在使用照明,最好在繪製文字時暫時關閉照明。