关于OPENGL中gluSphere画图的问题

haojj123 2011-11-11 10:54:16
请教各位大侠,我在MFC中初始化了OPENGL 想用gluSphere模拟一个圆天空顶,可是怎么都显示不出天空。之前已经将纹理加入了,不知到底是什么地方出问题了,用的双缓冲模式
这是画的部分代码
glEnable(GL_TEXTURE_2D);
glPushMatrix();
glBindTexture(GL_TEXTURE_2D, texture[0]);
glTranslatef(1.0f, 0, 0 );
glRotatef(90,1,0,0);
glColor4f(0.5,0.5,0.5,1);
gluSphere(qobj,100,32,16);
glPopMatrix();
glDisable(GL_TEXTURE_2D);
glFinish();
...全文
475 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
the_venus 2011-12-01
  • 打赏
  • 举报
回复
这样行吗,你得启动纹理自动生成,否则什么也不会有的。
haojj123 2011-11-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hustlaofan 的回复:]
glTranslatef(0, 0, -30 );
[/Quote]
不是这个问题啊,因为我修改了很多的translate中的数值了。
我是载入了3ds飞机模型,希望能够模拟飞机在天空中飞的过程,天空这一块总是画不出来。我估计是swapbuffer出现了什么问题。但是调试一直都没有成功。
也没有报错信息,运行编译都能通过,但就是显示不出天空。
后来,我把半径改的很小,应该能够看到一个圆球体,但是连个圆球体都显示不了。不知道怎么回事啊。
希望大牛赐教
hustlaofan 2011-11-11
  • 打赏
  • 举报
回复
glTranslatef(0, 0, -30 );
hustlaofan 2011-11-11
  • 打赏
  • 举报
回复
glTranslatef(-30.0f, 0, 0 );
blink31 2011-11-11
  • 打赏
  • 举报
回复
不是吧。 你想把一个球体放大做成一个天空??!!!

你在这个球里面当然看不到它啦,因为法线是朝外面的!!

天空的话,你完全可以用纹理帖一个天空盒出来呀,那样多完美,注意使用glNormal3f()函数就好了
libralibra 2011-11-11
  • 打赏
  • 举报
回复
glTranslatef(0, 0, -300 );试试

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧