Re: [問題] OGRE 程式匯入的mesh沒有立體感(陰影)?
看板GameDesign (遊戲設計)作者valkidy (.............)時間11年前 (2013/12/30 23:35)推噓1(1推 0噓 9→)留言10則, 2人參與討論串2/3 (看更多)
[恕刪]
個人經驗僅供參考:我猜是shader(也是material)的問題
請先確定你的執行環境有使用到shader
假設你的render system 是 d3d9RenderSystem
那麼執行目錄下請確定要有 cg.dll、D3DCompiler_43.dll、d3dx9_43.dll
(d3dx9、D3dCompiler 版號一致就好)
在開始執行的時候,請檢查你的輸出視窗有沒有以下訊息:
"已載入 'D:\xxx\bin\D3DCompiler_43.dll'"
有的話表示你的執行環境確實有在shader下運作
接著檢查資料,請檢查你的 material 理面有沒有使用到以下的 scheme
vertex_program_ref、fragment_program_ref
如果這些都有的話,我之前遇到一片黑的狀況通常是sahder compiler失敗了
那就看一下ogre.log
以下我只能列舉一下錯誤的關鍵字供參考:
OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource
"shader/errorpath/Base_VP.cg"
High-level program "Base_VP_HLSL" encountered an error during loading and is
thus not supported.
<= 找不到檔案(Base_VP.cg)的錯誤,所以shader Base_VP_HLSL 建不起來
OGRE EXCEPTION(3:RenderingAPIException): Cannot assemble D3D9 high-level
shader Base_FP_HLSL Errors:
D:\xxx\bin\memory"(23,2)": error X3000: syntax error:
unexpected token 'oColor'
in D3D9HLSLProgram::loadFromSource at
..\..\..\RenderSystems\Direct3D9\src\OgreD3D9HLSLProgram.cpp (line 281)
<= shader code 寫錯,請找這個檔案的第 23 行。上下文要自己判斷,這裡我是故意
少寫一個分號...。
補充說明一下,通常看到類似你附圖左下角的那種灰色,可以猜想是material的問題。
如果是一片黑,或是畫面破碎(也要是一片黑),那麼可以猜想是shader的問題。
....抱歉我打完才看到你提供的連結。看起來勢必要解決shader的問題了。
請你先試試看將從ply轉成oger mesh後,先為它設定 BaseWhiteNoLight 這個 material
model->setMaterialName("BaseWhiteNoLight");
應該會看到一個完整形體但是是灰色沒有深度的模型。接下來在試試看去解決你自己寫的
material在載入後產生的 exception
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.171.104.30
※ 編輯: valkidy 來自: 1.171.104.30 (12/30 23:38)
※ 編輯: valkidy 來自: 1.171.104.30 (12/30 23:49)
推
12/31 03:42, , 1F
12/31 03:42, 1F
→
12/31 03:42, , 2F
12/31 03:42, 2F
→
12/31 03:44, , 3F
12/31 03:44, 3F
→
12/31 03:45, , 4F
12/31 03:45, 4F
→
12/31 03:45, , 5F
12/31 03:45, 5F
→
12/31 03:46, , 6F
12/31 03:46, 6F
→
12/31 03:48, , 7F
12/31 03:48, 7F
→
01/01 12:27, , 8F
01/01 12:27, 8F
→
01/01 12:28, , 9F
01/01 12:28, 9F
→
01/01 12:31, , 10F
01/01 12:31, 10F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 3 篇):
GameDesign 近期熱門文章
PTT遊戲區 即時熱門文章