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

Google
3D遊戲程式設計入門第18章心得[未解之疑問篇]

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


註冊時間: 2007-05-02
文章: 684

2639.56 果凍幣

發表發表於: 2010-3-9, AM 8:13 星期二    文章主題: 3D遊戲程式設計入門第18章心得[未解之疑問篇] 引言回覆

前言:此乃補丁文。只講解心得,不提供完整教學,有興趣的人請自行購買此書。
代碼:
書名:3D遊戲程式設計入門-使用DirectX 9.0實作
作者:Frank D. Luna
譯者:黃聖峰
出版社:博碩文化


在範例碼中我們可以看到
當頂點格式需要三個uv座標時
FVF只需要「 | D3DFVF_TEX3 」即可
而不需要同時「 | D3DFVF_TEX1 | D3DFVF_TEX2 | D3DFVF_TEX3 」
我以前一直以為是要三個都「|」…
主要也是因為以前沒有使用到一個以上的經驗

關於此範例中的D3DXCompileShaderFromFile函式:
代碼:
hr = D3DXCompileShaderFromFile(
   "ps_multitex.txt",
   0,
   0,
   "Main", // entry point function name
   "ps_1_1",
   D3DXSHADER_DEBUG,
   &shader,
   &errorBuffer,
   &MultiTexCT);

預設是用ps_1_1版本去編譯pixel shader
我分別用了兩台電腦做過測試
其中一台很正常的編譯過去了
另一台在執行時會出現含有以下錯誤資訊的dialog:
代碼:
error X3539: ps_1_x is no longer supported; use /Gec in fxc to automatically upgrade to ps_2_0
error X3539: Alternately, fxc's /LD option allows use of the old compiler DLL

我的解決辦法是把ps_1_1改成ps_2_0就可以成功編譯pixel shader
從錯誤資訊中看來似乎是可以藉由改變編譯設定參數來使用舊版的ps_1_1 shader compiler
不過我找不到修正的地方,還請有經驗的大大能指點一下該怎麼設定

話說書上所附的spotlight.bmp這個聚光燈光照圖的中間是黑的…
但是偏偏run出來的光照狀況很正常
這真是太神奇了
我試著用小畫家去修改它
發現只要做了任何一丁點的修改,然後把它儲存過一次
接著run出來的光照狀況就會發現中間是黑的
實在不太明白這張圖是被做過什麼手腳

在Setup函式的最後面我們做了
代碼:
MultiTexCT->SetDefaults(Device);

因為我很好奇這一行是否一定要放在最後面
所以試著把它移到了
代碼:
hr = Device->CreatePixelShader(
   (DWORD*)shader->GetBufferPointer(),
   &MultiTexPS);

這個區塊之前,也就是在MultiTexCT剛確定建好我就呼叫了SetDefaults
實驗結果證明這個呼叫不一定要放在最後面
只要建立好就可以呼叫了
因為run起來都是正常的
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
Dogeatyub
稍嫌羞澀的路人


註冊時間: 2015-09-17
文章: 2

10.71 果凍幣

發表發表於: 2015-9-17, PM 1:23 星期四    文章主題: 引言回覆

I think of what I would have used it at home.
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
從之前的文章開始顯示:   
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式高級班:DirectX、OpenGL及各種圖型函式庫 所有的時間均為 台灣時間 (GMT + 8 小時)
1頁(共1頁)

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


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