OpenGL之渲染大小球自转和公转的效果

举报
Serendipity·y 发表于 2022/02/16 23:20:16 2022/02/16
【摘要】 效果展示 整体思路与步骤拆分 渲染绘制绿色方格地板部分; 渲染绘制中心位置的红色大球,并实现其自转; 渲染绘制随机位置的50个静态小球和一个围绕红色大球公转的动态蓝色球; 渲染实现动态蓝...

效果展示

在这里插入图片描述

整体思路与步骤拆分

  • 渲染绘制绿色方格地板部分;
  • 渲染绘制中心位置的红色大球,并实现其自转
  • 渲染绘制随机位置的50个静态小球和一个围绕红色大球公转的动态蓝色球
  • 渲染实现动态蓝色球绕红色大球的公转
  • 实现移动观察者(camera),仍能观察红色大球自转及动态蓝色球围绕红球公转的效果;

重点函数

  • void gltMakeSphere(GLTriangleBatch& sphereBatch, GLfloat fRadius, GLint iSlices, GLint iStacks); // 初始化球体的三角形批次,参数依次是:球半径、片段数、堆叠数;
  • glRotatef(-80.0f, 10.0f, 1.0f, 0.0f) 表示将当前图形沿方向向量(-10,1,0)顺时针旋转80度;
  • glTranslatef(0.0f, -20.0f, -40.0f) 表示将当前图形向x轴平移0,向y轴平移-20,向z轴平移-40;
  • 如果先旋转在绘制,则是表现为自转;而如果先绘制在旋转,再移动一定距离,是为了到达绘制公转的地方;
  • 在变换坐标的时候,使用的是glT

文章来源: blog.csdn.net,作者:Serendipity·y,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/Forever_wj/article/details/107427735

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。