建立自己的著色器程式
阿新 • • 發佈:2019-02-02
哈,第一個著色器程式,就弄個非常簡單,非常快就能夠看到效果的吧。就像學習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,它在這個階段需要採用哪一個模型,哪一個頂點結構對映。
新建立的頂點著色器,畫素著色器將會被新增一些預設的程式碼,可以新增自己的程式碼,不過現在還沒有到學習程式碼的階段,所以,就先使用預設的了。 5、點選 Preview Window,就出現效果了。
可以看看頂點著色器和畫素著色器中的程式碼,很簡單。嗯嗯,這個部分就介紹完了,貼紋理什麼的,等下午看看。。 嗯嗯,下面共享一個檔案,是我學習這個的資料。不過,資料很少,但是能夠讓我們瞭解一下其框架。 http://download.csdn.net/detail/smbluesky/7401961