Refraction For MOGRE

  • 1210
  • 0
  • 2012-08-28

摘要: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加了, 也加了底圖,

但是底圖的選擇實在超出我的能力範圍....

 

 

Rz

 

 

 

  Rz     should work (hard)