(十四)OpenGL ES 3.0高级编程
2019-10-27 本文已影响0人
YongtaoHuang
本章讲解一些高级用法,利用OpenGL ES 3.0的可编程灵活性能够实现大量高级渲染技术。
逐片段照明
照明方程式
照明方程式.png
环境贴图
环境贴图的概念是在一个物体上渲染环境的反射。
使用点精灵的粒子系统
示例使用点精灵渲染例子爆炸,可以用顶点着色器实现例子系统动画。
使用变换反馈的粒子系统
可以使用OpenGL ES 3.0的变换反馈功能构造更加通用的基于GPU的粒子系统。
图像后处理
结合帧缓冲区对象和着色器,可以执行许多图像后处理技术,比如模糊、炫光等。
投影纹理
投影纹理是一种用于产生许多特效(如阴影贴图和反射)的技术。
使用3D纹理的噪声
3D纹理本质上使用2D纹理切片堆叠代表3D体。3D纹理有许多可用的用途,其中之一就是表现噪声。
过程纹理
过程纹理指的是以过程而非图像形式描述的纹理。这一过程描述了从给定的一组输入生成纹理颜色或者深度值得算法。
用顶点纹理读取渲染地形
《Advanced RenderMan: Creating CGI for Motion Pictures》全面解释了实现过程纹理得分析型抗锯齿得方法。
使用深度纹理的阴影
深度纹理以两遍渲染算法渲染阴影:
1、从光源得角度出发渲染场景。
2、从眼睛位置得角度出发渲染场景。
小结
本章介绍了使用包括立方图、法线贴图、点精灵、变换反馈、图像后处理、投影纹理、帧缓冲区对象、顶点纹理读取、阴影贴图等特性的渲染技术以及许多着色技术。