哈哈,花了兩天把POM完成,雖然我的愛機的配置很好,不過我還是按照了SM 2.0的規范寫的,雖然DirecxtX sdk那個是用SM 3.0寫的,效果帥多了....不過2.0的POM寫得花三個Pass,比較麻煩,所以我就實現它了~~
先傳圖把

寫的過程中遇到寫舊的錯誤,以前以為只是個小問題的,現在覺得該重視了,關于mul()函數的用法,都知道在線性代數里,矩陣和向量相乘必須首先滿足矩陣的行數等于向量的列數,其次乘運算時,向量在前矩陣在后。不過在看很多shader代碼的時候我發現,許多人都不注意這問題,而且在大部分情況下顛倒矩陣和向量的順序也是沒問題的。但我寫的時候就悲劇了。。。
譬如: Out.Position = mul( g_mWorldViewProjection, inPosition );
于是乎,顯示結果就很詭異:

我沒深入考慮這現象為何出現,不過覺得肯定與乘法順序有關,所以以后還是乖乖地按規則來了。。貼在此供路人參考了~~
原理過兩天補上,這兩天想實現的東西好多,大學的破課更多。。faint。。。