1. 程式人生 > >建立自己的著色器程式

建立自己的著色器程式

哈,第一個著色器程式,就弄個非常簡單,非常快就能夠看到效果的吧。就像學習C++時,輸出的hello world這般簡單吧。

繪製一個恆定著色的沒有紋理的茶壺,然後給它新增紋理和更多的顏色。

建立包含著色器程式的特效組

選擇Effect Group w/ OpenGL Effect,如果想用DirectX,可以選上面一個。沒什麼關係,我基本上只接觸OpenGL,而且只准備學習GLSL,so,我就選擇我的選擇了,哈哈。
完成上述後,就會發現預覽視窗已經有東西被渲染好了。這個不奇怪,Render Monkey會自動用一個小而簡單的著色器程式來填充特效組。得到結果如下:
不過咱們可是要從零開始構建,so,請把特效組下所有的結點給刪除吧。親親……刪除期間會有錯誤蹦出,別管他。。 1、新增渲染模型             我選了teapot.3ds,你要選什麼,看你了…… 2、頂點結構對映            教材上說的是:設定模型後,需要告訴Render Monkey模型的幾何資訊是如何被髮送給頂點著色器的。            預設的頂點結構對映只包含位置資訊,雙擊頂點結構對映,在彈出的對話方塊內可以新增其他的對映資訊,比如可以新增法線,紋理座標,對於當前要開發的shader 來說是足夠的了。            我只找到了stream mapping,好吧,感覺翻譯不對,還是什麼問題。不管了,往下走。            右擊Effects,新增stream mapping。雙擊,則出現對話方塊了,看看吧。我添加了法線和紋理座標。這個裡面按鈕的功能,大家根據字面意思應該懂吧。Add——新增,Reset重新設定,Usage不知道怎麼翻譯,不過下面選擇的是:頂點結構對映的資訊。後面的X是刪除,然後旁邊的上、下按鈕是調節其引數資訊的位置的。對點選一下就能夠發現了。

3、新增變數          因為此時我們的shader很基礎,只需要新增一個變數,即相機透視變換矩陣。          view-projection matrix,在圖形學中,是通過相機變化矩陣和透視變換矩陣相乘而得。          同樣步驟,右擊Effects,在Add variable中選擇matrix,->predefined,然後就可以選擇了view-projection matrix。 4、新增渲染pass          除了渲染pass,其他的元素都以齊全。         要新增一個渲染pass,右擊特效節點,選擇新增pass。         這樣就會為你建立一個新的pass,該pass 由預設引數進行填充(所謂預設,就是做頂點著色器最基本的步驟,即將物體變換到齊次裁剪空間)。          現在刪除這個pass 中的所有元素,我們來從0開始重新建立它的元素。          A     新增模型和頂點結構對映的引用                                  目的:需要告訴渲染pass,它在這個階段需要採用哪一個模型,哪一個頂點結構對映。                       
 可以直接新增模型以及頂點結構對映,也可以先新增Stream Mapping Reference和Model Reference,然後指定引用結點為任一你所擁有的結點,頂點結構對映也會一個道理。          B    新增頂點著色器程式碼和畫素著色器程式碼
                                   
                            新建立的頂點著色器,畫素著色器將會被新增一些預設的程式碼,可以新增自己的程式碼,不過現在還沒有到學習程式碼的階段,所以,就先使用預設的了。 5、點選 Preview Window,就出現效果了。


可以看看頂點著色器和畫素著色器中的程式碼,很簡單。嗯嗯,這個部分就介紹完了,貼紋理什麼的,等下午看看。。 嗯嗯,下面共享一個檔案,是我學習這個的資料。不過,資料很少,但是能夠讓我們瞭解一下其框架。  http://download.csdn.net/detail/smbluesky/7401961