2012-02-23 123 views
0

我創建了一個使用Qt的OpenGL應用程序來可視化磁場的矢量場。矢量場通過箭頭顯示,顏色代碼指示其值。現在的問題是我想爲矢量場映射製作一個鍵,指示最高和最低顏色值的值,例如,紅色是10 nT,綠色是0.1 nT。矩形的OpenGL漸變不起作用

colurs的縮放已完成(通過HSV着色,感謝Qt,使生活更輕鬆),但我仍然需要在右上角創建一個帶有漸變的reqtangle,以將其用作劇情I的關鍵點正在做。

我使用的代碼:

http://en.wikibooks.org/wiki/OpenGL_Programming/Basics/Color

如下:

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 
    glBegin(GL_QUADS); 
    glColor3d(simulationSettings->hotColour.redF(), simulationSettings->hotColour.greenF(), simulationSettings->hotColour.blueF()); 
    glVertex2d(-0.75, 0.75); 
    glColor3d(simulationSettings->coldColour.redF(), simulationSettings->coldColour.greenF(), simulationSettings->coldColour.blueF()); 
    glVertex2d(-0.75, -0.75); 
    glColor3d(simulationSettings->coldColour.redF(), simulationSettings->coldColour.greenF(), simulationSettings->coldColour.blueF()); 
    glVertex2d(0.75, -0.75); 
    glColor3d(simulationSettings->hotColour.redF(), simulationSettings->hotColour.greenF(), simulationSettings->hotColour.blueF()); 
    glVertex2d(0.75, 0.75); 
    glEnd(); 

,但沒有奏效。我甚至試圖複製代碼,我得到的只是屏幕中間的一個黃色方塊。

我必須在OpenGL配置中更改以啓用顏色漸變?

回答

4

試試這個,當你設置的OpenGL:

glShadeModel(GL_SMOOTH) 
+0

非常感謝,夥計!就是這樣:-D – Sam 2012-02-23 13:30:34