游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1336|回复: 1

问题出在那呢?谢谢

[复制链接]

2

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2004-9-2 11:39: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面上的那个圆,其它两个圆到那去了??
程序有没有写错呀?


谢谢各位的建议!





139

主题

2005

帖子

2057

积分

金牌会员

Rank: 6Rank: 6

积分
2057
QQ
发表于 2004-9-2 19:07:00 | 显示全部楼层

Re:问题出在那呢?谢谢

被剪裁掉了。你在绘制前先调用glTranslatef把沿 -Z轴移动几个单位试试
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-18 00:39

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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