zoukankan      html  css  js  c++  java
  • 计算机图形学 补 光线跟踪


    局部光照明模型— 仅考虑对直接光的反射和折射的光照模型。
    整体光照明模型- 不仅考虑对直接光的反射和折射,还考虑对间接光的反射和折射(即考虑物体之间光照的相互作用)的模型。
    整体光照明模型处理方法:光线跟踪算法,辐射度方法。

    光传播的物理过程: 从光源发出的光遇到物体的表面,发生反射和折射,光就改变方向,沿着反射方向和折射方向继续前进,直到遇到新的物体。
    光线跟踪过程是光照明物理过程的近似逆过程.
    光源发出光线,经反射与折射,只有很少部分可以进入人的眼睛。
    最基本的光线跟踪算法:只跟踪镜面反射方向和折射方向的间接光。

    整体光照Whitted模型

    Whitted特别考察了光在物体间往复反射、折射引起的照明效果。Whitted认为物体表面向空间某方向V辐射的光亮度I由三部分组成:

     I=Ic+IsKs+I tKt

    Ic为简单光照模型计算结果
    Is为其它物体反射光,Ks为物体表面的镜面反射系数
    It为透射光, Kt为物体表面的透射系数

    光线跟踪技术是Whitted由光线投射技术发展的。从视点V向投影面上与像素e对应的点投射一光线, P1是该光线与场景中的物体相交的、离视点最近的点。


    按整体光照模型,计算P1点的光亮需要计算光源直接照射引起的反射光,源自其它物体的镜面反射光和规则透射光

    算法应用意义上的终止条件
    该光线未碰到任何物体
    光线在经过许多次反射和折射以后,就会产生衰减,光线对于视点的光强贡献很小

    光线跟踪算法实际上是光照明物理过程的近似逆过程.
    光线跟踪方向与实际光传播的方向相反。
    光线跟踪基本过程可以跟踪物体间的镜面反射光线和规则透射,模拟了理想表面间光的传播.

  • 相关阅读:
    这些哭笑不得的情景,每一个程序猿都可能面对
    创建并使用静态库(ar 命令)
    C++中typename和class的区别
    C++11 tuple
    c++ map与 qt QMap insert 区别
    各个函数消耗的时间profiling和内存泄漏valgrind
    Linux查看代码量
    Linux应用程序打包
    静态代码检查工具 cppcheck 的使用
    制作Linux下程序安装包——使用脚本打包bin、run等安装包
  • 原文地址:https://www.cnblogs.com/wander-clouds/p/11008732.html
Copyright © 2011-2022 走看看