摘要:Refraction For MOGRE
一開始就遇到了瓶頸
Mogre不知道為什麼, 對 Visibility Mask和Material Scheme 都沒有反應....
該畫的不畫, 該換Scheme的不換Scheme
後來, 把Compositor用C#寫一遍, 結果會當在OgreMain中, 以前在Mogre中Debug OgreMain的方法也找不到了...
經過一天的沈澱 漸漸的找出原因
首先Debug OgreMain.pdb的方法是把相同版本的 OgreMain.dll和OgreMain.pdb放在執行目錄, VS在執行的時候,
會一起載入, 可以在OUTPUT視窗看到
'AGuide.exe': Loaded 'D:\NewProject\Vladivostok\AGuide\AGuide\Runtime\OgreMain_d.dll', Symbols loaded.
相對的,如果找不到PDB檔, 會出現
'AGuide.exe': Loaded 'C:\Windows\System32\ws2_32.dll', Cannot find or open the PDB file
再來就是我原來程式中加了OIT難怪怎麼看怎麼怪. Scheme, VisibilityMask的設定都不正常
最後是 MOGRE自己難搞的地方
Mogre.CompositionTechnique.TextureDefinition_NativePtr definition = technique.CreateTextureDefinition("rt1");
definition.width = 0; // target width
definition.height = 0; // target height
definition.formatList = new Mogre.PixelFormatList { Mogre.PixelFormat.PF_A8R8G8B8 };
definition.fsaa = false;
definition.formatList 不是物件, 所以要用 new 一個 struct的方式產生 不然產生CompositorInstance的時候會因為formatList是空的而當掉
這個是目前的結果:
等等, 背景不是透明而是黑色, 而且, 到時候建築物變成水晶時, 後面要放什麼來展現扭曲的功能?
先解決前一個問題;
把Color層設成 A8R8G8B8, 以及CLEAR時填色(0,0,0,0) 於是後面的黑底消失了
現在看起來偏暗, 底部的花紋在旋轉的時候不動也很奇怪...
1.改Scene Blend
2.加EnvironmentMap
EnvironmentMap加了, 也加了底圖,
但是底圖的選擇實在超出我的能力範圍....
![]() |
|



