为啥光源不移动

zhyinty 2008-11-15 07:01:55
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity() ;
float lightpositon[] = {-10.0f, 0.0f, 0.0f, 0.0f};
gluLookAt(0,0,10,0,0,0,0,1,0);


glPushMatrix();
glTranslatef(angle,0,0);
glLightfv(GL_LIGHT0, GL_POSITION, lightpositon);
glTranslatef(angle,0,0);
glPopMatrix();
auxSolidSphere(1.5);
angle ++ ;

return TRUE;
...全文
106 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhyinty 2008-11-17
  • 打赏
  • 举报
回复
外层加个PushMatrix()好像没用啊,因为根本就没有绘制任何物体
zzz822163 2008-11-17
  • 打赏
  • 举报
回复
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity() ;
float lightpositon[] = {-10.0f, 0.0f, 0.0f, 0.0f};
glPushMatrix();
gluLookAt(0,0,10,0,0,0,0,1,0);


glPushMatrix();
glTranslatef(angle,0,0);
glLightfv(GL_LIGHT0, GL_POSITION, lightpositon);
glTranslatef(angle,0,0);
glPopMatrix();
auxSolidSphere(1.5);
angle ++ ;
glPopMatrix();
zhyinty 2008-11-16
  • 打赏
  • 举报
回复
不PushMatrix上面的Translatef()会对下面的球体产生影响,就不仅是光源的移动了
stoneyrh 2008-11-16
  • 打赏
  • 举报
回复
不要push/pop matrix试试
glacier3d 2008-11-16
  • 打赏
  • 举报
回复
对opengl不熟,不知道了
zhyinty 2008-11-15
  • 打赏
  • 举报
回复
当然开了的,开始光源在左边,但是他应该移动到右边去,但是一直是球体坐标在亮
glacier3d 2008-11-15
  • 打赏
  • 举报
回复
试了下,物体有明暗变化,光源在动,是不是没开光呢?


glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
lemonadeqq 2008-11-15
  • 打赏
  • 举报
回复
顶一下

19,469

社区成员

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

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