- 最后登录
- 2018-12-19
- 注册时间
- 2012-8-20
- 阅读权限
- 90
- 积分
- 54706
- 纳金币
- 32328
- 精华
- 41
|
4. 光照效果模拟 光照是舞台效果的关键因素,也是本设计系统核心的技术。渲染引擎提供了几种常用的灯光,比如点光源、方向光源和聚光灯。但是对于真实的舞台灯光效果模拟,这些是不够的。对于一些特殊的舞台灯光效果,比如体积光等,需要通过可编程渲染管线技术(shader) 来实现。shader有两种,一种是顶点级的,称为vertex shader(OpenGL称为ve吐白program) ,取代固定渲染管线中的变换和光照部分,程序员可以自己控制顶点变换、光照等。硬件中处理顶点shader的单元叫vertex shader processors (顶点处理单元)。一种是像素级的,称为pixel shader( OpenGL 称为fragment program) ,取代固定渲染管线中的光栅化部分,程序员可以自己控制像素颜色和纹理采样等。硬件中处理像素shader 的单元叫pixel shader processors (像素处理单元)。 为了使灯光的模拟更有真实感,还需要借助3D的光照方程来模拟计算。这里往往是一种近似的算法,但是它能达到一个很好的模拟效果和很快的运行速度。常见的光照模型有两种:全局光照模型和直接光照模型。本系统采用全局光照模型。全局光照模型是一个能很好的模拟真实感的光照模型。它可以同时考虑到光线照射到物体表面上产生的反射、折射、透射、阴影和物体相互间作用的光照效果。利用全局光照模型,需要模拟实际光线的传播过程和能量交换的辐射度。 对于光线跟踪,需要考虑光源的直接照射结果以及反射光对该点的照明效果,把两者综合起来:公式7 接下来计算辐射度,需要计算每个面片上的光照情况:
公式8 这里Ld是光源照射的光,T是光照传播因子,TLi是其他面片反射来的光照,L便是最终要求的光照值。【来源互联网】
更多精彩内容,尽在web3D纳金网http://www.narkii.com/club/commlist_139.shtml |
|