➡️ 前篇
讀了CG 鼠書
書上把direct light和indirect light分開考慮
             
           | 
        
| 代碼來自 CG 鼠書 | 
direct light
    - 點光源單位是I
 - 面光源單位是L
 
indirect light
    - 用了蒙地卡羅和俄羅斯輪盤,光源單位是L
 - Render Equation的半球積分就是indirect light
 
直接光照 ➡️ 點光源
E擊中dAs = cos(θi) I / R2
| 
         | 
    
| 12.3 Point Lights | 
         
       | 
    
| 代碼來自 CG 鼠書 | 
         
       | 
    
| 代碼來自 CG 鼠書 | 
蒙地卡羅積分
間接光照
           
         | 
      
| 
          代碼來自 CG 鼠書 dω用了蒙地卡羅積分後就消失了(只取樣1個光源) u是介於0~1的亂數值 
          
            ρ 是俄羅斯倫盤,如果ρ是0.75
           
          
            當u>0.75 會return 0 也就是有25%的機會採樣失敗
           
          
            當u<0.75,return的值就要會做*1/ρ的修正
           
          
            (把採樣失敗的能量補回來)
           
         | 
      
看完程式碼後,可以發現
    
      半球積分時並沒有距離衰減項
    
    蒙地卡羅積分
      先不看ρ 
    
    
      最後會return  integrand *4π
    
    
      integrand *4π = integrand / (1/4π)
    
    
      就是只取樣1次函數值的蒙地卡羅積分
    
    
      機率密度函數 p(dω)=1/4π 
    
    俄羅斯倫盤






沒有留言:
張貼留言