使用GI獲得柔和陰影
摘要: 所謂的GI可以簡單的理解為渲染一個像素的時候,就在那個像素的法向量位置渲染一個半球,統計并作為光源輸入。現在使用一個比較粗糙的平行光在天空盒上的投影函數:f(t)=cos(t)*4/(1-cos(a)),其中a是光斑夾角的一半。GI花了好長時間,圖如下:
閱讀全文
posted @
2009-01-30 06:54 陳梓瀚(vczh) 閱讀(2550) |
評論 (0) 編輯
修正了Fresnel,正確繪制高亮和凸多面體
摘要: 之前搞錯了一個fresnel公式,實際上全透明物體的fresnel公式應當如下:
f=入射角
t=出射角,有sint=sinf/n
新的factor=(sin2(f-t)/sin2(f+t)+tan2(f-t)/tan2(f+t))/2,這樣的話出現全反射的時候,factor=1。
閱讀全文
posted @
2009-01-28 00:27 陳梓瀚(vczh) 閱讀(2195) |
評論 (0) 編輯
重新使用Fresnel為材質建模并增加錐形
摘要: 由于之前的建模方法亂七八糟,現在使用一般的Fresnel方法為材質建模。這是一個處理折射和反射光比率的函數。計算方法如下:factor=bias+scale(1+I×N)^power,將factor剪裁之[0,1]范圍內之后,折射光/反射光比率為factor/(1-factor)。bias、scale與power是材質參數,需直接指定。
閱讀全文
posted @
2009-01-24 09:55 陳梓瀚(vczh) 閱讀(1779) |
評論 (0) 編輯
實現透明物體折射
摘要: 明天得開始研究別人是怎么處理材質的了。目前使用的方法是(反射來源×反射基準)×折射比率+(光源×材質顏色)×(1-折射比率)+[(折射來源+底面反射)×衰減+(1-衰減)]×透明物體內部顏色減。等材質完全做完之后,目前的渲染算法就可以為GI服務了。最后是計算混合的代碼:
閱讀全文
posted @
2009-01-22 06:02 陳梓瀚(vczh) 閱讀(2210) |
評論 (2) 編輯
孔子曰:三日不編程,食肉無味
摘要: 由于一時找不到題目寫,所以這兩天就搞了一個簡單的基于光線追蹤的軟件渲染器。準備花點時間做下去了。從昨天開始到現在實現的東西有反射、陰影、多光源、線性變換等。
閱讀全文
posted @
2009-01-19 00:48 陳梓瀚(vczh) 閱讀(4066) |
評論 (5) 編輯