Opengl颜色问题

[复制链接]
查看11 | 回复2 | 2011-6-9 17:58:00 | 显示全部楼层 |阅读模式
我在mfc中绘制了一个立方体和一个坐标系在DrawScene()
void CCubeDlg::DrawScene()
{

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glLoadIdentity();

DrawCodn();//绘制坐标系

。。。。//绘制带纹理的立方体
}
//=====绘制坐标系=====
void CCubeDlg::DrawCodn()
{
        glColor3f(255,0,0);
        glLineWidth(3.0);
        glBegin(GL_LINES);
                glVertex3i(290,0,0);
                glVertex3i(-290,0,0);
                glVertex3i(0,290,0);
                glVertex3i(0,-290,0);
                glVertex3i(0,0,290);
                glVertex3i(0,0,-290);
        glEnd();
}
===============
如图,坐标系和立方体总是相互影响,请问怎么让颜色不影响呢


回复

使用道具 举报

千问 | 2011-6-9 17:58:00 | 显示全部楼层
这个问题我遇到过,可以先保存当前的颜色,然后用新的颜色画,再拿出原来的颜色,例子如下:我想画一个东西,但又不想影响到Opengl当前的颜色状态,可以这样用glPushAttrib(GL_CURRENT_BIT);例如: glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);glLoadIdentity();
glTranslatef(-1.5f,0.0f,-10.0f);
glColor3f(1.0f,0.0f,0.0f); glBegin(GL_TRIANGLES);
glVertex3f( 0.0f, 1.0f,...
回复

使用道具 举报

千问 | 2011-6-9 17:58:00 | 显示全部楼层
void CCubeDlg::DrawCodn(){GLfloatfCurrentColor[4];// Get the current colorglGetFloatv(GL_CURRENT_COLOR, fCurrentColor);
glColor3f(255,0,0);glLineWidth(3.0);glBegi...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行