1. 程式人生 > >Shader 學習筆記 20151121

Shader 學習筆記 20151121

Segment 1 閱讀

今天啥也不重要,只要看下面幾個就好了,必須看的。

  • lit sphere 光照製作 https://vimeo.com/14030320
    工具:http://www.taron.de/ MaCrea v0.15 (windows only)

  • 建模工具
    Sculptris 和 Zbrush,真的是吊到爆炸

  • lit sphere lighting model 和 模型簡直絕配,請看下組圖。

    1,原始模型
    這裡寫圖片描述

    2,lit sphere ligting model
    這裡寫圖片描述

    3, 選擇剛建好的lit sphere lighting model
    這裡寫圖片描述

    4,實際效果
    這裡寫圖片描述

Segment 2 追加理解

  • 什麼是lit sphere lighting model?
    這裡寫圖片描述
    提前bake一個很花哨的2D texture,然後直接通過頂點的normal向量(在world space)去查這個2D texture,就完了。

  • lit sphere 唯一的缺點是啥?
    這裡寫圖片描述
    書裡面說到一點,因為lit sphere是提前bake好的,如果要換的話就只能整個texture都換。
    我覺得還有一個,就是當你的視點不動的時候,這個東西好用,如果你的視點要前後左右的看obj,給人的感覺就有點假了。

  • cube map reflection 和 lit sphere有啥區別?
    從演算法的本質上看,並沒有區別。都是通過向量和頂點normal去求一個座標,然後去查圖。區別是cube map reflection是用視點向量和normal先求出反射向量,然後拿這個反射向量當作座標去cube map查color值;lit sphere是直接使用頂點的normal向量(需要從切平面座標系轉換到world座標系)去查lit sphere map。

    從實際上看cube map在我們變換視角的時候(前後左右上下六個面),的的確確可以看到不同角度的反光,讓你感覺到obj是真的在世界裡面,它的表面真的在反射世界的景色。而lit sphere因為只拿normal向量當座標去找color,所以給人的感覺就好象光源方向(這個光源是light dir,不是玩家看到的真實光源,因為我們可以在畫lit sphere的時候把光斑隨便放一個位置,玩家看到的真實光源就在光斑那個方位)就是視點方向一樣。

    那麼他們之間的優缺點也就顯而易見了,cubemap模擬的更全面一些,特別在視點移動的時候。而lit sphere好處就是不耗資源但是效果也挺好,特別在模擬材質和反光的時候。見下圖。
    這裡寫圖片描述

  • normal 分別在cube map reflection 和 lit sphere裡面起到了什麼樣的關鍵作用?

    無比關鍵,每一個點用於查圖的座標都是有normal參與的。cube map使用normal和視點向量去計算反射向量,而lit sphere更不用說,直接用normal和座標軸夾角去算座標了。

    另外從人類的視覺直覺上看,normal就是一個特定的obj對光影和反光最最決定的因素!!!!!