OpenGL之渲染大小球自转和公转的效果
效果展示
整体思路与步骤拆分
- 渲染绘制绿色方格地板部分;
- 渲染绘制中心位置的红色大球,并实现其自转;
- 渲染绘制随机位置的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
OpenGL之渲染大小球自转和公转的效果相关推荐
- 案例06:大球自转+小球公转+移动
OpenGL + OpenGL ES +Metal 系列文章汇总 这个案例是OpenGL中的一个比较经典的综合案例,结合了OpenGL中大部分知识点,下面就来了解下这个案例 先来看看最终的效果 整体的 ...
- OpenGL HDR渲染
OpenGL HDR渲染 HDR渲染简介 浮点帧缓冲 色调映射 HDR渲染简介 一般来说,当存储在帧缓冲(Framebuffer)中时,亮度和颜色的值是默认被限制在0.0到1.0之间的.这个看起来无辜 ...
- Qt移动应用开发(八):实现跨平台的QML和OpenGL混合渲染
Qt移动应用开发(八):实现跨平台的QML和OpenGL混合渲染 上一篇文章讲到了利用C++这个桥梁,我们实现了QML和Java的交互.Qt 5大力推崇的QML/JS开发,让轻量.高速开发的QML/J ...
- CSharpGL(30)用条件渲染(Conditional Rendering)来提升OpenGL的渲染效率
CSharpGL(30)用条件渲染(Conditional Rendering)来提升OpenGL的渲染效率 当场景中有比较复杂的模型时,条件渲染能够加速对复杂模型的渲染. 条件渲染(Conditio ...
- Android硬件加速(二)-RenderThread与OpenGL GPU渲染
Android4.0之后,系统默认开启硬件加速来渲染视图,之前,理解Android硬件加速的小白文简单的讲述了硬件加速的简单模型,不过主要针对前半阶段,并没怎么说是如何使用OpenGL.GPU处理数据 ...
- OpenGL分片渲染实现
通过OpenGL单机渲染的图片分辨率总是有限的(通常情况下viewPort的大小为2K或者更小),但随着计算机图形学的发展,超高分辨率图片的需求越来越大.为了解决这种供需之间的矛盾,通过一些数学计算, ...
- qt android opengl,案例:实现Qt和OpenGL混合渲染 | 求索阁
Qt自有一个绘图的引擎,这个引擎的核心就是QPainter,我们知道QPainter在渲染二维图形和文字有很大的优势,而OpenGL是当前流行的三维渲染器,怎样才能将两者结合起来,制作更为丰富的应用程 ...
- OpenGL 四边形渲染的实例
OpenGL 四边形渲染 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include <vmath.h> #include <string& ...
- OpenGL 分层渲染Layered Rendering的实例
OpenGL 分层渲染Layered Rendering 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include <string> #incl ...
最新文章
- ORACLE 数据的逻辑组成
- 数据对智慧城市建设 起到极大作用
- C# .net core 使用自定义的WebProxy
- 电子科技大学研究生计算机与科学,2019年电子科技大学计算机科学与工程学院考研复试分数线...
- 限时免费!Cell旗下 Heliyon 多学科特刊征稿
- 小程序中view的自定义属性获取
- 石油-美元金融体系的形成
- nginx的配置笔记
- [转载][FPGA]有限状态机FSM学习笔记(二)
- 1.8 centos7网络排错
- jQuery文档处理
- GO语言学习之路18
- /etc/init.d/functions详解
- 说三件可能你不知道的小事
- 西宾喜马拉雅语音下载工具(ximalayadown)
- RandomAccessFile发生java.io.FileNotFoundException
- IT行业职位分为六大类
- 【基于深度学习的脑电图识别】应用篇:DEEP LEARNING APPROACHES FOR AUTOMATIC ANALYSIS OF EEGS
- 用Android手机充当台式电脑的摄像头、麦克风和音箱
- Android基础-MMKV基本使用
热门文章
- ArrayList刷题总结
- Django基础,Day3 - 编写 django admin
- List接口实现类-ArrayList、Vector、LinkedList集合深入学习以及源代码解析
- Ubuntu Server 下的网络配置
- 【OpenCV学习】矩阵基本操作
- Hadoop Hbase适合存储哪类数据?(转)
- oracle 10G windows启动与关闭另类方法
- python37安装opencv41_Vs2019+opencv4.1.0+python3.7,包安装,vs2019opencv410python37,程序包
- Java黑皮书课后题第7章:7.9(找出最小元素)使用下面的方法头编写一个方法,求出一个整数数组中的最小元素。编写测试程序,提示用户输入10个数字,调用这个方法返回最小值,并显示这个最小值
- php中mysql函数和mysqli函数的用法区别