電腦遊戲製作開發設計論壇 首頁 電腦遊戲製作開發設計論壇
任何可以在PC上跑的遊戲都可以討論,主要以遊戲之製作開發為主軸,希望讓台灣的遊戲人有個討論、交流、教學、經驗傳承的園地
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 

Google
[請益] 請教關於 Shader 與 Multi Texture Mapping 的問題

 
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式高級班:DirectX、OpenGL及各種圖型函式庫
上一篇主題 :: 下一篇主題  
發表人 內容
pleaselouis
時常出沒的會員


註冊時間: 2008-11-03
文章: 32

504.97 果凍幣

發表發表於: 2010-4-2, PM 12:54 星期五    文章主題: [請益] 請教關於 Shader 與 Multi Texture Mapping 的問題 引言回覆

大家好 小弟我又來請教各為前輩了... <(_ _)>



這次是想請教 Shader 與 Multi Texture Mapping 混合使用的問題 問題的緣由如下 :



-----



一開始 我寫了一個關於 Normal Map 的 Shader ...



此 Shader 需要兩張貼圖 一個是Mesh原本就要貼上去的貼圖 (定為 貼圖A)



另一個則是為了計算 Normal 的 Normal Map 貼圖 ... (定為 貼圖B)



但是我現在使用了 之前寫好的 Multi Texture Mapping 功能



對 貼圖A 做了一些特效運算 (譬如 跟其他貼圖 Blend 等等) ... 那麼請問



如何把經過 Multi Texture Mapping 運算的結果貼圖(定為 貼圖C) 導入到 Shader 內





因為單純把 貼圖A 與 貼圖B 導入到我寫好的 Shader



並不會出現我希望附加上去的 與其他貼圖的 Blend 效果 ...



必須把 貼圖C 與 貼圖B 導入到我寫好的 Shader 才是我要的結果



-----



原本我一開始想說 使用 GetRenderTarget() 取抓做完 Multi Texture Mapping 的貼圖



但是這樣好像只是把整個場景的畫面都抓下來 並不是只抓取我希望的運算結果貼圖 ...



之後又嘗試使用 GetTexture() 天真的以為只要指定好 Stage 參數



就可以取得每一個 Stage 做完該階層所設定的運算後的貼圖 結果證明 我又誤會了...



這樣只是單純取得 每一個 Stage 原先載入的貼圖 ... 到此我似乎已經想不到其他方法



因此上來請教各位前輩 希望指導一下小弟 大恩大德 感激不盡 謝謝 <(_ _)>
回頂端
檢視會員個人資料 發送私人訊息
waffenss
偶而上來逛逛的過客


註冊時間: 2008-10-17
文章: 8

14.39 果凍幣

發表發表於: 2010-7-28, PM 5:29 星期三    文章主題: 引言回覆

你要做的應該是,
第1個繪圖pass
先以A和其他貼圖(C)當材質, 然後畫到Renderable texture.
也就是畫到一張貼圖(RT1)上
A + C ---> RT1
然後把這個算出來的貼圖RT1, 再指定到下一次繪圖pass的貼圖單位.
怎麼把各Render textue指定回貼圖單位就是看引擎的做法了.
我只寫shader所以也不知道那是怎麼做.

第2個繪圖pass
把畫好的RT1當材質, 和B材質一起在Shader做混色.
畫到畫面上.
RT1 + B ---> Screen


以上的做法是類似例如每個frame把全場景都畫到一張2D圖RT1.
再當成Sphere map反射圖傳進角色shader運算的用法.
或是後製post effect效果....

不過如果兩個pass是同一個模型.
例如地版有base map , normal map, light map三張.
應該只要把三張貼圖一起給shader.
在裡面算三張如何混合就好了.
A + B +C --> Screen
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式高級班:DirectX、OpenGL及各種圖型函式庫 所有的時間均為 台灣時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
可以 在這個版面附加檔案
可以 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作