|
我想用OPENGL在空间中画三个圆,互相在三个坐标面上。可是不知道为什么程序运行结果只显示一个圆?
我的代码如下:
void CBall: rawBall()
{
GLUquadricObj* qobj=gluNewQuadric();
gluQuadricDrawStyle(qobj,GLU_LINE);
gluQuadricNormals(qobj,GLU_NONE);
gluDisk(qobj,m_radius,m_radius,24,1); //m_radius = 1.0f
gluDeleteQuadric(qobj);
}
void CBall::DrawContaintor()
{
glColor3f(0,.75f,0);
//画XOY面的圆
DrawBall();
//画XOZ面的圆
glPushMatrix();
glRotated(90,1.0,0.0,0.0);
DrawBall();
glPopMatrix();
//画YOZ面的圆
glPushMatrix();
glRotated(90,0.0,1.0,0.0);
DrawBall();
glPopMatrix();
}
CMyView::OnDraw()
{
.........
CBall myBall;
..........
myBall.DrawContaintor();
..........
}
程序运行的结果:只显示XOY面上的那个圆,其它两个圆到那去了??
程序有没有写错呀?
谢谢各位的建议!
|
|