|
本来想用下面的函数画红绿蓝的坐标轴, 结果无法设定颜色, 在glColor前后用glGetFloatv的到的当前颜色和设置的相同, 但画出来的却是其他颜色..
请看代码:
-------------------------------
void opGL::drawAxes(GLfloat fltLength)
{
GLfloatcolour[4];
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_LINES);
glColor4f(1.0, 0.0, 0.0, 1.0);
glVertex2f(-fltLength * 2, 0.0);
glVertex2f(fltLength * 2, 0.0);
glEnd();
glGetFloatv(GL_CURRENT_COLOR, colour);
//现在colour里是{1.0, 0.0, 0.0, 1.0}, 但实际画出来的却不是红的.
glBegin(GL_LINES);
glColor4f(0.0, 1.0, 0.0, 1.0);
glVertex2f(0.0, -fltLength * 2);
glVertex2f(0.0, fltLength * 2);
glEnd();
glGetFloatv(GL_CURRENT_COLOR, colour);
//现在colour里是{0.0, 1.0, 0.0, 1.0}, 但实际画出来的却不是绿的.
glBegin(GL_LINES);
glColor4f(0.0, 0.0, 1.0, 1.0);
glVertex3f(0.0, 0.0, -fltLength * 2);
glVertex3f(0.0, 0.0, fltLength * 2);
glEnd();
glGetFloatv(GL_CURRENT_COLOR, colour);
//现在colour里是{0.0, 0.0, 1.0, 1.0}, 但实际画出来的却不是蓝的.
}
[em24] |
|