游戏开发论坛

 找回密码
 立即注册
搜索
查看: 847|回复: 0

问题出在那?

[复制链接]

2

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2004-9-2 11:01:00 | 显示全部楼层 |阅读模式
我想用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面上的那个圆,其它两个圆到那去了??
程序有没有写错呀?


谢谢各位的建议!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-8-17 18:32

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表