我用Qt创建了一个OpenGL应用程序来可视化磁场的矢量场。矢量场通过箭头可视化,颜色代码表示它们的值。现在的问题是我想为矢量场图制作一个键,指示最高和最低颜色值的值,例如,红色是10 nT,绿色是0.1 nT。
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配置中更改什么才能启用颜色渐变?
答案 0 :(得分:4)
设置OpenGL时尝试此操作:
glShadeModel(GL_SMOOTH)