关于光照的一些说明

Cinematic Volume Rendering Technique (VRT)
“电影渲染”,使用基于物理性质的光扩散模拟,以生成逼真的人体图像
电脑渲染受到了电脑动画电影中使用的计算机绘图和 GPU 技术的启发,使用全局照明,通过数千条直接和间接光线制作出一张逼真的图像


光源:
1):环境光:环境光是一种低强度的光,由光线经过周围环境表面多次反射后形成的,利用环境光可以描述一块区域的亮度,通常在场 景中,环境光的颜色是一个常量.

2):太阳光:即定向光源,特点是从无穷远出发射光线,光线是平行的,光线强度不会随着距离衰减.

3):点光源:在有限空间内某个点上发出的光线,光线强度会随着距离衰减.衰减系数一般是距离的二次多项式倒数.

4):聚光灯:特点是有主照射方向,强度随着距离衰减,并且光线延着中心向外衰减.
漫反射
理想的漫反射表面把光线向所有方向均匀的散射,因此,这样的表面在所有观察者看来亮度都一样,理想的慢反射表面是如此粗糙,以至于向各个方向反射的光线强度都相等.这样的表面被成为Lambert表面(兰博特),OpenGL固定管线,或者Shader基于这个定律来建模.


光照与阴影
通过vtkVolumeProperty可以设置体绘制的阴影效果,阴影效果主要受环境光系数、散射光系数、反射光系数和高光强度4个参数影响。
SetDiffuse() //设置散射光系数(使具有立体感)
SetAmbient() //设置环境光系数(光的强度)
SetSpecular() //设置反射光系数(光滑度,明暗)
一般情况下,着三个系数之和为1.
高光强度系数用于控制体绘制外观平滑程度,使用SetSpecularPower()函数设置。
vtkVolumeProperty中默认是关闭阴影效果,因此需要显示调用ShadeOn()函数来打开阴影效果。

光线投射中,投射光线上的采样步长是一个很重的参数,设置函数:SetSampleDistance(float),步长越小,采样点越多,效果越好。但计算量变大。当数据变化剧烈时,应该减少采样步长以获得更好的效果。


光照模型
冯氏光照模型(Phong Lighting Model)。冯氏光照模型的主要结构由3个元素组成:环境(Ambient)、漫反射(Diffuse)和镜面(Specular)光照
环境光照(Ambient Lighting):即使在黑暗的情况下,世界上也仍然有一些光亮(月亮、一个来自远处的光),所以物体永远不会是完全黑暗的。我们使用环境光照来模拟这种情况,也就是无论如何永远都给物体一些颜色。
漫反射光照(Diffuse Lighting):模拟一个发光物对物体的方向性影响(Directional Impact)。它是冯氏光照模型最显著的组成部分。面向光源的一面比其他面会更亮。
镜面光照(Specular Lighting):模拟有光泽物体上面出现的亮点。镜面光照的颜色,相比于物体的颜色更倾向于光的颜色。

全局照明(Global Illumination)算法,但是这种算法既开销高昂又极其复杂。

环境光本身不提供最明显的光照效果,但是漫反射光照(Diffuse Lighting)会对物体产生显著的视觉影响

物体表面的光照颜色由入射光。物体材质,以及材质和光的交互规律共同决定的


猜你喜欢

转载自blog.csdn.net/yuxing55555/article/details/80969290
今日推荐