锘??xml version="1.0" encoding="utf-8" standalone="yes"?>1000精品久久久久久久久,一本久久知道综合久久,日韩一区二区福利http://m.shnenglu.com/richardhe/category/7539.html瀛︽棤姝㈠!姘歌繙瀛︿笅鍘?zh-cnWed, 01 Jul 2009 08:58:41 GMTWed, 01 Jul 2009 08:58:41 GMT60Ogre婧愮爜鍓栨瀽3鈥撳彲鎵╁睍鎬?amp;鎻掍歡鏈哄埗http://m.shnenglu.com/richardhe/articles/88911.htmlRichardHeRichardHeWed, 01 Jul 2009 05:54:00 GMThttp://m.shnenglu.com/richardhe/articles/88911.htmlhttp://m.shnenglu.com/richardhe/comments/88911.htmlhttp://m.shnenglu.com/richardhe/articles/88911.html#Feedback0http://m.shnenglu.com/richardhe/comments/commentRss/88911.htmlhttp://m.shnenglu.com/richardhe/services/trackbacks/88911.htmlOgre婧愮爜鍓栨瀽3–鍙墿灞曟?/span>&鎻掍歡鏈哄埗

 

Ogre鏄竴涓法鎿嶄綔緋葷粺騫沖彴鐨勫紑婧?D寮曟搸錛屾棦鏀寔DirectX錛屼篃鏀寔浣跨敤OpenGL錛屾敮鎸佸彲鏇挎崲鐨勫満鏅鐞嗙畻娉曪紙BSP, OCT錛夈備負Ogre鎻愪緵榪欎簺鐏墊椿鍙墿灞曟х殑鍩虹涔嬩竴灝辨槸鍏墮潰鍚戞彃浠剁殑璁捐銆?br>
 

寰堝甯哥敤鐨勮蔣浠跺ぇ閮芥彁渚涗簡鎻掍歡鎺ュ彛錛岀敤浠ユ墿灞曞簲鐢ㄧ▼搴忚璁¤呮渶鍒濇湭鎯沖埌鐨勫姛鑳斤紝姣旇緝甯歌鐨勮濡侾hotoShop鐨勬護闀滐紝After Effect涓殑鍚勭鎻掍歡錛堟渶鏈夊悕鐨勬瘮濡俿hine錛夛紝3dMax鐨勬彃浠惰濡傛覆鏌撳櫒錛岄瓟鍏戒笘鐣岀殑杈呭姪鎻掍歡絳夌瓑銆?br>
閫氬父錛屾彃浠舵湰韜氬父涔熼渶瑕佸疄鐜頒富搴旂敤紼嬪簭鎵闇瑕佺殑蹇呰鎺ュ彛錛屼粠鑰屼嬌寰楁彃浠跺彲浠ヨ搴旂敤紼嬪簭鍔犺澆鎵ц銆傛澶栵紝鎻掍歡鐨勫疄鐜頒篃闇瑕佺敱涓誨簲鐢ㄧ▼搴忔彁渚涗竴浜涙帴鍙pi錛岄氳繃榪欎簺鎺ュ彛錛屾彃浠跺彲浠ュ涓誨簲鐢ㄧ▼搴忕殑鍔熻兘榪涜璋冪敤銆?br>
鎻掍歡鍙互鏄姩鎬侀摼鎺ュ簱錛坵in32騫沖彴涓婁負DLL鏂囦歡錛夛紝涔熷彲浠ユ槸浠ヨ剼鏈殑褰㈠紡鎻愪緵鐨勶紝姣斿欖斿吔涓栫晫涓殑鎻掍歡灝辨槸浣跨敤lua緙栧啓鐨勶紝鎻掍歡涔熷彲鑳芥槸鏌愮搴旂敤紼嬪簭鑷畾涔夌殑鏂囦歡錛屽彧瑕佽搴旂敤紼嬪簭鎻愪緵浜嗗垱寤鴻綾繪枃浠剁殑鏂規硶騫跺疄鐜拌В鏋愩佹墽琛屽姛鑳藉嵆鍙傦紙涓嶅悓鐨勫疄鐜板艦寮忓悇鏈夊埄寮婏紝鍏蜂綋闇瑕佸弬鑰冩彃浠跺強搴旂敤紼嬪簭鎵澶勭殑榪愯鐜榪涜鍙栬垗錛?br>
閲囩敤鎻掍歡鐨勪竴涓法澶х殑濂藉錛屼互鍙婂緢澶氬簲鐢ㄧ▼搴忎腑浣跨敤鎻掍歡鐨勪富瑕佺洰鐨勫氨鏄紝鎴戜滑鍙互鍦ㄤ笉闇瑕佹敼鍔ㄥ簲鐢ㄧ▼搴忔湰韜殑鎯呭喌涓嬫墿灞曞簲鐢ㄧ▼搴忕殑鍔熻兘銆?br>
 

鍦∣gre涓紝鎻掍歡琚敤鏉ユ彁渚涙覆鏌撳瓙緋葷粺錛圧enderSystem錛夛紝涓嶅悓綾誨埆鐨勫浘褰PI琚皝瑁呭湪涓嶅悓鐨勬覆鏌撳瓙緋葷粺鐨勮綰垮綋涓紝Ogre榛樿鎻愪緵浜咲X鍜孫penGL鐨勫疄鐜幫紝鐢氳嚦錛屽鏋滄垜浠箰鎰忥紝鐢氳嚦鍙互鍙敤緇樼偣鍑芥暟瀹炵幇涓濂楃函杞歡鐨勬覆鏌撳瓙緋葷粺鎻愪緵緇橭gre浣跨敤銆備互姝や負渚嬶紝鐢ㄧ畝鍗曠殑褰㈠紡鏉ュ睍紺鴻繖縐嶅疄鐜板ぇ姒傜被浼間簬涓嬮潰榪欐牱錛?br>
class RenderSystem

{

         
// … operations that a render system need to support

};

// In DX_RenderSystem.dll (in plugin dx rendersystem )

class DX_RenderSystem : public RenderSystem

{

         
// … implementation & override of the operations from RenderSystem using DirectX

};

// In GL_RenderSystem.dll (in plugin openGL rendersystem)

class GL_RenderSystem : public RenderSystem

{

         
// … implementation & override of the operations from RenderSystem using OpenGL

};

// …. We could implement any other rendersystem as we like

 

鍦ㄥ紩鎿庣殑鍐呴儴錛圤greMain錛夛紝鎻掍歡鍦ㄥ垵濮嬪寲鐨勬椂鍊欙紝灝嗕竴涓覆鏌撳瓙緋葷粺鐨勫疄渚嬪垱寤哄嚭鏉ワ紙鍙兘鏄疍X_RenderSystem錛屼篃鍙兘鏄?nbsp;GL_RenderSystem錛屼篃鍙兘鏄叾浠栵級錛屽茍灝嗕箣鎸傛帴鍒癘greMain鐨凴oot瀵硅薄褰撲腑銆傛鍚庯紝OgreMain涓殑Root鎵鏈夌殑娓叉煋鎿嶄綔涔熷氨鍙互閫氳繃璇ユ帴鍙h闂彃浠朵腑鍒涘緩鐨勬覆鏌撳瓙緋葷粺浜嗐?br>
 

         鏈枃鎺ヤ笅鏉ュ垎鏋怬gre鏄浣曞疄鐜版彃浠剁殑錛屼互鍙婃彃浠舵槸濡備綍涓嶰greMain涓誨紩鎿庤繘琛岄厤鍚堢殑銆?br>
         浜嬪疄涓婏紝鎯崇紪鍐欎竴涓彃浠舵槸寰堢畝鍗曠殑錛屾垜浠彧闇瑕佺害瀹氬嚑涓帴鍙o紝鎻掍歡灝嗚繖浜涙帴鍙e疄鐜頒簡錛屼富搴旂敤紼嬪簭閫氳繃鏌愮鏈哄埗錛堥厤緗枃浠?/span>/閬嶅巻鏌愪釜鐩綍錛夊姞杞芥彃浠訛紝騫舵煡鎵炬帴鍙e湪鎻掍歡涓槸鍚﹁瀹炵幇浜嗭紝濡傛灉瀹炵幇浜嗭紝鍒欒皟鐢ㄤ箣鍗沖彲銆?br>
 

涓涓畝鍗曠殑渚嬪瓙濡備笅錛?br>
// in xx.dll

__declspec(dllexport) 
extern “C”    // __declspec(dllexport)鍛婄煡緙栬瘧鍣ㄩ渶瑕佸皢璇ュ嚱鏁板鍑?br>
                                                                 
// extern “C” 鍛婄煡緙栬瘧鍣ㄤ笉瑕佸鍑芥暟鍋欳++鍚嶅瓧閲嶆暣

const char* GetPluginName(void)

{

         
return “Test Plugin”;

}

 

// in application

HMODULE hInst 
= LoadLibrary(”xx.dll”);

if (!hInst) return;

typedef 
const char* (*GetPluginNameFunc)(void);

GetPluginNameFunc pFunc 
= GetProcAddress(hInst, “GetPluginName”);

if (!pFunc) return;

const char* szPluginName = pFunc();

// … do other things

 

浜嬪疄涓婏紝鍦–璇█閲岋紝鎴戜滑灝卞彲浠ラ氳繃榪欑鏂瑰紡錛岀害瀹氫竴濂楅渶瑕佸疄鐜扮殑鎺ュ彛錛屼氦緇欐彃浠跺疄鐜板嵆鍙傚湪榪欓噷錛屾彃浠剁殑鍔熻兘閮芥槸鍦╠ll涓疄鐜扮殑錛屾垜浠渶瑕佸姞杞?nbsp;dll錛屼繚瀛樺彞鏌勶紝騫跺湪鎻掍歡鍗歌澆鐨勬椂鍊欓噴鏀劇浉搴旂殑璧勬簮銆傚湪C
++涓紝鎴戜滑鏄劇劧鍙互鍋氱殑鏇村ソ涓鐐癸紝姣斿灝哾ll妯″潡鐩稿叧鐨勫姛鑳戒互鍙婅祫婧愬皝瑁呰搗鏉ワ細

 

class DynLib

{

public:

         
bool Load(const char* szPluginPath);

         
void* GetProcAddress(const char* szProcName);

private:

         HMODULE m_hInst;

};

 

bool DynLib::Load(const char* szPluginPath)

{

m_hInst 
= LoadLibrary(szPluginPath);

return m_hInst != NULL;

}

 

void* DynLib::GetProcAddress(const char* szProcName)

{

         
return ::GetProcAddress(m_hInst, szProcName);

}

 

榪欐牱涓鏉ワ紝鎴戜滑灝辨湁浜嗕竴涓狣LL鐨勭畝鍗曞皝瑁呫?br>
浣嗘槸涓涓猟ll閲屾湭蹇呭彧鑳芥湁涓涓彃浠訛紝鍋囪嫢鎴戜滑綆鍗曠殑鎶婃彃浠舵帴鍙h璁′負涓濂桟瀵煎嚭鍑芥暟錛屾垜浠氨涓嶅緱涓嶉潰瀵硅繖縐嶅眬闄愩傜粡鍏哥殑鍋氭硶渚濇棫鏄娊璞★紝Ogre涓畾涔変簡涓涓彃浠舵帴鍙o紝姣忎竴涓疄鐜頒簡鎻掍歡鎺ュ彛鐨勫疄渚嬮兘浠h〃浜嗕竴涓彃浠訛紝濡備笅錛?br>
 

class Plugin

{

public:

         
virtual const String& getName() = 0;

         
virtual void install() = 0;

         
virtual void initialize() = 0;

         
virtual void shutdown() = 0;

         
virtual void uninstall() = 0;

};

 

Ogre鐨勬瘡涓涓彃浠墮兘闇瑕佸疄鐜頒互涓婃帴鍙c傝鎺ュ彛鎻愪緵鐨勫姛鑳藉寘鎷細

install 鎻掍歡琚姞杞芥椂璋冪敤銆?br>
initialize 鎻掍歡琚垵濮嬪寲鏃惰皟鐢ㄣ?br>
shutdown 鎻掍歡琚弽鍒濆鍖栨椂璋冪敤銆?br>
uninstall 鎻掍歡琚嵏杞芥椂璋冪敤銆?br>
 

涓嶈繃錛屽崟鏈夎繖涓帴鍙o紝鎻掍歡榪樻槸鏃犳硶宸ヤ綔銆傛彃浠朵腑榪橀渶瑕佹彁渚涗袱涓害瀹氱殑C瀵煎嚭鍑芥暟銆傝繖涓◢鍚庡啀璇淬?br>
 

Ogre鍦≧oot瀵硅薄涓粺涓綆$悊鎻掍歡錛屽洜姝oot瀵硅薄鎻愪緵浜嗕互涓嬩笌鎻掍歡鐩稿叧鐨勬帴鍙o細

class Root

{

         
// …

void loadPlugin(const String& pluginName);

void unloadPlugin(const String& pluginName);

void installPlugin(Plugin* plugin);

void uninstallPlugin(Plugin* plugin);

// 浠ュ強瀵瑰簲鐨勫鐞嗗涓彃浠剁殑鎺ュ彛

         
// …

};

 

褰搇oadPlugin鍑芥暟琚皟鐢ㄦ椂錛孫gre灝嗗姞杞借鎻掍歡鐨刣ll錛屼粠涓煡鎵懼茍璋冪敤鍚嶄負dllStartPlugin鐨勫鍑哄嚱鏁般?br>
瀵瑰簲鐨勶紝褰搖nloadPlugin鍑芥暟琚皟鐢ㄦ椂錛孫gre灝嗕粠璇ll涓皟鐢╠llStopPlugin鍑芥暟銆傚茍灝嗚dll鍗歌澆銆?br>
 

姣忎釜鎻掍歡鍦ㄥ疄鐜扮殑鏃跺欙紝閮藉繀欏繪彁渚涗笂榪扮殑涓や釜C瀵煎嚭鍑芥暟銆傚叾涓紝dllStartPlugin璐熻矗鍒涘緩鎻掍歡瀹炰緥錛屽茍璋冪敤 Root::installPlugin錛屽皢鍒涘緩濂界殑鎻掍歡鎸囬拡浼犻掔粰Root瀵硅薄銆傚湪榪欓噷錛宒llStartPlugin瀹為檯鍙互鍒涘緩澶氫釜鎻掍歡瀹炰緥錛屽茍渚濇璋冪敤Root::installPlugin錛岃繖鏍鋒垜浠氨鍙互鍦ㄤ竴涓狣LL涓寘鍚涓彃浠朵簡銆傚湪dllStopPlugin鏃訛紝鍒欓渶瑕佽皟鐢?nbsp;Root::uninstallPlugin錛屽茍灝嗘彃浠禗LL涓垱寤虹殑plugin瀹炰緥閲婃斁鎺夈?br>
 

涓涓吀鍨嬬殑dllStartPlugin鐨勫疄鐜板儚榪欐牱錛?br>
 

class D3D9Plugin : public Plugin

{

         
//

};

 

D3D9Plugin
* plugin;

__declspec(dllexport) 
extern “C”

void dllStrartPlugin(void)

{

         plugin 
= new D3D9Plugin();

         Root::getSingleton().installPlugin(plugin);

}

 

__declspec(dllexport) 
extern “C”

void dllStopPlugin(void)

{

Root::getSingleton().uninstallPlugin(plugin);

delete plugin;

}

 

Root::getSingleton().installPlugin(plugin)浼氳礋璐h皟鐢ㄦ彃浠剁殑install浠ュ強initialise鎿嶄綔錛屽茍灝嗘彃浠剁殑鎸囬拡瀛樻斁璧鋒潵錛屼互澶囧嵏杞芥椂浣跨敤銆?br>
 

Plugin::install浠ュ強Plugin::initialise鍒欏垎鍒礋璐e垱寤篛greMain鎻愪緵鎵╁睍鍔熻兘鎺ュ彛鐨勫疄渚嬶紝浠ュ強灝嗗垱寤哄ソ鐨勫璞℃寕杞藉埌搴旂敤紼嬪簭褰撲腑銆?br>
 

涓涓吀鍨嬬殑Plugin鐨勮涓哄儚榪欐牱錛?br>
 

void BspSceneManagerPlugin::install()

{

         mBspFactory 
= new BspSceneManagerFactory();

}

 

void BspSceneManagerPlugin::initialise()

{

         Root::getSingleton().addSceneManagerFactory(mBspFactory);

}

 

鍏朵腑錛孊spSceneManagerFactory鏄戶鎵胯嚜OgreMain涓殑SceneManagerFactory鐨勬淳鐢熺被銆?br>
class BspSceneManagerFactory : public SceneManagerFactory {…} )

 

閫氳繃灝嗗満鏅鐞嗗櫒宸ュ巶娣誨姞鍒癛oot瀵硅薄褰撲腑錛屾彃浠跺姩鎬佺殑灝嗗叾鍔熻兘娣誨姞鍒頒簡OgreMain褰撲腑銆?br>
 

PS: SceneManagerFactory鏄竴涓敤浜庡垱寤篠ceneManager鐨勫伐鍘傘係ceneManager鍒欐槸琚敤浜庡満鏅鐞嗙殑綆$悊鍣ㄣ傚叿浣撶殑 SceneManager涔熸牴鎹畻娉曚笉鍚岃屼笉鍚岋紝Ogre鑷甫鎻愪緵浜嗕袱縐嶇被鍨嬬殑鍦烘櫙綆$悊綆楁硶鎻掍歡錛欱sp浠ュ強Octree(瀹炵幇浜嗕袱涓搴旂殑鎻掍歡錛屽垎鍒槸 Plugin_BSPSceneManager浠ュ強Plugin_OctreeSceneManager)銆?br>
 

閫氳繃涓婅堪鏂瑰紡錛孫greMain鏍稿績寮曟搸騫朵笉闇瑕佸叧蹇冨満鏅鐞嗙畻娉曠殑鍏蜂綋瀹炵幇錛屼笉闇瑕佸叧蹇冩覆鏌撳瓙緋葷粺鐨勫叿浣撳疄鐜幫紝涓嶉渶瑕佸叧蹇冪矑瀛愮郴緇熺殑鍏蜂綋瀹炵幇錛岀瓑絳夈備竴鍒囪繖浜涙墿灞曟х殑鍔熻兘閮介氳繃鎻掍歡瀹炵幇錛屽茍鍦ㄥ姞杞芥椂鍔ㄦ佹寕杞藉埌OgreMain褰撲腑錛屼緵OgreMain鐨勫紩鎿庢牳蹇冧嬌鐢ㄣ?br>
 

浣跨敤鎻掍歡鏃跺嚑涓渶瑕佹敞鎰忕殑鍦版柟錛?br>
1錛?nbsp; 璋冪敤鎻掍歡DLL鏂規硶鍒涘緩鐨勫璞¢渶瑕佷氦鐢辨彃浠禗LL閲婃斁銆傦紙鍥犱負涓嶅悓鐨勯摼鎺ュ崟鍏冨彲鑳藉叿鏈変笉鍚岀殑鍐呭瓨綆$悊涓婁笅鏂囩幆澧冿紝姝ゅ鐨刵ew涓庡郊澶勭殑new鍦ㄨ涔変笂鏈繀絳夊悓錛?br>
2錛?nbsp; 璋冪敤鎻掍歡DLL鏂規硶鑾峰彇鐨勬彃浠跺唴瀵硅薄鐨勫紩鐢ㄦ垨鎸囬拡錛屽湪鎻掍歡DLL鍗歌澆涔嬪悗灝辨槸鏃犳晥鐨勶紝蹇呴』淇濊瘉涓嶅啀浣跨敤銆傦紙姣旇緝瀹規槗寮曞彂闂鐨勪竴涓吀鍨嬩緥瀛愭槸浠庢彃浠朵腑浼犻掑洖涓涓紩鐢ㄨ鏁板瓧絎︿覆錛屽綋DLL琚嵏杞藉悗錛屽瓧絎︿覆鍐呮寚鍚戝疄闄呮暟鎹殑鎸囬拡宸茬粡鏃犳晥錛屼絾鏄湪璇ュ璞℃瀽鏋勬椂錛屼粛闇瑕佽闂鎸囬拡錛?/span>


RichardHe 2009-07-01 13:54 鍙戣〃璇勮
]]>
OGRE涓昏娓叉煋嫻佺▼綆浠?/title><link>http://m.shnenglu.com/richardhe/articles/68841.html</link><dc:creator>RichardHe</dc:creator><author>RichardHe</author><pubDate>Mon, 08 Dec 2008 06:07:00 GMT</pubDate><guid>http://m.shnenglu.com/richardhe/articles/68841.html</guid><wfw:comment>http://m.shnenglu.com/richardhe/comments/68841.html</wfw:comment><comments>http://m.shnenglu.com/richardhe/articles/68841.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/richardhe/comments/commentRss/68841.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/richardhe/services/trackbacks/68841.html</trackback:ping><description><![CDATA[<font size="5">OGRE涓昏娓叉煋嫻佺▼綆浠?/font> <p>                                    璋紵浜?nbsp;      feiyurainy@163.com</p> <p>                               杞澆璇鋒敞鏄庡嚭澶?/p> <p>    寰堟棭浠ュ墠灝辨兂鍐欎竴浜涘叧浜?span>OGRE</span><span>鐨勬枃绔犱簡錛屼竴鐩存病鏈轟細銆?/span> </p> <p><span>    鐞嗚В涓涓覆鏌撳紩鎿庯紝鎴戣寰楁渶閲嶈鐨勬槸鍏堟姄浣忎簡瀹冪殑涓繪灦鏋勶紝瀹冪殑涓葷嚎錛屾覆鏌撴祦紼嬶紝涓嶇劧鐨勮瘽錛屼竴涓紩鎿庡嚑涓囪錛岀敋鑷沖嚑鍗佷竾琛岀殑浠g爜錛屽厜鏄墦寮</span><span>solution</span><span>灝辮兘鍚撲綘涓璺充簡錛?/span><span>OGRE</span><span>涔熸湁鍗佸嚑涓囪鐨勪唬鐮侀噺錛屾垜涓寮濮嬬湅瀹冪殑鏃跺欎篃鏄棤浠庝笅鎵嬶紝鎰熻浠g爜澶浜嗭紝涓嶇煡閬撲粠鍝紑濮嬬湅濂斤紝榪欎釜</span><span>class</span><span>鐪嬬湅錛岄偅涓?/span><span>class</span><span>鐪嬬湅錛岀敱浜庡鏁翠釜寮曟搸娌℃湁涓涓竻鏅扮殑璁よ瘑錛岀湅榪囦簡涔熷嵃璞′笉娣憋紝鎵浠ワ紝鏈鍚庯紝榪樻槸鍐沖畾鍏堟壘鍑哄畠鐨勪富綰匡紝浜嗚В瀹冪殑娓叉煋嫻佺▼錛岃繖鏍鋒墠鑳芥湁鏈哄湴鎶婂悇涓儴鍒嗚仈緋昏搗鏉ャ?/span></p> <p><span>    榪欑瘒鐭枃涔熸槸瀵?/span><span>OGRE</span><span>鐨勪富瑕佹覆鏌撴祦紼嬬殑涓涓粙緇嶏紝鍙兘瀵逛竴浜?/span><span>class</span><span>涓嶄細澶鍦板幓浠嬬粛鍏蜂綋鐨勫疄鐜扮粏鑺傘傛垜鎵鐢ㄧ殑浠g爜閮芥槸鍙栬嚜浜?/span><span>OGRE</span><span>鐨勬渶鏂扮殑</span><span>CVS</span><span>鐗堟湰銆?/span></p> <p><span>    璇昏呮渶濂藉</span><span>OGRE</span><span>鏈変竴瀹氱殑浜嗚В錛岃嚦灝戝緱鐪嬫噦瀹冪殑</span><span>example</span><span>錛屼笉鐒跺彲鑳戒竴浜涗笢瑗跨悊瑙h搗鏉ユ瘮杈冨洶闅俱傚</span><span>D3D</span><span>錛?/span><span>OPENGL</span><span>鏈変竴瀹氫簡瑙f洿濂姐?/span></p> <p><span>    濡傛灉浣犵湅榪?/span><span>D3D SDK</span><span>涓甫鐨勪緥瀛愶紝浣犱竴瀹氱煡閬撲竴涓瘮杈冪畝鍗曠殑</span><span>3D</span><span>紼嬪簭瑕佽繍琛岃搗鏉ワ紝鑷沖皯閮戒細娑夊強浠ヤ笅鐨勫嚑閮ㄥ垎錛?/span></p> <p><span>    棣栧厛鏄暟鎹殑鏉ユ簮錛屽寘鎷《鐐規暟鎹紝綰圭悊鏁版嵁絳夛紝榪欎簺鏁版嵁鍙互浠庢枃浠朵腑璇誨彇錛屼篃鍙互鍦ㄧ▼搴忚繍琛屾椂鐢熸垚銆?/span></p> <p><span>    鎺ヤ笅鏉ワ紝鎴戜滑浼氬緩绔嬮《鐐圭紦鍐插尯鎶婇《鐐逛繚瀛樿搗鏉ワ紝寤虹珛</span><span>texture</span><span>瀵硅薄鏉ヨ〃紺?/span><span>texture</span><span>錛屽欏剁偣緇勬垚鐨勭墿浣撹緗畠鍦ㄤ笘鐣屽潗鏍囩郴涓嬬殑鍧愭爣錛岃緗憚鍍忔満鐨勪綅緗紝瑙嗙偣錛岃緗?/span><span>viewport</span><span>鐨勪綅緗拰澶у皬錛岀劧鍚庡氨鍙互鍦ㄦ覆鏌撳驚鐜腑寮濮嬭皟鐢ㄦ覆鏌撴搷浣滀簡錛岀粡榪囦簡</span><span>front buffer</span><span>鍜?/span><span>back buffer</span><span>鐨勪氦鎹紝鎴戜滑灝辮兘鍦ㄥ睆騫曚笂鐪嬪埌</span><span>3D</span><span>鍥懼艦浜嗭紝浼唬鐮佸涓嬶細</span></p> <p><span>      setupVertexBuffer</span></p> <p><span>      setWorldTransform</span></p> <p><span>      setCamera</span></p> <p><span>      setProjectionTransform</span></p> <p><span>      setViewport</span></p> <p>       <span>beginFrame</span></p> <p><span>      setTexture</span></p> <p><span>      drawObject</span></p> <p><span>      endFrame</span> </p> <p><span>     浠ヤ笅灝辨槸娓叉煋涓涓墿浣撶殑涓昏姝ラ錛屽湪鎴戠湅鏉ワ紝榪欏氨鏄?/span><span>3D</span><span>紼嬪簭鐨勪富綰匡紝鍚屾牱閬撶悊錛屾棤璁轟綘澶氬鏉傜殑娓叉煋寮曟搸錛岄兘寰楀疄鐜頒笂榪扮殑榪欎簺姝ラ錛屽叾浠栫殑涓浜涙晥鏋滃闃村獎錛屽厜鐓х瓑錛岄兘鏄檮鐫鍦ㄨ繖鏉′富綰夸笂鐨勶紝鎵浠ワ紝濡傛灉浣犺兘鍦ㄤ綘鎵鐮旂┒鐨勬覆鏌撳紩鎿庝笂涔熸竻鏅板湴鐪嬪埌榪欐潯涓葷嚎錛屽彲鑳藉浣犳繁鍏ュ湴鐮旂┒瀹冧細澶ф湁甯姪錛屼笅闈紝鎴戜滑灝變竴璧鋒潵鎵懼埌</span><span>OGRE</span><span>涓殑榪欐潯涓葷嚎銆?/span></p> <p><span>     OGRE</span><span>鐨勬覆鏌撳驚鐜兘鏄搗婧愪簬</span><span>Root::renderOneFrame</span><span>錛岃繖涓嚱鏁板湪</span><span>OGRE</span><span>鑷甫鐨?/span><span>example</span><span>涓槸涓嶄細鏄懼紡璋冪敤鐨勶紝鍥犱負</span><span>example</span><span>閮借皟鐢ㄤ簡</span><span>Root::startRendering</span><span>錛岀敱</span><span>startRendering</span><span>鏉ヨ皟鐢?/span><span>renderOneFrame</span><span>錛屽鏋滀綘鐢?/span><span>OGRE</span><span>鏉ュ啓鐪熸鐨勬父鎴忥紝鎴栬呯紪杈戝櫒錛屼綘鍙兘灝遍渶瑕佸湪鐨勬秷鎭富寰幆涓皟鐢?/span><span>renderOneFrame</span><span>浜嗭紝欏懼悕鎬濅箟錛岃繖涓嚱鏁板氨鏄鏁翠釜</span><span>OGRE</span><span>榪涜涓甯х殑鏇存柊錛屽寘鎷姩鐢伙紝娓叉煋鐘舵佺殑鏀瑰彉錛屾覆鏌?/span><span>api</span><span>鐨勮皟鐢ㄧ瓑錛屽湪榪欎釜鍑芥暟涓紝浼氬寘鎷簡鎴戜滑涓婅堪浼唬鐮佺殑鍑犱箮鍏ㄩ儴鍐呭錛屾墍浠ユ槸鏈枃鐨勯噸鐐規墍鍦ㄣ?/span></p> <p><span>     榪涘叆</span><span>renderOneFrame</span><span>錛屽彲浠ョ湅鍒板ご灝句袱涓?/span><span>fire</span><span>鍑芥暟錛岃繖縐嶅嚱鏁板湪</span><span>OGRE</span><span>涓粡甯稿嚭鐜幫紝涓鑸兘鏄?/span><span>fire…start</span><span>鍜?/span><span>fire…end</span><span>涓璧峰嚭鐜扮殑錛屽湪榪欎簺鍑芥暟涓紝鍙兘浼氬鐞嗕竴浜涚敤鎴瘋嚜瀹氫箟鐨勬搷浣滐紝濡?/span><span>_fireFrameStarted</span><span>灝變細瀵規墍浠ョ殑</span><span>frameListener</span><span>榪涜澶勭悊錛岃繖浜?/span><span>fire</span><span>鍑芥暟鍙互鏆傛椂涓嶇敤鐞嗕細錛岀戶緇湅</span><span>_updateAllRenderTargets</span><span>錛屽湪榪欎釜鍑芥暟涓紝浼氬媧懼綋鍓嶆墍鐢ㄧ殑</span><span>renderer</span><span>瀵規墍鏈夊垱寤哄嚭鏉ョ殑</span><span>render target</span><span>榪涜</span><span>update</span><span>錛?/span><span>render target</span><span>涔熷氨鏄覆鏌撶殑鐩殑鍦幫紝涓鑸細鏈変袱縐嶏紝涓縐嶆槸</span><span>render texture</span><span>錛屼竴縐嶆槸</span><span>render buffer</span><span>錛屾帴鐫榪涘叆</span><span>RenderSystem::_updateAllRenderTargets</span><span>錛屽彲浠ョ湅鍒板湪</span><span>render system</span><span>涓紝瀵瑰垱寤哄嚭鏉ョ殑</span><span>render target</span><span>鏄敤</span><span>RenderTargetPriorityMap</span><span>鏉ヤ繚瀛樼殑錛屼互渚挎寜鐓т竴瀹氱殑欏哄簭鏉ュ</span><span>render target</span><span>榪涜</span><span>update</span><span>錛屽洜涓哄湪娓叉煋鐗╀綋鍒?/span><span>render buffer</span><span>鏃訛紝涓鑸細鐢ㄥ埌涔嬪墠娓叉煋濂界殑</span><span>render texture</span><span>錛屾墍浠?/span><span>render texture</span><span>褰㈠紡鐨?/span><span>render target</span><span>闇瑕佸湪</span><span>render buffer</span><span>涔嬪墠榪涜鏇存柊銆?/span></p> <p><span>     榪涘叆</span><span>render target</span><span>鐨?/span><span>update</span><span>錛屽彲浠ョ湅鍒幫紝瀹冧粛鐒舵妸</span><span>update</span><span>鎿嶄綔緇х畫浼犻掍笅鍘伙紝璋冪敤鎵鏈夋寕鍦ㄨ繖涓?/span><span>render target</span><span>涓婄殑</span><span>viewport</span><span>鐨?/span><span>update</span><span>銆?/span></p> <p><span>     Viewport</span><span>鍏跺疄灝辨槸瀹氫箟浜?/span><span>render target</span><span>涓婄殑涓鍧楄榪涜鏇存柊鐨勫尯鍩燂紝鎵浠ヤ竴涓?/span><span>render target</span><span>鏄彲浠ユ寕澶氫釜</span><span>viewport</span><span>鐨勶紝浠ュ疄鐜板浜哄鎴樻椂鍒嗗睆錛屾垨鑰呮槸鐢諱腑鐢葷瓑鏁堟灉錛屽彲浠ユ妸</span><span>OGRE</span><span>涓殑</span><span>viewport</span><span>鐪嬫垚鏄繚瀛?/span><span>camera</span><span>鍜?/span><span>rendertarget</span><span>榪欎袱鑰呯殑緇勫悎錛屾妸</span><span>viewport</span><span>涓墍瀹氫箟鐨?/span><span>camera</span><span>鎵鐪嬪埌鐨勫満鏅唴瀹規覆鏌撳埌</span><span>viewport</span><span>鎵瀹氫箟鐨?/span><span>render target</span><span>鐨勫尯鍩熼噷銆?/span></p> <p><span>     Viewport</span><span>榪樻湁涓涓噸瑕佷俊鎭槸</span><span>ZOrder</span><span>錛屽彲浠ョ湅鍒?/span><span>RenderTarget</span><span>涓殑</span><span>ViewportList</span><span>甯︽湁涓涓瘮杈冨嚱鏁幫紝鎵浠ュ湪</span><span>RenderTarget::update</span><span>涓紝</span><span>ZOrder</span><span>瓚婂皬鐨勶紝瓚婂厛琚覆鏌擄紝鎵浠ワ紝濡傛灉涓や釜</span><span>viewport</span><span>鎵瀹氫箟鐨勫尯鍩熶簰鐩擱噸鍙犱簡錛岃屼笖</span><span>ZOrder</span><span>鍙堜笉涓鏍鳳紝鏈緇堢殑鏁堟灉灝辨槸</span><span>ZOrder</span><span>灝忕殑</span><span>viewport</span><span>鐨勫唴瀹逛細琚?/span><span>ZOrder</span><span>澶х殑</span><span>viewport</span><span>鐨勫唴瀹規墍瑕嗙洊銆?/span></p> <p><span>     緇х畫榪涘叆</span><span>Viewport::update</span><span>錛屽氨鍍忓墠闈㈡墍璇達紝瀹冭皟鐢ㄥ畠鎵寮曠敤鐨?/span><span>camera</span><span>鏉ユ覆鏌撴暣涓満鏅紝鑰屽湪</span><span>Camera::_renderScene</span><span>涓紝鏄皟鐢?/span><span>SceneManager::_renderScene(Camera* camera, Viewport* vp, bool includeOverlays)</span><span>銆?/span><span>SceneManager::_renderScene</span><span>閲屽氨鏄叿浣撶殑娓叉煋嫻佺▼浜嗐備粠鍑芥暟鍚嶇О榪樻湁鍙傛暟涔熷彲浠ョ湅鍑烘潵錛岃繖涓嚱鏁扮殑浣滅敤灝辨槸鍒╃敤鎵鎸囧畾鐨?/span><span>camera</span><span>鍜?/span><span>viewport</span><span>錛屾潵鎶婂満鏅腑鐨勫唴瀹規覆鏌撳埌</span><span>viewport</span><span>鎵鎸囧畾鐨?/span><span>render target</span><span>鐨勬煇鍧楀尯鍩熶腑銆傛牴鎹?/span><span>camera</span><span>錛屾垜浠彲浠ュ畾鍑?/span><span>view matrix</span><span>錛?/span><span>projection matrix</span><span>錛岃繕鍙互榪涜瑙嗛敟鍓旈櫎錛屽彧娓叉煋鐪嬪緱瑙佺殑鐗╀綋銆傛敞鎰忥紝鎴戜滑榪欓噷鍙湅鏍囧噯鐨?/span><span>SceneManager</span><span>鐨勬柟娉曪紝涓嶇湅</span><span>BspSceneManager</span><span>媧劇敓綾葷殑鏂規硶錛岃屼笖錛屾垜浠細鎶涘紑璺熶富綰挎棤鍏崇殑鍐呭錛屽瀵?/span><span>shadow</span><span>鐨?/span><span>setup</span><span>錛岄楠煎姩鐢葷殑鎾斁錛?/span><span>shader</span><span>鍙傛暟鐨勪紶閫掔瓑錛屽洜涓烘垜浠彧娉ㄩ噸娓叉煋鐨勪富嫻佺▼銆?/span></p> <p><span>     鍦?/span><span>SceneManager::_renderScene</span><span>涓墍搴旂湅鐨勭涓涓噸瑕佸嚱鏁版槸</span><span>_updateSceneGraph</span><span>錛?/span><span>OGRE</span><span>瀵瑰満鏅殑緇勭粐鏄氳繃鑺傜偣鏍戞潵緇勭粐鐨勶紝涓涓妭鐐癸紝浣犲彲浠ョ湅鎴愭槸絀洪棿涓殑鏌愪簺鍙樻崲鐨勭粍鍚堬紝濡備綅緗紝緙╂斁錛屾棆杞瓑錛岃繖浜涘彉鎹紝浼氫綔鐢ㄥ埌鎸傛帴鍦ㄨ繖浜涜妭鐐逛笂鐨勫叿浣撶殑鐗╀綋鐨勪俊鎭紝涔熷氨鏄錛岃妭鐐逛繚瀛樹簡</span><span>world transform</span><span>錛屽鍏蜂綋鐨勭墿浣擄紝濡備竴涓漢錛屽湪絀洪棿涓殑瀹氫綅錛岄兘鏄氳繃鎿嶄綔鑺傜偣鏉ュ畬鎴愮殑銆傚悓鏃惰妭鐐硅繕淇濆瓨浜嗕竴涓笘鐣屽潗鏍囩殑</span><span>AABB</span><span>錛岃繖涓?/span><span>AABB</span><span>鑳藉綰蟲墍鏈夊畠鎵鎸傛帴鐨勭墿浣撶殑澶у皬錛屼富瑕佹槸鐢ㄤ簬瑙嗛敟瑁佸噺鐨勶紝濡傛灉褰撳墠鎽勫儚鏈虹湅涓嶈鏌愪釜鑺傜偣鐨?/span><span>AABB</span><span>錛岄偅涔堣鏄庢憚鍍忔満鐪嬩笉瑙佽妭鐐規墍鎸傛帴鐨勬墍鏈夌墿浣擄紝鎵浠ュ湪娓叉煋鏃跺彲浠ュ榪欎釜鑺傜偣瑙嗚屼笉瑙併?/span></p> <p><span>     _updateSceneGraph</span><span>鐨勫唴閮ㄥ鐞嗘瘮杈冪箒鐞愶紝鎴戜滑鍙渶鐭ラ亾錛岀粡榪囦簡</span><span>_updateSceneGraph</span><span>錛屽満鏅妭鐐規爲涓殑姣忎釜鑺傜偣閮界粡榪囦簡鏇存柊錛屽寘鎷綅緗紝緙╂斁錛屽拰鏂逛綅錛岃繕鏈夎妭鐐圭殑鍖呭洿鐩掋?/span></p> <p><span>     緇х畫鍥炲埌</span><span>SceneManager::_renderScene</span><span>錛屾帴涓嬫潵瑕佺湅鐨勬槸</span><span>setViewport</span><span>錛屽畠浼氳皟鐢ㄥ叿浣撶殑</span><span>renderer</span><span>鐨?/span><span>setviewport</span><span>鐨勬搷浣滐紝璁劇疆</span><span>viewport</span><span>涓墍鎸傛帴鐨?/span><span>render target</span><span>涓哄綋鍓嶆墍瑕佹覆鏌撶殑鐩爣錛?/span><span>viewport</span><span>涓殑鍖哄煙涓哄綋鍓嶆墍瑕佹覆鏌撶殑鐩爣涓殑鍖哄煙銆?/span></p> <p><span>     鎺ヤ笅鏉ヨ紕板埌</span><span>OGRE</span><span>娓叉煋嫻佺▼涓殑涓涓噸瑕佺殑姒傚康錛?/span><span>Render Queue</span><span>銆傝繖涓笢瑗垮疄鍦ㄥ唴瀹規瘮杈冨錛岃繕鏄互鍚庢湁鏈轟細鍗曠嫭鎻愬嚭鏉ヨ鍚э紝浣犲彲浠ョ畝鍗曟妸瀹冩兂鎴愭槸涓涓鍣紝閲岄潰鐨勫厓绱犲氨鏄?/span><span>renderable</span><span>錛屾瘡涓?/span><span>renderable</span><span>鍙互鐪嬫垚鏄瘡嬈¤皟鐢?/span><span>drawprimitive</span><span>鍑芥暟鎵娓叉煋鐨勭墿浣擄紝鍙互鏄竴涓ā鍨嬶紝涔熷彲浠ユ槸妯″瀷鐨勪竴閮ㄥ垎銆傚湪</span><span>RenderQueue</span><span>涓紝瀹冧細鎸夋潗璐ㄦ潵鍒嗙粍榪欎簺</span><span>renderable</span><span>錛岃繕浼氬</span><span>renderable</span><span>榪涜鎺掑簭銆?/span></p> <p><span>     鍦ㄦ瘡涓嬈¤皟鐢?/span><span>SceneManager::_renderScene</span><span>鏃訛紝閮戒細璋冪敤</span><span>SceneManager::prepareRenderQueue</span><span>鏉ユ竻鐞?/span><span>RenderQueue</span><span>錛岀劧鍚庡啀璋冪敤</span><span>SceneManager::__findVisibleObjects</span><span>鏉ユ妸褰撳墠鎽勫儚鏈烘墍鑳界湅瑙佺殑鐗╀綋閮藉姞鍏ュ埌</span><span>RenderQueue</span><span>涓?/span></p> <p><span>     SceneManager::__findVisibleObjects</span><span>鏄竴涓掑綊鐨勫鐞嗚繃紼嬶紝瀹冧粠鍦烘櫙鐨勬牴鑺傜偣寮濮嬶紝鍏堟鏌ユ憚鍍忔満鏄惁鑳界湅瑙佽繖涓妭鐐圭殑鍖呭洿鐩掞紙鍖呭洿鐩掑湪</span><span>_updateSceneGraph</span><span>鏃跺凡緇忚綆楀ソ浜嗭級錛屽鏋滅湅涓嶈錛岄偅涔堣繖涓妭鐐癸紝榪樻湁瀹冪殑瀛愯妭鐐歸兘涓嶇敤綆′簡銆傚鏋滆兘鐪嬭錛屽啀媯嫻嬫寕鍦ㄨ繖涓妭鐐逛笂鐨勬墍鏈?/span><span>MovableObject</span><span>錛屽鏋滃綋鍓嶆墍媯嫻嬬殑</span><span>MovableObject</span><span>鏄彲瑙佺殑錛屽氨浼氳皟鐢ㄥ畠鐨?/span><span>_updateRenderQueue</span><span>鏂規硶錛屼竴鑸湪榪欎釜鏂規硶閲屽氨鍙互鎶婂拰榪欎釜</span><span>MovableObject</span><span>鐩稿叧鐨?/span><span>renderable</span><span>閫佸叆</span><span>RenderQueue</span><span>浜嗐?/span></p> <p><span>     榪欓噷瑕佽璇?/span><span>MovableObject</span><span>錛?/span><span>MovableObject</span><span>涓昏鏄敤浜庤〃紺哄満鏅腑紱繪暎鐨勭墿浣擄紝濡?/span><span>Entity</span><span>錛岄【鍚嶆濅箟錛岃兘縐誨姩鐨勭墿浣擄紝涓嶈繃瀹冪殑“鑳界Щ鍔?#8221;榪欎釜鑳藉姏鏄閫氳繃</span><span>SceneNode</span><span>鏉ュ疄鐜扮殑錛屾墍浠?/span><span>MovableObject</span><span>鏉ヨ兘鏄劇ず鍑烘潵錛岄鍏堝緱鍏堟寕鎺ュ湪鏌愪釜鍦烘櫙鑺傜偣涓婏紝閫氳繃鍦烘櫙鑺傜偣鏉ュ畾浣嶃備綘鍙互鎺у埗</span><span>MovableObject</span><span>鐨勪竴浜涘睘鎬э紝濡傛煇涓?/span><span>MovableObject</span><span>鏄惁瑕佹樉紺猴紝鏄惁瑕侀殣钘忥紝閮藉彲浠ラ氳繃</span><span>MovableObject::setVisible</span><span>鏂規硶鏉ュ疄鐜般?/span></p> <p><span>     媯嫻嬪畬璇ヨ妭鐐逛笂鐨?/span><span>MovableObject</span><span>涔嬪悗錛屽氨緇х畫璋冪敤鎵鏈夊瓙鑺傜偣鐨?/span><span>_findVisibleObjects</span><span>鏂規硶錛屼竴鐩撮掑綊涓嬪幓銆傝繖鏍鳳紝灝辮兘鎶婂満鏅腑鎵鏈夎娓叉煋鐨?/span><span>renderable</span><span>鎵鍔犲叆鍒?/span><span>RenderQueue</span><span>涓簡銆?/span></p> <p><span>     鑷蟲錛屾垜浠氨鎷ユ湁浜嗚娓叉煋鐨勭墿浣撶殑淇℃伅浜嗭紝鎺ヤ笅鏉ュ氨鏄榪欎簺鐗╀綋榪涜娓叉煋浜嗭紝浣犱細鍙戠幇璺?/span><span>D3D</span><span>鎴?/span><span>OpenGL</span><span>鐨勪唬鐮佸緢綾諱技鐨勮皟鐢細</span></p> <p><span><span>       </span>mDestRenderSystem->clearFrameBuffer</span></p> <p><span>      mDestRenderSystem->_beginFrame<span>    </span></span></p> <p><span><span>       </span>mDestRenderSystem->_setProjectionMatrix</span></p> <p><span><span>       </span>mDestRenderSystem->_setViewMatrix </span></p> <p><span><span>       </span>_renderVisibleObjects();</span></p> <p><span>      mDestRenderSystem->_endFrame();</span></p> <p><span>     榪欎簺</span><span>api</span><span>鐨勪綔鐢ㄥ拰</span><span>D3D</span><span>涓殑綾諱技璋冪敤鐨勪綔鐢ㄩ兘宸笉澶氾紝榪欓噷鍐嶈涓涓?/span><span>_renderVisibleObjects()</span><span>錛屽湪榪欎釜鍑芥暟涓紝浼氬</span><span>RenderQueue</span><span>涓殑姣忎釜</span><span>renderable</span><span>榪涜娓叉煋錛岀敤鐨勬槸</span><span>visitor</span><span>妯″紡鏉ラ亶鍘嗘搷浣滄瘡涓?/span><span>renderable</span><span>錛屾渶緇堝湪</span><span>SceneManager::renderSingleObject</span><span>涓彇鍑烘瘡涓?/span><span>renderable</span><span>鎵淇濆瓨鐨勯《鐐癸紝绱㈠紩錛屼笘鐣岀煩闃電瓑淇℃伅錛屾潵榪涜娓叉煋銆傝繖鍏朵腑榪樺寘鎷簡鏌ユ壘紱昏</span><span>renderable</span><span>鏈榪戠殑鍏夋簮絳夋搷浣滐紝姣旇緝澶嶆潅銆?/span></p> <p><span>     鍒拌繖閲岋紝</span><span>SceneManager::_renderScene</span><span>鐨勬祦紼嬪熀鏈蛋瀹屼簡錛屼篃灝辨槸璇達紝</span><span>OGRE</span><span>涓甯т腑鐨勬覆鏌撴祦紼嬪樊涓嶅涔熺粨鏉熶簡錛屼綘搴旇涔熷彂鐜幫紝榪欎釜嫻佺▼璺熶綘鐢?/span><span>D3D</span><span>鍐欎竴涓畝鍗曠▼搴忕殑嫻佺▼鍩烘湰鏄竴鏍風殑錛屽湪榪欎釜嫻佺▼鐨勫熀紜涓婏紝鍐嶅幓鐪嬪叿浣撶殑瀹炵幇錛屽鎬庝箞鏍瘋緗汗鐞嗭紝鎬庝箞鏍瘋皟鐢ㄤ綘鐔熸倝鐨?/span><span>D3D</span><span>鎴?/span><span>OpenGL</span><span>鐨?/span><span>API</span><span>鏉ユ覆鏌撶墿浣擄紝搴旇浼氱畝鍗曞緱澶氥?/span></p> <p><span>     瀵?/span><span>OGRE</span><span>鐨勬覆鏌撴祦紼嬬殑澶ф浠嬬粛鍒拌繖閲屼篃緇撴潫浜嗭紝寰堝緇嗚妭閮芥病娑夊強錛屼互鍚庢湁鏈轟細鍐嶅啓鍚с?/span></p><img src ="http://m.shnenglu.com/richardhe/aggbug/68841.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/richardhe/" target="_blank">RichardHe</a> 2008-12-08 14:07 <a href="http://m.shnenglu.com/richardhe/articles/68841.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鐢∣gre瀹炵幇鐢諱腑鐢?[ 鎴浘 ] http://m.shnenglu.com/richardhe/articles/57983.htmlRichardHeRichardHeMon, 04 Aug 2008 09:22:00 GMThttp://m.shnenglu.com/richardhe/articles/57983.htmlhttp://m.shnenglu.com/richardhe/comments/57983.htmlhttp://m.shnenglu.com/richardhe/articles/57983.html#Feedback2http://m.shnenglu.com/richardhe/comments/commentRss/57983.htmlhttp://m.shnenglu.com/richardhe/services/trackbacks/57983.html
鏅? 閫氭儏鍐典笅錛屾垜浠嬌鐢ㄥ崟涓鐨勬憚鍍忔満錛屽疄鐜扮涓浜虹О鎴栬呯涓変漢縐幫紝鏈夋椂鎴戜滑鐢ㄥ涓憚鍍忔満鍦ㄥ崟涓鐨勭獥鍙d腑鍒囨崲瑙嗚錛屾瘮濡備粠絎竴浜虹О鍒囨崲鍒扮涓変漢縐拌瑙掞紙娓告垙涓薄 瑙佷笉椴滐級錛岃岀敾涓敾灝嗕細鍚屾椂灞曠幇絎竴浜虹О鍜岀涓変漢縐幫紙鎴栬呯涓変漢縐頒笌絎笁浜虹О錛夛紝涔熷氨鏄鍚屾椂瀛樺湪涓嶅悓鐨勮瀵熺偣錛岃繖灝遍渶瑕佸紿楀彛澶氭憚鍍忔満鍒嗗埆榪涜娓叉煋銆?br>
鐢∣gre瀹炵幇鐢諱腑鐢誨姛鑳芥槸浠舵瘮杈冨鏄撶殑浜嬫儏錛岄鍏堬紝鎼緩涓涓櫘閫氱殑鍦烘櫙錛屽叧浜庤繖鏂歸潰鐨勫伐浣?a >www.ogre3d.org/wiki閲屾湁璇︾粏鐨勬暀紼嬶紝涓嶈禈榪頒簡銆?br>
涓嬮潰榪涘叆鍏抽敭閮ㄥ垎銆?br>
鍦∣gre閲屾憚鍍忔満Camera鍜岃鍙iewport鏄竴涓瀵瑰簲鐨勫叧緋伙紝鏅氭儏鍐典笅鍖呭惈涓涓憚鍍忔満瀵瑰簲涓涓鍙o紝鎴戜滑鍙娣誨姞鎽勫儚鏈哄拰涓庝箣瀵瑰簲鐨勮鍙e氨OK浜嗭紒

鎴戠殑紿楀彛綾婚噷鏄繖鏍烽厤緗甇gre鐨勶紝鍩烘湰鍜屾暀紼嬬ず渚嬮噷鐨勪竴鏍楓?br>
bool BaseApplication::setup(void)
{
    mRoot 
= new Root();
    
// 璁劇疆璧勬簮
    setupResources();
    
// 閰嶇疆娓叉煋紿楀彛
    bool carryOn = configure();
    
if (!carryOn) 
        
return false;

    
// 鍒涘緩鍦烘櫙綆$悊鍣?/span>
    chooseSceneManager();
    
// 鍒涘緩鎽勫儚鏈?/span>
    createCamera();
    
// 鍒涘緩瑙嗗彛
    createViewports();
    
// 璁劇疆緙虹渷 mipmap 絳夌駭
    TextureManager::getSingleton().setDefaultNumMipmaps(5);
    
// 鍒涘緩鎵鏈夎祫婧愮洃鍚櫒錛堜負浜嗗姞杞藉睆騫曪級
    createResourceListener();
    
// 鍔犺澆璧勬簮
    loadResources();
    
// 鍒涘緩鍦烘櫙
    createScene();
    
// 鍒涘緩甯х洃鍚櫒
    createFrameListener();

    
return true;
}


鍏朵腑錛?span style="color: #000000;">createCamera(); // 鍒涘緩鎽勫儚鏈?/span>   鍜?createViewports(); // 鍒涘緩瑙嗗彛 鏄垜浠渶瑕佸叧蹇冪殑銆?br>
createCamera()錛?/span>

void BaseApplication::createCamera(void)
{
 
// 涓葷獥鍙f憚鍍忔満
 mCamera_1 = mSceneMgr->createCamera("Cam_1");
 mCamera_1
->setPosition(Vector3(0,0,300));
 mCamera_1
->lookAt(Vector3(0,0,-300));
 mCamera_1
->setNearClipDistance(5);

 
// 鐢諱腑鐢繪憚鍍忔満
 mCamera_2 = mSceneMgr->createCamera("Cam_2");
 mCamera_2
->setPosition(Vector3(100,100,300));
 mCamera_2
->lookAt(Vector3(-100,-100,-300));
 mCamera_2
->setNearClipDistance(5);
}


createViewports()錛?br>

void BaseApplication::createViewports(void)
{
    
// 涓葷獥鍙?/span>
    Viewport* vp_1 = mWindow->addViewport( mCamera_1 );
    vp_1
->setBackgroundColour( ColourValue(0,0,0) );
    mCamera_1
->setAspectRatio(
        Real( vp_1
->getActualWidth() ) / Real( vp_1->getActualHeight() ) );
    
// 鐢諱腑鐢?/span>
    Viewport* vp_2 = mWindow->addViewport( mCamera_2, 1, 0.7, 0.05, 0.25, 0.25 );
    vp_2
->setBackgroundColour( ColourValue(0,0,0) );
    vp_2
->setOverlaysEnabled(false);
    mCamera_2
->setAspectRatio(
        Real( vp_2
->getActualWidth() ) / Real(vp_2->getActualHeight() ) );
}


鍦?/span>addViewport涓垜浠帶鍒剁敾涓敾瑙嗗彛鍦ㄤ富紿楀彛涓殑浣嶇疆鍜屽ぇ灝忥紙娉ㄦ剰榪欓噷鏄?锝?鐨勫彇鍊艱寖鍥達紝綾諱技浜庤創鍥懼潗鏍囷級

榪欐牱灝卞疄鐜頒簡涓嬪浘鎵紺烘晥鏋滅殑涓鍗婁簡銆?br>


鏄笉鏄緢閰鳳紵濡傛灉榪涗竴姝ヨ璁℃垚錛屽綋瑙﹀彂鏌愪竴浜嬩歡鏃跺皢鐢諱腑鐢葷獥鍙e姩鎬佺殑寮瑰嚭錛岄偅灝辨洿閰蜂簡錛佹湁鍏磋叮鐨勫彲浠ヨ瘯涓璇曪細P

濡傚浘鎵紺猴紝鎴戝彟澶栬繕鍒╃敤浜咰EGUI緇欑敾涓敾紿楀彛鍔犱簡涓竟妗嗭紝騫朵笖甯︿簡涓涓猚ombobox鐢ㄦ潵鎺у埗鏇村鎽勫儚鏈轟箣闂寸殑鍒囨崲錛孋EGUI鏄敤鑴氭湰鏉ュ畾涔夌晫闈㈢殑錛屽疄鐜頒篃姣旇緝綆鍗曘傛湁鍏矯EGUI閮ㄥ垎鐨勪粙緇嶏紝鍦╫gre wiki涓婃湁鏇磋緇嗙殑鏁欑▼銆?br>
#end
 

posted on 2007-05-22 10:59 hitmaen 闃呰(762) 璇勮(2)  緙栬緫 鏀惰棌 寮曠敤 鎵灞炲垎綾? Ogre

璇勮

# re: [ 璇曢獙 ] 鐢∣gre瀹炵幇鐢諱腑鐢?[ 鎴浘 ] 2007-05-22 16:14 涓囪繛鏂?/a>

楣扮溂錛屽皬鍦板浘錛燂紵  鍥炲  鏇村璇勮   

# re: [ 璇曢獙 ] 鐢∣gre瀹炵幇鐢諱腑鐢?[ 鎴浘 ] 2007-05-22 19:05 hitmaen

@涓囪繛鏂?
楣扮溂鏄粈涔堬紵涓嶆槸鎸囧皬鍦板浘錛岀帺涓鐜╄窇璺戝崱涓佽濺灝辨槑鐧芥垜璇寸殑鐢諱腑鐢繪槸浠涔堜簡  鍥炲  鏇村璇勮  


RichardHe 2008-08-04 17:22 鍙戣〃璇勮
]]>
Overlay涓枃鏄劇ずhttp://m.shnenglu.com/richardhe/articles/57981.htmlRichardHeRichardHeMon, 04 Aug 2008 09:02:00 GMThttp://m.shnenglu.com/richardhe/articles/57981.htmlhttp://m.shnenglu.com/richardhe/comments/57981.htmlhttp://m.shnenglu.com/richardhe/articles/57981.html#Feedback0http://m.shnenglu.com/richardhe/comments/commentRss/57981.htmlhttp://m.shnenglu.com/richardhe/services/trackbacks/57981.html榪戞棩寰堝鏈嬪弸鍜ㄨOverlay涓枃鏄劇ず闂錛屽洖絳旂殑澶氫簡鎯崇儲鎬у啀鍐欎釜鏂囨。綆椾簡錛屾斁鍦ㄧ綉涓婂叡浜紝浜庢槸灝辨湁浜嗘湰綃囥?span lang="EN-US">

       鍦?span lang="EN-US">Ogre1.2.5鐗堟湰涓紝閫氳繃涓?span lang="EN-US">Ogre瀹樻柟璁哄潧鐨勫紑鍙戣呰璁哄疄鐜頒簡Overlay鐨勪腑鏂囨樉紺猴紝褰撳垵鐨勫疄鐜伴潪甯哥殑鎬紓錛屽叿浣撶殑瀹炵幇鍙互鍙傝Ogre瀹樻柟璁哄潧銆?span lang="EN-US">

闅忕潃Ogre鐨勬洿鏂幫紝鐜板湪Ogre宸茬粡鍙戝竷浜?span lang="EN-US">1.4.7錛?span lang="EN-US">1.4緋誨垪鐗堟湰鏈変竴涓噸瑕佺殑鏀硅繘錛屽氨鏄姞鍏ヤ簡UTFString錛岃繖涓?span lang="EN-US">Ogre涓枃鏄劇ず浜堜互寰堝ぇ鐨勫府鍔┿備負浜嗕究浜庢紨紺猴紝鎴戠洿鎺ヤ嬌鐢?span lang="EN-US">Ogre鑷甫鐨?span lang="EN-US">Overlay錛屼篃灝辨槸澶у鐔熸倝鐨?span lang="EN-US">DebugOverlay錛屾祴璇曞伐紼嬫垜閫夋嫨Demo_ParticleFX錛岄夋嫨鍏朵粬鐨勪篃娌℃湁鍏崇郴銆傜幇鍦ㄧ紪璇戝畠錛岃繍琛屽悗寰楀埌涓嬪浘錛?span lang="EN-US">


鍥劇殑鏈宸︿笅瑙掓樉紺虹殑灝辨槸鑻辨枃DebugOverlay錛屾帴涓嬫潵鎴戜滑鐨勪換鍔″氨鏄妸瀹冪紪紼嬩腑鏂囩殑錛?span lang="EN-US">^_^
銆?span lang="EN-US">

Overlay涓枃鍖栨搷浣滄楠ゅ涓?span lang="EN-US">

1.      鎵撳紑OgreSDK\media\packs\ OgreCore.zip銆?span lang="EN-US">

2.      鎵撳紑C:\WINDOWS\Fonts錛屾妸simhei.ttf娣誨姞鍒?span lang="EN-US">OgreCore.zip錛岋紙浠涔堬紝娌℃湁simhei.ttf榪欎釜鏂囦歡錛岄偅灝辮繕鍏朵粬鐨勪腑鏂?span lang="EN-US">ttf瀛椾綋鍚э級銆?span lang="EN-US">

3.      鎵撳紑OgreCore.zip涓殑Ogre.fontdef錛岄噷闈㈡湁BlueHighway榪欎釜瀛椾綋瀹氫箟鍧楋紝鍦ㄤ粬鐨勪笅闈㈡坊鍔犳垜浠殑SimHei錛?span lang="EN-US">code_points閲岄潰鐨勪竴澶у爢鏁板瓧鐪嬩笉鏄庣櫧娌″叧緋伙紝闅忓悗鏂囩珷浼氳В閲娿?span lang="EN-US">

SimHei

{

       type             truetype

       source         simhei.ttf

       size              16

       resolution   96

       code_points 33-166 24403-24403 21069-21069 24103-24103 36895-36895 29575-29575 24179-24179 22343-22343 26368-26368 39640-39640 20302-20302 19977-19977 35282-35282 24418-24418 25968-25968 37327-37327 25209-25209 27425-27425

}

4.      鎵撳紑OgreCore.zip涓殑OgreDebugPanel.overlay錛屾妸BlueHighway鍏ㄩ儴鏇挎崲鎴?span lang="EN-US">SimHei錛屾垜浠浣跨敤涓枃瀛椾綋浜嗭紝鍢垮樋銆?span lang="EN-US">

5.      淇敼瀹屾垚鍚庯紝紜繚鎵鍋氱殑淇敼宸茬粡淇濆瓨鍒?span lang="EN-US">OgreCore.zip銆?span lang="EN-US">

6.      榪涘叆Ogre瑙e喅鏂規錛屾墦寮鏂囦歡ExampleFrameListener.h錛屾妸54-59琛岀殑浠g爜鏇挎崲濡備笅錛?span lang="EN-US">

              static String currFps = "Current FPS: ";

              static String avgFps = "Average FPS: ";

              static String bestFps = "Best FPS: ";

              static String worstFps = "Worst FPS: ";

              static String tris = "Triangle Count: ";

       static String batches = "Batch Count: ";

 

              static DisplayString currFps = L"褰撳墠甯ч熺巼: ";

              static DisplayString avgFps = L"騫沖潎甯ч熺巼: ";

              static DisplayString bestFps = L"鏈楂樺撫閫熺巼: ";

              static DisplayString worstFps = L"鏈浣庡撫閫熺巼: ";

              static DisplayString tris = L"涓夎褰㈡暟閲?span lang="EN-US">: ";

              static DisplayString batches = L"鎵規: ";

7.      鏈鍚庨噸鏂扮紪璇戝伐紼嬶紝涓嬮潰鏄垜榪愯鐨勬埅鍥撅紝鏄笉鏄凡緇忔樉紺轟腑鏂囦簡錛?span lang="EN-US">^_^銆?span lang="EN-US">


鐜板湪鍐嶆潵鐪嬬湅SimHei涓殑code_points鏄浣曠敓鎴愮殑錛岃繖涓彲浠ュ弬鑰冩垜涓婃鍐欑殑榪欑瘒鏂囩珷http://www.cnblogs.com/gogoplayer/archive/2008/05/09/1189795.html錛岃嚦姝わ紝瀹炵幇Overlay涓枃鏄劇ず銆?/span>

杞澆璇鋒敞鏄庡嚭澶勶細

浣滆咃細gogoplayer

E-mail : gogoplayer@163.com

QQ : 78939328

http://www.gogoplayer.com.cn

RichardHe 2008-08-04 17:02 鍙戣〃璇勮
]]>
Ogre鍛戒護琛屽伐鍏峰寘浣跨敤璇存槑http://m.shnenglu.com/richardhe/articles/57669.htmlRichardHeRichardHeThu, 31 Jul 2008 12:12:00 GMThttp://m.shnenglu.com/richardhe/articles/57669.htmlhttp://m.shnenglu.com/richardhe/comments/57669.htmlhttp://m.shnenglu.com/richardhe/articles/57669.html#Feedback0http://m.shnenglu.com/richardhe/comments/commentRss/57669.htmlhttp://m.shnenglu.com/richardhe/services/trackbacks/57669.htmlOgre鍛戒護琛屽伐鍏峰寘浣跨敤璇存槑

鏈枃妗g敱 鑷敱楠戝+絎冨織 緲昏瘧鏁寸悊,鐗堟潈灞炰簬OgreTeam銆傝漿杞借鍖呭惈鏈淇℃伅銆?/span>

 

榪欎釜宸ュ叿鍖呭寘鍚簡涓浜涘Ogre璧勬簮鏂囦歡榪涜鎿嶄綔鐨勯澶勭悊鍛戒護琛屽伐鍏楓?/span>

瀹冨寘鎷?/span>OgreXMLConveter, OgreMeshUpgrade, OgreMaterialUpgrade鍜?/span>MeshMagick銆?/span>

鎮ㄥ彲浠ュ湪榪欓噷鑾峰緱鍏?/span>WindowsV1.4.7鐗堟湰鐨勪笅杞?/span>,鎴栬呭湪榪欓噷鑾峰彇鍏?/span>MacOSXV1.4.0鐗堟湰鐨勪笅杞姐備互涓婁袱涓増鏈潎鏄?/span>2008騫?/span>3鏈?/span>6鏃?/span>鐨勭増鏈紝鍗寵瘧鑰呰繘琛岀炕璇戠殑鐗堟湰錛岃嫢闇瑕佹洿澶氫俊鎭拰鏇存柊鐨勭増鏈紝鍙互璁塊棶Ogre瀹樻柟銆?/span>

.[OgreXMLConveter]

OgreXML杞崲鍣ㄨ兘澶熷皢 .mesh 妯″瀷緗戞牸鏂囦歡 鍜?/span> .skeleton 楠ㄩ鏂囦歡 鐢?/span>XML鏍煎紡杞崲涓轟簩榪涘埗鏍煎紡錛屽悓鏃跺彲浠ュ皢鍏朵簩榪涘埗鏍煎紡杞崲鍥?/span>XML鏍煎紡銆傚畠鍚屾椂涔熷厑璁鎬綘鍦ㄥ皢XML鏍煎紡杞崲涓轟簩榪涘埗鏍煎紡鏃惰緗?/span>LOD灞傜駭淇℃伅銆?/span>

濡傛灉浣犵殑Ogre鑴氭湰璧勬簮涓師鏈嬌鐢ㄧ殑灝辨槸XML鏍煎紡鏂囦歡鐨勮瘽錛岄偅涔堟湰宸ュ叿鍒欐槸Ogre榪愯鏃跺繀欏葷殑銆傛墍浠ヤ綘鑳藉鍦?/span>OgreSource鍖呯殑Tools/XMLConverter涓壘鍒板畠銆?/span>

 

浣跨敤鏂規硶錛?/span>

OgreXMLConverter 鎿嶄綔閫夐」 婧愭枃浠惰礬寰?/span> 鐩爣鏂囦歡璺緞

 

鏈夌敤鐨勬搷浣滈夐」鍖呮嫭錛?/font>

-i            =  鎺у埗涓庡懡浠よ銆?/span>

-l  nLODNum  = 鎸囧畾鎬?/span>LOD灞傜駭 ( 璇ラ」浠呭湪XML鏍煎紡杞崲涓?/span>Mesh鏍煎紡鏃舵湁鏁?/span> )

-d  nLODDis  = 鎸囧畾LOD灞傜駭闂寸殑璺濈澧炲箙 ( 璇ラ」浠呭湪XML鏍煎紡杞崲涓?/span>Mesh鏍煎紡鏃舵湁鏁?/span> )

-p  nLODPer  =  鎸囧畾姣忎袱綰?/span>LOD灞備箣闂翠笁瑙掗潰鍑忓皯鐧懼垎姣?/span> ( 璇ラ」浠呭湪XML鏍煎紡杞崲涓?/span>Mesh鏍煎紡鏃舵湁鏁?/span> )

-f  nLODNum  =  鎸囧畾涓ょ駭LOD灞備箣闂寸殑鍥哄畾欏剁偣鍑忓皯閲?/span> ( 璇ラ」浠呭湪XML鏍煎紡杞崲涓?/span>Mesh鏍煎紡鏃舵湁鏁?/span> )

-e            =  鍏抽棴妯$増闃村獎鐨?/span>edge琛?/span> ( 褰撲嬌鐢ㄦā鐗堥槾褰辨椂璇ラ」鎵嶆湁鏁?/span> )

-r            =  鍏抽棴Ogre鎺ㄨ崘鐨勯《鐐圭紦鍐插尯鏍煎紡銆?/span>

-t             =  涓烘硶綰胯創鍥劇敓鎴愬垏綰夸俊鎭?/span> ( 褰撲嬌鐢ㄦ硶綰胯創鍥炬椂璇ラ」鎵嶆湁鏁?/span> )

-o            =  鍏抽棴鍐椾綑鍏抽敭妗㈠拰榪愬姩杞ㄨ抗鐨勫墧闄?/span>

-d3d          =  浼樺厛浣跨敤D3D榪涜棰滆壊鏍煎紡鐨勫~鍏?/span> ( 鍦?/span>Windows騫沖彴涓粯璁よ欏瑰紑鍚?/span> )

-gl           =  浼樺厛浣跨敤GL榪涜棰滆壊鏍煎紡鐨勫~鍏?/span> ( 鍦ㄩ潪Windows騫沖彴涓粯璁よ欏瑰紑鍚?/span> )

-E endian      =  璁劇疆endian妯″紡錛屽彲浠ラ夋嫨big, little 鎴?/span> native ( 榛樿涓?/span>native )

-q            =  杞婚噺妯″紡錛屽噺灝戣緭鍑恒?/span>

-log filename   =  Log鏂囦歡鍚嶇О銆傦紙榛樿涓?/span>OgreXMLConverter.log錛?/span>

.[OgreMeshUpgrade]

榪欎釜宸ュ叿鑳藉灝嗕綘鐨勪換浣曡佺増鏈殑 .mesh 鏂囦歡鏇存柊鍒板綋鍓嶇増鏈殑 .mesh 鏂囦歡銆?/span>

浣犲彲浠ュ湪Ogre.log鏂囦歡涓緱鍒?/span>.mesh鏂囦歡鐨勭増鏈俊鎭備竴鑸潵璇達紝Ogre鍙互榪愯鑰佺増鏈殑.mesh鏂囦歡錛屼絾鏄ц兘涓婁細鏈変竴浜涘樊鍒傚鏋滀綘鏇存柊浜?/span>Ogre鐨勫叾浠栭儴鍒嗭紝浣犲敖閲忓簲褰撳皢.mesh鏂囦歡鏇存柊涓哄悓鏍風殑鐗堟湰銆?/span>

 

浣跨敤鏂規硶錛?/span>

OgreMeshUpgrate 鎿嶄綔閫夐」 婧愭枃浠惰礬寰?/span> 鐩爣鏂囦歡璺緞

 

鏈夌敤鐨勬搷浣滈夐」鍖呮嫭錛?/font>

-i            =  鎺у埗涓庡懡浠よ銆?/span>

-l  nLODNum  = 鎸囧畾鎬?/span>LOD灞傜駭 ( 璇ラ」浠呭湪XML鏍煎紡杞崲涓?/span>Mesh鏍煎紡鏃舵湁鏁?/span> )

-d  nLODDis  = 鎸囧畾LOD灞傜駭闂寸殑璺濈澧炲箙 ( 璇ラ」浠呭湪XML鏍煎紡杞崲涓?/span>Mesh鏍煎紡鏃舵湁鏁?/span> )

-p  nLODPer  =  鎸囧畾姣忎袱綰?/span>LOD灞備箣闂翠笁瑙掗潰鍑忓皯鐧懼垎姣?/span> ( 璇ラ」浠呭湪XML鏍煎紡杞崲涓?/span>Mesh鏍煎紡鏃舵湁鏁?/span> )

-f  nLODNum  =  鎸囧畾涓ょ駭LOD灞備箣闂寸殑鍥哄畾欏剁偣鍑忓皯閲?/span> ( 璇ラ」浠呭湪XML鏍煎紡杞崲涓?/span>Mesh鏍煎紡鏃舵湁鏁?/span> )

-e            =  鍏抽棴妯$増闃村獎鐨?/span>edge琛?/span>

-r            =  鍏抽棴Ogre鎺ㄨ崘鐨勯《鐐圭紦鍐插尯鏍煎紡銆?/span>

-t             =  涓烘硶綰胯創鍥劇敓鎴愬垏綰夸俊鎭?/span>

-d3d          =  杞崲涓?/span>D3D棰滆壊鏍煎紡

-gl           =  杞崲涓?/span>GL棰滆壊鏍煎紡

-srcd3d       =  鑰佺増鏈殑mesh鏂囦歡涓?/span>D3D棰滆壊鏍煎紡

-srcgl        =  鑰佺増鏈殑mesh鏂囦歡涓?/span>GL棰滆壊鏍煎紡

-E endian      =  璁劇疆endian妯″紡錛屽彲浠ラ夋嫨big, little 鎴?/span> native ( 榛樿涓?/span>native )

 

娉ㄦ剰錛?/span>

榪欎釜宸ュ叿鐜板湪鍏佽浣犺嚜瀹氫箟閲嶇粍浣犵殑mesh緗戞牸鏂囦歡鐨勯《鐐規牸寮忋?/span>

濡傛灉浣犳兂鏇存柊0.15.0涔嬪墠鐨勪換鎰忎竴涓増鏈殑mesh錛岄偅涔堝湪璇ョ▼搴忚繍琛屾椂浼氶棶浣犳槸鍚﹀笇鏈涜繘琛岄《鐐規牸寮忕殑閲嶇粍錛屼綘杈撳叆’y’灝卞彲浠ヤ簡銆傚湪0.15.0鐗堟湰涔嬪悗鐨?/span>mesh鍦ㄦ洿鏂版椂浼氬厑璁鎬綘瀵硅mesh鍋氭洿澶氱殑鎿嶄綔錛氫緥濡傦紝浣犲彲浠ュ姣忎釜鐙珛妯″瀷鑺傜偣鐨勯《鐐規寚瀹氫笉鍚岀殑欏剁偣緇撴瀯錛屼綘鏃㈠彲浠ヨ嚜瀹氫箟欏剁偣緇撴瀯錛屼篃鍙互浣跨敤’automatic’鑷姩妯″紡銆?/span>

.[OgreMaterialUpgrade]

榪欎釜宸ュ叿鑳藉灝嗕綘鐨勪換浣曡佺増鏈殑 .material 鏉愯川鏂囦歡鏇存柊鍒板綋鍓嶇増鏈殑 .material 鏉愯川鏂囦歡銆?/span>

鍊煎緱娉ㄦ剰鐨勬槸榪欎釜鑷姩鏇存柊鏄笉浼氬姞鍏ヤ竴浜涙柊鐨勮剼鏈娉曞姛鑳界殑錛岃繖涔堣浣犲彲鑳戒笉濂界悊瑙c傦紙渚嬪瓙錛?/span> “scene_blend add”榪欏彞鍙兘浼氳鏇存柊涓?/span>”scene_blend one one”錛屽洜涓?/span>”add”鐨勫簳灞傚疄闄呬笂灝辨槸”scene_blend one one”錛岃嚜鍔ㄦ洿鏂頒細灝嗕竴浜涢珮綰ц娉曟洿鏂頒負姣旇緝鐩存帴搴曞眰鐨勮娉曪級

鍙﹀錛岃繖涓伐鍏蜂粎瀵?/span>0.13.0鐗堟湰浠ヤ笅鐨勬潗璐ㄨ剼鏈洿鏂版湁鏁堬紝瀵?/span>0.13.0鐗堟湰浠ュ悗鐨勬潗璐ㄨ剼鏈槸娌℃湁蹇呰榪涜鏇存柊鐨勩?/span>

 

浣跨敤鏂規硶錛?/span>

OgreMaterialUpgrade 婧愭枃浠惰礬寰?/span> 鐩爣鏂囦歡璺緞

 .[MeshMagick]

Copyright 2007 by Daniel Wickert

榪欎釜宸ュ叿鏄mesh鏂囦歡鍜?/span>skeleton鏂囦歡榪涜涓浜涘鐞嗙殑宸ュ叿銆?/span>

澶ц嚧鍖呮嫭浠ヤ笅鍔熻兘錛?/font>

Info         = 杈撳嚭mesh鐨勪俊鎭?/span>

Meshmerge   = 灝嗗涓?/span>mesh鍚堝茍涓轟竴涓?/span>mesh鏂囦歡

rename       = 閲嶅懡鍚?/span>mesh鍜?/span>skeleton鐨勪笉鍚屽厓浠?/span>

transform     = 鏃嬭漿錛岀緝鏀句竴涓?/span>mesh

 

浣跨敤鏂瑰紡錛?/span>

MeshMagick –help=宸ュ叿鍚?/span> 鍙互鑾峰緱鏇村鐩稿叧淇℃伅銆?/span>

 

.[璇戣呯瑑蹇楄ˉ鍏呰鏄?/span>]

1錛氶櫎MeshMagick璇ュ伐鍏峰錛屽叾浠栦笁縐嶅伐鍏鳳紝浣跨敤鏂瑰紡閮藉彲浠ユ槸錛氬皢婧愯祫婧愭枃浠舵嫋鎷藉埌宸ュ叿鐨?/span>exe鍥炬爣涓娿傚洜涓烘洿鏂扮▼搴忎細灝嗘簮鏂囦歡瑕嗙洊錛屾墍浠ユ帹鑽愬仛涓嬪浠藉悗鍐嶆洿鏂般?/span>

2錛氭偍鍙互鍐欐壒澶勭悊鏂囦歡瀵瑰叾榪涜浣跨敤銆傛牸寮忓嵆涓轟笂闈㈢殑浣跨敤鏂瑰紡銆?/span>

涓句緥錛氭柊寤轟竴涓枃鏈枃浠?/span>test.txt

緙栬緫鍐呭涓?/span> OgreMeshUpgrate –d3d –l 4 –d 500 –p 30 E:\Ogre\Media\TestSrc.xml F:\Temp\TestDest.mesh

淇敼鏂囨湰鍚庣紑鍚嶄負test.bat

灝嗚鎵瑰鐞嗘枃浠朵笌OgreMeshUpgrate.exe鏀劇疆鍚屼竴鐩綍涓嬶紝榪愯

鍒欎細鑷姩灝?/span>E:\Ogre\Media\TestSrc.xml鏂囦歡杞崲涓?/span>F:\Temp\TestDest.mesh鏂囦歡錛屽悓鏃跺紑鍚簡4灞?/span>Lod錛?/span>Lod闂磋窛涓?/span>500璞$礌錛屾瘡涓綰ч棿闈㈡暟宸窛涓?/span>30%

3錛?/span>OgreMeshUpgrate宸ュ叿鎺ㄨ崘浣跨敤automatic鑷姩妯″紡欏剁偣鏍煎紡錛屾晥鐜囦細姣旇緝楂橈紝騫朵笖鐪佸幓涓嶅皯楹葷儲銆?/span>

4錛?/span>MeshMagick宸ュ叿涓嶆帹鑽愪嬌鐢ㄣ傛湰韜姛鑳芥湁闄愶紝鑰屼笖闀挎湡鏃犱漢緇存姢錛屽鏂扮殑mesh鏀寔涓嶅ソ銆?/span>



RichardHe 2008-07-31 20:12 鍙戣〃璇勮
]]>
Ogre涓殑紕版挒媯嫻?杞?http://m.shnenglu.com/richardhe/articles/56945.htmlRichardHeRichardHeWed, 23 Jul 2008 07:28:00 GMThttp://m.shnenglu.com/richardhe/articles/56945.htmlhttp://m.shnenglu.com/richardhe/comments/56945.htmlhttp://m.shnenglu.com/richardhe/articles/56945.html#Feedback1http://m.shnenglu.com/richardhe/comments/commentRss/56945.htmlhttp://m.shnenglu.com/richardhe/services/trackbacks/56945.html

鍘熷垱 闊╀婦
http://www.hjpdiy.com

Ogre閲囩敤鏍戞々綆$悊鍦烘櫙涓殑鍚勭"鍏冪礌"(鎽勫儚鏈恒佺伅鍏夈佺墿浣撶瓑)錛屾墍鏈夌殑涓滆タ閮芥寕鍦?鏍?涓婏紝涓嶅湪"鏍?涓婄殑涓滆タ涓嶄細琚覆鏌撱?br> Ogre::SceneManager灝辨槸"鏍?鐨勭鐞嗚咃紝Ogre::SceneNode鏄粠SceneManager涓垱寤虹殑錛堝綋鐒禕SP鍜?*鏍戠殑綆$悊涔熷拰榪欎袱涓被鏈夊叧錛岃繖鏆傛椂涓嶈璁猴級銆?/p>

AABB(杞村榻愬寘鍥寸洅)

榪欎釜涓滆タ鏄鎾炴嫻嬬殑鍩虹錛堟庝箞鎬繪兂璧稪JYY鍛級錛屽拰瀹冪被浼肩殑榪樻湁OBB(鏈夊悜鍖呭洿鐩?錛岀敱浜嶰BB鍒涘緩澶嶆潅錛屾墍浠gre閲囩敤浜咥ABB銆?/p>

鏈綆鍗曠殑紕版挒媯嫻嬶細

閫?br> 榪嘜gre::SceneNode::_getWorldAABB()鍙互鍙栧緱榪欎釜鍙跺瓙鑺傜偣鐨凙ABB(Ogre::AxisAlignedBox)錛?br> Ogre::AxisAlignedBox灝佽浜嗗AABB鐨勬敮鎸侊紝璇ョ被鐨勬垚鍛樺嚱鏁癘gre::AxisAlignedBox::intersects
()鍙互鍒ゆ柇涓涓狝ABB鍜?鐞冧綋銆佺偣銆侀潰浠ュ強鍏朵粬闈?鐨勭浉浜ゆ儏鍐碉紙紕版挒鎯呭喌錛夈?/p>

    m_SphereNode鏍戠殑鍙跺瓙錛屾寕浜嗕竴涓?鐞?
    m_CubeNode鏍戠殑鍙跺瓙錛屾寕浜嗕竴涓?姝f柟浣?

    AxisAlignedBox spbox=m_SphereNode->_getWorldAABB();
AxisAlignedBox cbbox=m_CubeNode->_getWorldAABB();
if(spbox.intersects(cbbox))
{
     //鐩鎬氦

}

鍖哄煙鏌ヨ錛?/p>

綆鍗曠殑璁插氨鏄紝鏌ヨ鏌愪竴鍖哄煙涓湁浠涔堜笢瑗匡紝鍒嗕負AABB銆佺悆浣撱侀潰鏌ヨ銆?/p>

   //鍒涘緩涓涓悆浣撴煡璇紝榪欓噷鐨?00鏄痬_SphereNode鎸傜潃鐨勯偅涓悆浣撶殑鍗婂緞
   SphereSceneQuery * pQuery=m_SceneMgr->createSphereQuery(Sphere(m_SphereNode->getPosition(),100));
   //鎵ц榪欎釜鏌ヨ
   SceneQueryResult QResult=pQuery->execute();
   //閬嶅巻鏌ヨ鍒楄〃鎵懼嚭鑼冨洿鍐呯殑鐗╀綋
   for (std::list<MovableObject*>::iterator iter = QResult.movables.begin(); iter != QResult.movables.end();++iter)
   {
    MovableObject* pObject=static_cast<MovableObject*>(*iter);
    if(pObject)
    {
     if(pObject->getMovableType()=="Entity")
     {
      Entity* ent = static_cast<Entity*>(pObject);
      //榪欓噷綆鍖栦簡鎿嶄綔錛岀敱浜庡彧鏈変竴涓?鐞冧綋"鍜屼竴涓?姝f柟浣?錛?br>       //鎵浠ュ彧鍒ゆ柇浜嗙悆浣撳拰姝f柟浣撶殑鐩鎬氦

      if(ent->getName()=="cube")
      {
       //鏀瑰彉浣嶇疆闃叉鐗╀綋閲嶅彔
       vtl=-vtl;
       m_SphereNode->translate(vtl);
       break;
      }
     }
    }
   }

鐩鎬氦鏌ヨ

閬嶅巻鎵鏈夌殑瀵硅薄錛屾壘鍒頒竴瀵逛竴瀵圭殑鐩鎬氦鐗╀綋錛堝簾璇濆憖錛岀浉浜ゅ綋鐒惰嚦灝戜袱涓墿浣擄級銆?/p>

    //鍒涘緩鐩鎬氦媯嫻?br>     IntersectionSceneQuery* pISQuery=m_SceneMgr->createIntersectionQuery();
    //鎵ц鏌ヨ
    IntersectionSceneQueryResult QResult=pISQuery->execute();
    //閬嶅巻鏌ヨ鍒楄〃鎵懼嚭涓や釜鐩鎬氦鐨勭墿浣?br>     for (SceneQueryMovableIntersectionList::iterator iter = QResult.movables2movables.begin();
     iter != QResult.movables2movables.end();++iter)
    {
    
     SceneQueryMovableObjectPair pObject=static_cast<SceneQueryMovableObjectPair>(*iter);
     //if(pObject)
     {
      String strFirst=pObject.first->getName();
      String strSecond=pObject.second->getName();
      //涓嬮潰鍔犲叆浣犺嚜宸辯殑涓や釜鐗╀綋鐩鎬氦鍒ゆ柇浠g爜錛屾垨鑰呯畝鍗曠殑鐢ˋABB鐨勫垽鏂柟娉曪紝
     }
    }



RichardHe 2008-07-23 15:28 鍙戣〃璇勮
]]>
Ogre 鐨?鍥涘厓鏁皅uaternionhttp://m.shnenglu.com/richardhe/articles/56944.htmlRichardHeRichardHeWed, 23 Jul 2008 07:26:00 GMThttp://m.shnenglu.com/richardhe/articles/56944.htmlhttp://m.shnenglu.com/richardhe/comments/56944.htmlhttp://m.shnenglu.com/richardhe/articles/56944.html#Feedback0http://m.shnenglu.com/richardhe/comments/commentRss/56944.htmlhttp://m.shnenglu.com/richardhe/services/trackbacks/56944.htmlquaternion鏄?/span>涓涓爣閲忓拰涓涓?/span>3D鍚戦噺鐨勭粍鍚堛俼={ w,x,y,z},Ogre涓竴涓粯璁ょ殑quaternion ={1,0,0,0} ,涓鑸敤浜庣┖闂翠竴鐐圭殑鏃嬭漿,鍋囪絀洪棿涓鐐瑰彨p,灝嗚鏃嬭漿瑙掑害鏄?span>α,鏃嬭漿杞存槸(x,y,z),閭d箞:

p={0,x0,y0,z0}

q= {cos(α/ 2) , sina(α/ 2) Nx, sin(α/ 2)Ny, sin(α/ 2)Nz } (N涓哄崟浣嶅悜閲?

p緇撴灉 =q*p*q-1

鍦ㄦ暟瀛︿笂錛?span>quaternion琛ㄧず澶嶆暟w+xi+yj+zk錛屽叾涓?/span>i,j,k閮芥槸铏氭暟鍗曚綅,鑰屽鏁頒箻娉?span>(鍙変箻)鐨勫嚑浣曟剰涔夊疄闄呬笂灝辨槸瀵瑰鏁拌繘琛屾棆杞傝繖涔熸槸OGRE涓轟粈涔堣鐢╭uaternion鐨勫師鍥?姣擬atrix鏇村揩鎹鋒洿鑺傜渷絀洪棿),瀵規渶綆鍗曠殑浜岀淮澶嶆暟p= x + yi鏉ヨ錛屽拰鍙︿竴涓?/span>q = ( conα錛?/span>sinα)鐩鎬箻錛屽垯琛ㄧず鎶?/span>p娌塊嗘椂閽堟柟鍚戞棆杞?#945;錛?/span>p’ = pq ,榪欐槸2D鏃嬭漿.

濡傛灉瑕佽〃紺?D鏃嬭漿,灝遍渶瑕?D澶嶆暟浜?浜庢槸灝辨湁浜?鍥涘厓鏁?,q=w+ix+jy+kz (i,j,k閮芥槸铏氭暟)

鍏朵腑j,j,k鍏崇郴濡備笅:

   i2 = j2 = k2 = -1
   i * j = k = -j * i
   j * k = i = -k * j
   k * i = j = -i * k


鍥涘厓鏁板姞娉?
q1 + q2 = (w1+w2) + (x1+x2) i + (y1+y2) j + (z1+z2) k
鍥涘厓鏁頒箻娉?
q1 * q2 =
(w1*w2 - x1*x2 - y1*y2 - z1*z2) +
(w1*x2 + x1*w2 + y1*z2 - z1*y2) i +
(w1*y2 - x1*z2 + y1*w2 + z1*x1) j +
(w1*z2 + x1*y2 - y1*x2 + z1*w2
)    k

OGRE婧愪唬鐮侀噷榪欐牱瀹氫箟涔樻硶:

Quaternion Quaternion::operator* (const Quaternion& rkQ) const
    {
        // cases p*q != q*p.

        return Quaternion
        (
            w * rkQ.w - x * rkQ.x - y * rkQ.y - z * rkQ.z,
            w * rkQ.x + x * rkQ.w + y * rkQ.z - z * rkQ.y,
            w * rkQ.y + y * rkQ.w + z * rkQ.x - x * rkQ.z,
            w * rkQ.z + z * rkQ.w + x * rkQ.y - y * rkQ.x
        );
    }



RichardHe 2008-07-23 15:26 鍙戣〃璇勮
]]>
鏈湴鍖栨敮鎸?OGRE&CEGUI涓枃杈撳叆 http://m.shnenglu.com/richardhe/articles/56104.htmlRichardHeRichardHeMon, 14 Jul 2008 06:33:00 GMThttp://m.shnenglu.com/richardhe/articles/56104.htmlhttp://m.shnenglu.com/richardhe/comments/56104.htmlhttp://m.shnenglu.com/richardhe/articles/56104.html#Feedback0http://m.shnenglu.com/richardhe/comments/commentRss/56104.htmlhttp://m.shnenglu.com/richardhe/services/trackbacks/56104.html鏈湴鍖栨敮鎸?OGRE&CEGUI涓枃杈撳叆:婧愪唬鐮?/h1>

From OGRE 3D 涓枃

Jump to: navigation, search

鐩綍

[闅愯棌]

璇存槑

鏈唬鐮佷負Win32騫沖彴涓奜GRE 3D鍥懼艦寮曟搸鍚勭増鏈腑鏂囪緭鍏ユ墍浣跨敤銆備唬鐮佷腑鍙兘瀛樺湪涓嶅畬鍠勭殑鍦版柟錛屽鏈夐棶棰樺彲浠ュ埌璁哄潧浜ゆ祦銆?

[

婧愪唬鐮?

涓嬭澆榪炴帴錛坒or OGRE 3D 1.4.0RC1 錛?

涓嬭澆榪炴帴錛坒or OGRE 3D 1.2.5錛?

浣跨敤鏂規硶

  • 璇峰厛涓嬭澆Windows鐗堟湰OGRE婧愪唬鐮侊紝浠ュ強鐩稿簲鐨勪緷璧栨枃浠訛紝鐒跺悗鎶婁粬浠帴鍘嬪湪鍚屼竴鐩綍涓嬨?
  • 鐒跺悗鎶婁粠榪欎釜緗戦〉涓嬭澆鐨勬簮浠g爜鐩稿簲鐗堟湰鐨勬簮浠g爜瑙e帇鍒癘greNew鐩綍涓嬭鐩栫浉搴旀枃浠躲?
  • 鎵撳紑宸ョ▼鏂囦歡Ogre_vc8.sln錛屽鏋滀箣鍓嶉兘榪涜欏哄埄鐨勮瘽錛屼綘鍙互鐪嬪埌涓涓彨鍋欴emo_ChineseInput鐨勯」鐩傚榪欎釜欏圭洰鍚姩鐢熸垚錛屼箣鍚庢槸婕暱鐨勭瓑寰呮椂闂淬傜敓鎴愬畬姣曪紝浣犱細鐪嬪埌涓涓畝鍗曠殑甯︽湁涓枃杈撳叆鐨勭晫闈㈡紨紺恒?

鐩綍鍐呭

  • OGRE 3D 1.4.0RC1
OgreMain\ 瀵瑰紩鎿庣殑淇敼錛屽紑鍑哄澶勭悊win32娑堟伅鐨勬帴鍙o紝浠ュ強瀹炵幇
Samples\
ChineseInput\涓枃杈撳叆demo欏圭洰
Common\
CEGUIChineseInput\CEGUI杈撳叆紿楀彛緇勪歡
CEGUIChineseInputWR\CEGUI杈撳叆紿楀彛娓叉煋緇勪歡
CEGUIChineseInputDependencies\CEGUI杈撳叆渚濊禆欏圭洰
Media\
gui\涓枃杈撳叆demo渚濊禆璧勬簮鏂囦歡
Ogre_vc8.sln 鏂扮殑宸ョ▼鏂囦歡


  • OGRE 3D 1.2.5
Dependencies\
include\
CEGUI\CEGUI0.5.0鍖呭惈鏂囦歡
ois\OIS鍖呭惈鏂囦歡
lib\鐩稿簲搴撴枃浠訛紙CEGUI&OIS錛?/em>
OgreMain\
include\瀵瑰紩鎿庣殑淇敼錛屽紑鍑哄澶勭悊win32娑堟伅鐨勬帴鍙?/em>
RenderSystems\
Direct3D9\瀵瑰紩鎿庣殑淇敼錛屽紑鍑哄澶勭悊win32娑堟伅鐨凞3D鐨勫疄鐜?/em>
GL\瀵瑰紩鎿庣殑淇敼錛屽紑鍑哄澶勭悊win32娑堟伅鐨凮penGL鐨勫疄鐜?/em>
Samples\
ChineseInput\涓枃杈撳叆demo欏圭洰
Common\
bin\榪愯鏃墮渶瑕佺殑鏀寔搴撲互鍙婇厤鍒舵枃浠?/em>
CEGUIChineseInput\CEGUI杈撳叆紿楀彛緇勪歡
CEGUIChineseInputWR\CEGUI杈撳叆紿楀彛娓叉煋緇勪歡
CEGUIChineseInputDependencies\CEGUI杈撳叆渚濊禆欏圭洰
CEGUIRenderer\OGRE瀵笴EGUI0.5鐗堟湰鏀寔鐨勪慨鏀?/em>
Media\
datafiles\涓枃杈撳叆demo渚濊禆璧勬簮鏂囦歡
Ogre_vc8.sln 鏂扮殑宸ョ▼鏂囦歡


RichardHe 2008-07-14 14:33 鍙戣〃璇勮
]]>OGRE鏄劇ず涓枃http://m.shnenglu.com/richardhe/articles/56101.htmlRichardHeRichardHeMon, 14 Jul 2008 06:28:00 GMThttp://m.shnenglu.com/richardhe/articles/56101.htmlhttp://m.shnenglu.com/richardhe/comments/56101.htmlhttp://m.shnenglu.com/richardhe/articles/56101.html#Feedback0http://m.shnenglu.com/richardhe/comments/commentRss/56101.htmlhttp://m.shnenglu.com/richardhe/services/trackbacks/56101.html
    浜屻佹湁瀛椾綋浠ュ悗錛屽氨瑕佸緩绔嬩竴涓猻imfong.font鐨勬枃浠訛紝榪欎釜鏂囦歡鏄瓧浣撶殑xml閰嶇疆鏂囦歡銆傛庝箞鍒涘緩榪欎釜鏂囦歡鍛紵鐢ㄨ浜嬫湰寤虹珛鐒跺悗鎷瘋礉濡備笅鍐呭鍒拌浜嬫湰涓細

<?xml version="1.0" ?><Font Name="simfang" Filename="simfang.ttf" Type="FreeType" Size="10" NativeHorzRes="800" NativeVertRes="600" AutoScaled="true" />


鐒跺悗灝嗚浜嬫湰閲嶅懡鍚嶄負simfong錛岀劧鍚庡皢鍚庣紑鍚嶆敼涓篺ont錛屾渶鍚庢妸浠栨斁鍦∕edia鐩綍涓嬬殑gui鐩綍閲岄潰錛圶:\OgreSDK\media\gui錛夛紝浣犱篃浼氬彂鐜拌繖閲屽師鏉ュ氨鏈夊嚑涓猣ont鏂囦歡銆?br>
    涓夈佺敤璁頒簨鏈柟寮忔墦寮OGRE涓嬬殑TaharezLookSkin.scheme鏂囦歡錛堢増鏈笉鍚岋紝鍙兘鍛藉悕涓嶅悓錛屼絾鏄悗緙鍚嶅拰閲岄潰鐨勫唴瀹規槸澶у悓灝忓紓鐨勶紝瀹冪殑璺緞璨屼技X:\OgreSDK\media\gui錛夈傜劧鍚庡湪鍐呭涓猴細

<Font Name="BlueHighway-8" Filename="bluehighway-8.font" />


鐨勫悗闈紝鎻掑叆濡備笅鍐呭錛?br>
<Font Name="simfang" Filename="simfong.font" />


榪欐牱灝卞畬鎴愪簡鏄劇ず涓枃鐨勫繀瑕佹潯浠朵簡銆?br>
鐒跺悗灝辨槸淇敼浠g爜浜嗐傛垜浠敤OGRE瀹樻柟緗戦噷闈㈢殑WiKi鍩虹鏁欑▼鐨勪緥瀛愪竷鍋氫釜緇冧範錛屼綘涔熷彲浠ュ埌涓浗鐨凮GRE緗?鎴戞槸榪欐牱鐨勭О鍛煎畠錛夊幓鐪嬬湅瀛︿範榪欎釜緇冧範銆?br>
灝嗚繖涓粌涔犱腑鐨勪唬鐮侀儴鍒嗘敼鍐欏涓嬶細
…………
  
//mSystem->setDefaultFont((CEGUI::utf8*)"BlueHighway-12"); 
  mSystem->setDefaultFont((CEGUI::utf8*)"simfang");//SimHei-12
…………
  
//quit->setText((CEGUI::utf8*)"Quit");
  quit->setText((CEGUI::utf8*)Ogre::UTFString(L"涓枃閫鍑?/span>").asUTF8_c_str());
…………



緙栬瘧榪愯銆傚氨OK浜嗐?/p>


鐪嬪埌鏁欑▼6, 灝遍『渚胯瘯浜嗚瘯涓枃鏄劇ず, 瀛椾綋璁劇疆鎴戝掓槸鎯沖埌浜? 鍙槸娌℃兂鍒板瓧絎﹂泦杞崲榪欎箞鎭跺績:

 

  quit->setText((CEGUI::utf8*)Ogre::UTFString(L"涓枃閫鍑?/span>").asUTF8_c_str());

鍏充簬layout鏂囦歡:

<?xml version="1.0" ?>
<GUILayout>
    
<Window Type="DefaultWindow" Name="Tutorial Gui">
        
<Window Type="TaharezLook/Button" Name="Quit">
            
<Property Name="UnifiedPosition" Value="{{0.35,0},{0.45,0}}" />
            
<Property Name="UnifiedSize" Value="{{0.3,0},{0.1,0}}" />
            
<Property Name="Text" Value="閫鍑? />
        
</Window>
    
</Window>
</GUILayout>


涓寮濮嬫垜鍙槸綆鍗曠殑鎶婇厤緗枃浠朵腑鐨?Quit"鏀逛簡"閫鍑?,緇撴灉榪愯灝辨姤閿欎簡, LOG鏂囦歡鏄劇ず鏄?

Exception: ExpatParser::parseXMLFile - XML Parsing error 'not well-formed (invalid token)' at line 7


鏌ヤ簡鏌? 鍘熸潵鏂囦歡鏍煎紡涔熻鏀規垚UTF-8鏍煎紡鐨?鍛靛懙



RichardHe 2008-07-14 14:28 鍙戣〃璇勮
]]>
璁㎡GRE鏀寔涓枃http://m.shnenglu.com/richardhe/articles/56100.htmlRichardHeRichardHeMon, 14 Jul 2008 06:27:00 GMThttp://m.shnenglu.com/richardhe/articles/56100.htmlhttp://m.shnenglu.com/richardhe/comments/56100.htmlhttp://m.shnenglu.com/richardhe/articles/56100.html#Feedback0http://m.shnenglu.com/richardhe/comments/commentRss/56100.htmlhttp://m.shnenglu.com/richardhe/services/trackbacks/56100.html0錛庡墠璦錛?br> 鏈漢闈炶綆楁満涓撲笟錛屽嚟鐫鐖卞ソ鍜屼竴鑵旂儹琛娣峰叆娓告垙寮鍙戝ぇ鍐涘欒ˉ灝忛槦錛屽鉤闈㈠皻鏈捇閫忋備負璧舵椂楂︼紝浼佸浘鍙涘彉鍒?D闃佃惀錛屾厡涔變箣涓崱璧?#8220;OGRE”銆傚鍒板 浠婏紝浜﹀彲璁╂鏂逛綋椋炴満絳変笉鏄庣墿浣撳湪涓夋鍏冪┖闂磋儭涔辨墦杞備絾瑙夊緱鏈紩鎿庝笉鏀寔涓枃鏄劇ず鑰屾劅鍒頒笉鐖斤紝渚垮洓澶勫姹傞珮浜烘寚鏁欙紝浣嗗ぇ閮ㄥ垎楂樹漢鎸囩偣璇達細“鑷繁鍐欏紩鎿庣畻 浜嗐?#8221;琛¢噺浜嗕竴涓嬭嚜宸變喚閲忥紝瑙夊緱“鑷繁鍐?#8221;榪欎歡浜嬪崄騫村唴鎭愬皻闅懼仛鍒般傚啀鍚庢潵鎵懼埌3DCastle璁哄潧錛岀粡榪?#8220;bug鐜?#8221;浠ュ強“嫻鈽嗛緳鐚?#8221; 涓や綅鍓嶈緢鐨勬寚鐐癸紝涔熼氳繃楂樻墜“renwind”閬楃暀涓嬫潵鐨勬暀紼嬶紝璇墦璇挒绔熺劧鑷繁鏀瑰嚭浜嗕腑鏂囨敮鎸侊紝鍏村涔嬩綑渚挎兂鍐欑偣涓滆タ鐣欑偣綰康銆?br>
1錛庡噯澶囧伐浣?br> “bug鐜?#8221;宸茬粡閫氳繃WINAPI瀹炵幇浜哋GRE鍦―irect7.0涓嬬殑涓枃鏀寔錛屼篃鏈夐珮鎵嬭榪欐牱鏁堢巼涓嶉珮錛屾洿鍥犱負鏈漢鍩烘湰涓婃槸涓嶆庝箞鐔熸倝 WINAPI鐨勶紝鎵浠ュ氨鏀懼純浜嗚繖縐嶆柟娉曘備紒鍥劇洿鎺ラ氳繃璐村浘鏉ュ疄鐜頒腑鏂囨樉紺猴紝姣曠珶OGRE鏈韓鏂囧瓧杈撳嚭涔熸槸鐢ㄧ殑榪欑鍔炴硶錛屾洿濂界殑鏄疧GRE寮曟搸闄や簡鏅氱殑 “ttf”瀛椾綋澶栬繕鏀寔浣嶅浘瀛椾綋錛堝叾瀹?#8220;ttf”鍦ㄥ紩鎿庝腑涔熻Ogre::Font::createTextureFromFont()杞崲鎴愪綅鍥句簡錛夛紝 鍩烘湰涓婂氨鏄仛涓涓緢澶у緢澶х殑鍥劇墖錛岀劧鍚庝笂闈㈢敾婊℃眽瀛楋紝鐩存帴璇昏繘鍘誨氨鍙互浜嗭紝闂涔熷氨鍙樻垚浜嗏斺斿浣曟壘榪欎釜澶у浘鐗囥?br> 騫稿ソGBA娓告垙鐨勫紑鍙戣呬滑宸茬粡鎵懼埌浜嗗緢濂界殑鏂囧瓧鏉ユ簮鍜屽彇寰楁柟娉曪紝閫氳繃閲戝北鐨?6*16鐐歸樀瀛楀簱寰楀埌鎺ヨ繎9000涓瓧妯★紝鐒跺悗閫氳繃紼嬪簭璇誨嚭騫跺啓鍒?048*2048鐨勫崟鑹蹭綅鍥句笂錛岃漿鎹㈡垚“png”鏍煎紡鍥劇墖鎵?21k銆?br>
2錛庡熀鏈煡璇?br> 淇敼寮曟搸涔嬪墠錛屾垜浠厛瑕佺煡閬揙GRE鏄浣曟樉紺哄瓧浣撶殑銆侽GRE鏈韓闈㈠悜瀵硅薄鐨勮璁″拰鑷甫鏂囨。閮藉仛寰楅潪甯歌鑼冩紓浜紝寰堝鏄撳氨鑳芥壘鍒板叧浜庢樉紺烘枃瀛楃殑綾諱互鍙婄浉鍏沖嚱鏁般傚湪榪欓噷涓昏鐪嬩竴涓嬪叧浜庝綅鍥懼瓧浣撴槸濡備綍鏄劇ず鍦ㄧ敾闈笂銆?br>
(1)瀛椾綋鐨勮鍙栥?br> 鍜岃繖欏瑰姛鑳界浉鍏崇殑鏈変袱涓被錛屼竴涓槸Ogre::FontManager綾伙紝璐熻矗鍒嗘瀽瀛椾綋淇℃伅錛?.fontdef錛夋枃浠躲傜劧鍚庣敤builder妯″紡鏋? 寤轟竴涓狾gre::Font綾匯傚湪Font綾諱腑鏈閲嶈鐨勬暟鎹帿榪囦簬mTexCoords_u1銆乵TexCoords_u2銆? mTexCoords_v1銆乵TexCoords_v2榪欏洓涓暟緇勶紝浠栦滑鍒嗗埆鐢ㄦ潵鍌ㄥ瓨涓嶅悓鏂囧瓧瀵瑰簲鍦ㄥ浘鐗囦笂鐨勭汗鐞嗗潗鏍囥? 涓嶈繃鏁扮粍澶у皬鏄庢樉涓嶅鍌ㄥ瓨9000涓眽瀛楃殑錛屼竴浼氬効瑕佹敼鐨勩?br>
(2)瀛椾綋鐨勬樉紺恒?br> 濂藉儚瀛椾綋鏄劇ず涓敤寰楄緝澶氱殑鏄疧gre::TextAreaGuiElement綾伙紝涓嶈繃濂藉儚榪樻湁鍏朵粬鐨勶紝鎴戜滑鍦ㄨ繖閲屽彧鐪嬭繖涓惂錛屼及璁″叾浠栫殑涔熷ぇ鍚屽皬寮傘傜湅浜嗙湅濂藉儚鍞竴鍜屾樉紺哄瓧浣撴湁鍏崇殑鍑芥暟灝辨槸void TextAreaGuiElement::updateGeometry()浜嗭紝鍩烘湰涓婂氨鏄牴鎹鍐欏埌灞忓箷涓婄殑瀛椾覆錛屽湪Ogre::Font綾諱腑寰楀埌鐩稿簲鐨勮創鍥懼潗鏍囧拰璐村浘錛岀劧鍚庣敾涓婂幓錛岄亾鐞嗕篃涓嶆槸寰堥毦銆?br>
3錛庡姩鎵嬫湳
鐩爣閿佸畾鍒癘gre::Font錛孫gre::FontManager錛孫gre::TextAreaGuiElement涓変釜綾諱腑錛屾妸鎵鏈夋枃浠跺浠戒竴閬嶆墜鏈紑濮嬶紒

(1) Ogre::Font綾匯?br> 棣栧厛鏄偍瀛樻枃瀛楄創鍥懼潗鏍囩殑鏁扮粍鐨勫ぇ灝忎笉澶燂紝鍘熸潵瀹氫箟鐨勬槸鈥斺斿瀛楃闆?(1024 - 32)銆丄SCII(256 - 32)銆傝繖鐐圭偣澶у皬鎬庝箞澶熸垜榪?000瀛楀ぇ鍐涜繘鍏ワ紝绱㈡ч兘鏀規垚(9030 - 32)銆傝繕鏈夊氨鏄痵et鍜実et鏂囧瓧璐村浘鐨刬d閮芥槸char綾誨瀷鏁版嵁錛?56涓猧d涔熶笉澶熷垎閰嶇粰姹夊瓧錛岀湅鏉ヨ閮芥敼鎴恥nsigned long褰紙鍏跺疄澶ч儴鍒嗘満鍣ㄤ笂int涔熸槸32浣嶏紝涓嶈繃long鏄浐瀹?2浣嶇殑綾誨瀷錛屾劅瑙夌粺鐢ㄧ偣錛夈?br>
(2) Ogre::FontManager綾匯?br> 閲岄潰浠庤剼鏈枃浠朵腑瑙f瀽璐村浘鍧愭爣鐨勬柟娉曟槸鏍規嵁鍗曞瓧絎︾殑鏂瑰紡錛屼負鏀寔姹夊瓧錛屾敼鎴愬悓鏃跺彲浠ュ垎鏋恑nt鐨勩備竴涓眽瀛楀搴旀暟瀛楁槸浠栫殑鍖轟綅鐮?161錛堝墠160涓暀緇欎簡鍗婅瀛楋級銆?br>
(3) Ogre::TextAreaGuiElement綾匯?br> 榪欎釜鏄浉瀵規瘮杈冮夯鐑︾殑錛屼粬瑕佷粠瀛椾覆涓垎杈ㄥ嚭鍒板崐瑙掑瓧鍜屼腑鏂囥傚湪榪欓噷澧炲姞涓涓猻td::vector<unsigned long> caption錛岀敤鏉ュ偍瀛樺垎杈ㄧ殑緇撴灉銆傚鍔犱互涓嬪嚑琛岋細

   
std::vector<unsigned long> caption;
   
unsigned char nTemp;
   
String::iterator it=mCaption.begin();
   
for(;it!=mCaption.end();++it)
   
{
   
    if(unsigned char(*it)<=160)//濡傛灉鏄崐瑙?br>         {
   
        caption.push_back((unsigned char)*it);
   
    }
   
    else//澶勭悊鍏ㄨ瀛楃
   
    {
   
        nTemp=(unsigned char)(*it);
   
        ++it;
   
        if(it==mCaption.end())
   
            break;
   
        //涓嬮潰鏄緱鍒板尯浣嶇爜+161鐨勫叕寮忋?br>             caption.push_back((94*(nTemp-0xa0-1)+((unsigned char)(*it)-0xa0-1))+161);
   
    }
   
}

鐒跺悗鍚庨潰鎵鏈夊叧浜巑Caption鐨勫湴鏂歸兘鐢╟aption浠f浛灝眔k浜嗐?br>
4錛庣粨鏋溿?br> 鍦∣penGL鍜孌X9.0涓垚鍔熺殑鏀寔浜嗕腑鏂囷紝浣嗘槸DX7.0涓珶鐒跺嚭鐜頒簡榪愯閿欒錛屽叿浣撻棶棰樿繕涓嶆竻妤氾紝榪樻湜鍚勪綅楂樻墜鎸囨暀銆?br> 鍥犱負瀛椾綋鏈韓鍘熷洜錛屾枃瀛楀緢鎵佸鉤鐨勪笉濂界湅錛岀儲鎬у張鏀逛簡鏀筄gre::Font錛孫gre::FontManager涓や釜綾伙紝瀹炵幇鑴氭湰涓敮鎸佷慨鏀規枃瀛楃旱妯瘮渚嬬殑緋繪暟鐨刾roportion錛屽綋榪欎釜鍊艱緗負0.8鐨勬椂鍊欐瘮杈冨ソ鐪嬩簡銆?br>

    鐩稿叧鏂囦歡
    chinese.fontdef//瀛椾綋淇℃伅鏂囦歡 鏀懼湪璧勬簮鏂囦歡鍔犱腑
    font.png//瀛椾綋鍥劇墖 鏀懼湪璧勬簮鏂囦歡鍔犱腑

    OgreFont.cpp
    OgreFont.h
    OgreFontManager.cpp
    OgreTextAreaGuiElement.cpp
    //涓婇潰鏂囦歡瑕嗙洊鍚屽悕鏂囦歡 灝卞彲浠?鍏堝浠?br>

榪欎釜鏄湪ogre-win32-v0-13-1鍩虹涓婃敼鐨勶紝璇峰埌ogre-win32-v0-13-1.zip涓嬭澆

涓枃瀛椾綋鍚嶅瓧灝卞彨 Chinese,浠ュ悗鑳藉仛涓枃娓告垙浜嗭紒

鍏嶈垂鎵撳伐浠擰Q:1850070


RichardHe 2008-07-14 14:27 鍙戣〃璇勮
]]>絎笁浜虹О鎽勮薄鏈虹郴緇熶緥瀛?/title><link>http://m.shnenglu.com/richardhe/articles/55723.html</link><dc:creator>RichardHe</dc:creator><author>RichardHe</author><pubDate>Wed, 09 Jul 2008 07:42:00 GMT</pubDate><guid>http://m.shnenglu.com/richardhe/articles/55723.html</guid><wfw:comment>http://m.shnenglu.com/richardhe/comments/55723.html</wfw:comment><comments>http://m.shnenglu.com/richardhe/articles/55723.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/richardhe/comments/commentRss/55723.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/richardhe/services/trackbacks/55723.html</trackback:ping><description><![CDATA[     鎽樿: 絎笁浜虹О鎽勮薄鏈虹郴緇熶緥瀛?Translator錛氳嚜鐢遍獞澹瑑蹇楋紙鐜嬪畯寮狅級 Data錛?008-5-14 l        鍓嶈█ Ogre鏄竴嬈句紭縐鐨?D鍥懼艦娓叉煋寮曟搸錛屽湪鍥藉唴錛屽緢澶氬墠杈堜粠04騫寸敋鑷蟲洿鏃╁氨瀵瑰畠鏈変簡娣卞叆鐨勪簡瑙o紝騫剁暀浜嗚澶氳瘧鏂囧拰蹇冨緱錛屾瀬澶х殑渚垮埄浜嗘垜鐨勫涔犮傝櫧鐒舵垜璧鋒姣旇緝鏅氾紝浣嗕粛甯屾湜鑷繁瀛︿範闂寸殑榪欎簺璁板綍鍜岀炕璇戣兘澶熷府鍔╁埌...  <a href='http://m.shnenglu.com/richardhe/articles/55723.html'>闃呰鍏ㄦ枃</a><img src ="http://m.shnenglu.com/richardhe/aggbug/55723.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/richardhe/" target="_blank">RichardHe</a> 2008-07-09 15:42 <a href="http://m.shnenglu.com/richardhe/articles/55723.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Ogre鍛戒護琛屽伐鍏峰寘浣跨敤璇存槑http://m.shnenglu.com/richardhe/articles/55724.htmlRichardHeRichardHeWed, 09 Jul 2008 07:42:00 GMThttp://m.shnenglu.com/richardhe/articles/55724.htmlhttp://m.shnenglu.com/richardhe/comments/55724.htmlhttp://m.shnenglu.com/richardhe/articles/55724.html#Feedback0http://m.shnenglu.com/richardhe/comments/commentRss/55724.htmlhttp://m.shnenglu.com/richardhe/services/trackbacks/55724.htmlOgre鍛戒護琛屽伐鍏峰寘浣跨敤璇存槑

鏈枃妗g敱 鑷敱楠戝+絎冨織 緲昏瘧鏁寸悊,鐗堟潈灞炰簬OgreTeam銆傝漿杞借鍖呭惈鏈淇℃伅銆?/span>

 

榪欎釜宸ュ叿鍖呭寘鍚簡涓浜涘Ogre璧勬簮鏂囦歡榪涜鎿嶄綔鐨勯澶勭悊鍛戒護琛屽伐鍏楓?/span>

瀹冨寘鎷?/span>OgreXMLConveter, OgreMeshUpgrade, OgreMaterialUpgrade鍜?/span>MeshMagick銆?/span>

鎮ㄥ彲浠ュ湪榪欓噷鑾峰緱鍏?/span>WindowsV1.4.7鐗堟湰鐨勪笅杞?/span>,鎴栬呭湪榪欓噷鑾峰彇鍏?/span>MacOSXV1.4.0鐗堟湰鐨勪笅杞姐備互涓婁袱涓増鏈潎鏄?/span>2008騫?/span>3鏈?/span>6鏃?/span>鐨勭増鏈紝鍗寵瘧鑰呰繘琛岀炕璇戠殑鐗堟湰錛岃嫢闇瑕佹洿澶氫俊鎭拰鏇存柊鐨勭増鏈紝鍙互璁塊棶Ogre瀹樻柟銆?/span>

.[OgreXMLConveter]

OgreXML杞崲鍣ㄨ兘澶熷皢 .mesh 妯″瀷緗戞牸鏂囦歡 鍜?/span> .skeleton 楠ㄩ鏂囦歡 鐢?/span>XML鏍煎紡杞崲涓轟簩榪涘埗鏍煎紡錛屽悓鏃跺彲浠ュ皢鍏朵簩榪涘埗鏍煎紡杞崲鍥?/span>XML鏍煎紡銆傚畠鍚屾椂涔熷厑璁鎬綘鍦ㄥ皢XML鏍煎紡杞崲涓轟簩榪涘埗鏍煎紡鏃惰緗?/span>LOD灞傜駭淇℃伅銆?/span>

濡傛灉浣犵殑Ogre鑴氭湰璧勬簮涓師鏈嬌鐢ㄧ殑灝辨槸XML鏍煎紡鏂囦歡鐨勮瘽錛岄偅涔堟湰宸ュ叿鍒欐槸Ogre榪愯鏃跺繀欏葷殑銆傛墍浠ヤ綘鑳藉鍦?/span>OgreSource鍖呯殑Tools/XMLConverter涓壘鍒板畠銆?/span>

 

浣跨敤鏂規硶錛?/span>

OgreXMLConverter 鎿嶄綔閫夐」 婧愭枃浠惰礬寰?/span> 鐩爣鏂囦歡璺緞

 

鏈夌敤鐨勬搷浣滈夐」鍖呮嫭錛?/font>

-i            =  鎺у埗涓庡懡浠よ銆?/span>

-l  nLODNum  = 鎸囧畾鎬?/span>LOD灞傜駭 ( 璇ラ」浠呭湪XML鏍煎紡杞崲涓?/span>Mesh鏍煎紡鏃舵湁鏁?/span> )

-d  nLODDis  = 鎸囧畾LOD灞傜駭闂寸殑璺濈澧炲箙 ( 璇ラ」浠呭湪XML鏍煎紡杞崲涓?/span>Mesh鏍煎紡鏃舵湁鏁?/span> )

-p  nLODPer  =  鎸囧畾姣忎袱綰?/span>LOD灞備箣闂翠笁瑙掗潰鍑忓皯鐧懼垎姣?/span> ( 璇ラ」浠呭湪XML鏍煎紡杞崲涓?/span>Mesh鏍煎紡鏃舵湁鏁?/span> )

-f  nLODNum  =  鎸囧畾涓ょ駭LOD灞備箣闂寸殑鍥哄畾欏剁偣鍑忓皯閲?/span> ( 璇ラ」浠呭湪XML鏍煎紡杞崲涓?/span>Mesh鏍煎紡鏃舵湁鏁?/span> )

-e            =  鍏抽棴妯$増闃村獎鐨?/span>edge琛?/span> ( 褰撲嬌鐢ㄦā鐗堥槾褰辨椂璇ラ」鎵嶆湁鏁?/span> )

-r            =  鍏抽棴Ogre鎺ㄨ崘鐨勯《鐐圭紦鍐插尯鏍煎紡銆?/span>

-t             =  涓烘硶綰胯創鍥劇敓鎴愬垏綰夸俊鎭?/span> ( 褰撲嬌鐢ㄦ硶綰胯創鍥炬椂璇ラ」鎵嶆湁鏁?/span> )

-o            =  鍏抽棴鍐椾綑鍏抽敭妗㈠拰榪愬姩杞ㄨ抗鐨勫墧闄?/span>

-d3d          =  浼樺厛浣跨敤D3D榪涜棰滆壊鏍煎紡鐨勫~鍏?/span> ( 鍦?/span>Windows騫沖彴涓粯璁よ欏瑰紑鍚?/span> )

-gl           =  浼樺厛浣跨敤GL榪涜棰滆壊鏍煎紡鐨勫~鍏?/span> ( 鍦ㄩ潪Windows騫沖彴涓粯璁よ欏瑰紑鍚?/span> )

-E endian      =  璁劇疆endian妯″紡錛屽彲浠ラ夋嫨big, little 鎴?/span> native ( 榛樿涓?/span>native )

-q            =  杞婚噺妯″紡錛屽噺灝戣緭鍑恒?/span>

-log filename   =  Log鏂囦歡鍚嶇О銆傦紙榛樿涓?/span>OgreXMLConverter.log錛?/span>

.[OgreMeshUpgrade]

榪欎釜宸ュ叿鑳藉灝嗕綘鐨勪換浣曡佺増鏈殑 .mesh 鏂囦歡鏇存柊鍒板綋鍓嶇増鏈殑 .mesh 鏂囦歡銆?/span>

浣犲彲浠ュ湪Ogre.log鏂囦歡涓緱鍒?/span>.mesh鏂囦歡鐨勭増鏈俊鎭備竴鑸潵璇達紝Ogre鍙互榪愯鑰佺増鏈殑.mesh鏂囦歡錛屼絾鏄ц兘涓婁細鏈変竴浜涘樊鍒傚鏋滀綘鏇存柊浜?/span>Ogre鐨勫叾浠栭儴鍒嗭紝浣犲敖閲忓簲褰撳皢.mesh鏂囦歡鏇存柊涓哄悓鏍風殑鐗堟湰銆?/span>

 

浣跨敤鏂規硶錛?/span>

OgreMeshUpgrate 鎿嶄綔閫夐」 婧愭枃浠惰礬寰?/span> 鐩爣鏂囦歡璺緞

 

鏈夌敤鐨勬搷浣滈夐」鍖呮嫭錛?/font>

-i            =  鎺у埗涓庡懡浠よ銆?/span>

-l  nLODNum  = 鎸囧畾鎬?/span>LOD灞傜駭 ( 璇ラ」浠呭湪XML鏍煎紡杞崲涓?/span>Mesh鏍煎紡鏃舵湁鏁?/span> )

-d  nLODDis  = 鎸囧畾LOD灞傜駭闂寸殑璺濈澧炲箙 ( 璇ラ」浠呭湪XML鏍煎紡杞崲涓?/span>Mesh鏍煎紡鏃舵湁鏁?/span> )

-p  nLODPer  =  鎸囧畾姣忎袱綰?/span>LOD灞備箣闂翠笁瑙掗潰鍑忓皯鐧懼垎姣?/span> ( 璇ラ」浠呭湪XML鏍煎紡杞崲涓?/span>Mesh鏍煎紡鏃舵湁鏁?/span> )

-f  nLODNum  =  鎸囧畾涓ょ駭LOD灞備箣闂寸殑鍥哄畾欏剁偣鍑忓皯閲?/span> ( 璇ラ」浠呭湪XML鏍煎紡杞崲涓?/span>Mesh鏍煎紡鏃舵湁鏁?/span> )

-e            =  鍏抽棴妯$増闃村獎鐨?/span>edge琛?/span>

-r            =  鍏抽棴Ogre鎺ㄨ崘鐨勯《鐐圭紦鍐插尯鏍煎紡銆?/span>

-t             =  涓烘硶綰胯創鍥劇敓鎴愬垏綰夸俊鎭?/span>

-d3d          =  杞崲涓?/span>D3D棰滆壊鏍煎紡

-gl           =  杞崲涓?/span>GL棰滆壊鏍煎紡

-srcd3d       =  鑰佺増鏈殑mesh鏂囦歡涓?/span>D3D棰滆壊鏍煎紡

-srcgl        =  鑰佺増鏈殑mesh鏂囦歡涓?/span>GL棰滆壊鏍煎紡

-E endian      =  璁劇疆endian妯″紡錛屽彲浠ラ夋嫨big, little 鎴?/span> native ( 榛樿涓?/span>native )

 

娉ㄦ剰錛?/span>

榪欎釜宸ュ叿鐜板湪鍏佽浣犺嚜瀹氫箟閲嶇粍浣犵殑mesh緗戞牸鏂囦歡鐨勯《鐐規牸寮忋?/span>

濡傛灉浣犳兂鏇存柊0.15.0涔嬪墠鐨勪換鎰忎竴涓増鏈殑mesh錛岄偅涔堝湪璇ョ▼搴忚繍琛屾椂浼氶棶浣犳槸鍚﹀笇鏈涜繘琛岄《鐐規牸寮忕殑閲嶇粍錛屼綘杈撳叆’y’灝卞彲浠ヤ簡銆傚湪0.15.0鐗堟湰涔嬪悗鐨?/span>mesh鍦ㄦ洿鏂版椂浼氬厑璁鎬綘瀵硅mesh鍋氭洿澶氱殑鎿嶄綔錛氫緥濡傦紝浣犲彲浠ュ姣忎釜鐙珛妯″瀷鑺傜偣鐨勯《鐐規寚瀹氫笉鍚岀殑欏剁偣緇撴瀯錛屼綘鏃㈠彲浠ヨ嚜瀹氫箟欏剁偣緇撴瀯錛屼篃鍙互浣跨敤’automatic’鑷姩妯″紡銆?/span>

.[OgreMaterialUpgrade]

榪欎釜宸ュ叿鑳藉灝嗕綘鐨勪換浣曡佺増鏈殑 .material 鏉愯川鏂囦歡鏇存柊鍒板綋鍓嶇増鏈殑 .material 鏉愯川鏂囦歡銆?/span>

鍊煎緱娉ㄦ剰鐨勬槸榪欎釜鑷姩鏇存柊鏄笉浼氬姞鍏ヤ竴浜涙柊鐨勮剼鏈娉曞姛鑳界殑錛岃繖涔堣浣犲彲鑳戒笉濂界悊瑙c傦紙渚嬪瓙錛?/span> “scene_blend add”榪欏彞鍙兘浼氳鏇存柊涓?/span>”scene_blend one one”錛屽洜涓?/span>”add”鐨勫簳灞傚疄闄呬笂灝辨槸”scene_blend one one”錛岃嚜鍔ㄦ洿鏂頒細灝嗕竴浜涢珮綰ц娉曟洿鏂頒負姣旇緝鐩存帴搴曞眰鐨勮娉曪級

鍙﹀錛岃繖涓伐鍏蜂粎瀵?/span>0.13.0鐗堟湰浠ヤ笅鐨勬潗璐ㄨ剼鏈洿鏂版湁鏁堬紝瀵?/span>0.13.0鐗堟湰浠ュ悗鐨勬潗璐ㄨ剼鏈槸娌℃湁蹇呰榪涜鏇存柊鐨勩?/span>

 

浣跨敤鏂規硶錛?/span>

OgreMaterialUpgrade 婧愭枃浠惰礬寰?/span> 鐩爣鏂囦歡璺緞

 .[MeshMagick]

Copyright 2007 by Daniel Wickert

榪欎釜宸ュ叿鏄mesh鏂囦歡鍜?/span>skeleton鏂囦歡榪涜涓浜涘鐞嗙殑宸ュ叿銆?/span>

澶ц嚧鍖呮嫭浠ヤ笅鍔熻兘錛?/font>

Info         = 杈撳嚭mesh鐨勪俊鎭?/span>

Meshmerge   = 灝嗗涓?/span>mesh鍚堝茍涓轟竴涓?/span>mesh鏂囦歡

rename       = 閲嶅懡鍚?/span>mesh鍜?/span>skeleton鐨勪笉鍚屽厓浠?/span>

transform     = 鏃嬭漿錛岀緝鏀句竴涓?/span>mesh

 

浣跨敤鏂瑰紡錛?/span>

MeshMagick –help=宸ュ叿鍚?/span> 鍙互鑾峰緱鏇村鐩稿叧淇℃伅銆?/span>

 

.[璇戣呯瑑蹇楄ˉ鍏呰鏄?/span>]

1錛氶櫎MeshMagick璇ュ伐鍏峰錛屽叾浠栦笁縐嶅伐鍏鳳紝浣跨敤鏂瑰紡閮藉彲浠ユ槸錛氬皢婧愯祫婧愭枃浠舵嫋鎷藉埌宸ュ叿鐨?/span>exe鍥炬爣涓娿傚洜涓烘洿鏂扮▼搴忎細灝嗘簮鏂囦歡瑕嗙洊錛屾墍浠ユ帹鑽愬仛涓嬪浠藉悗鍐嶆洿鏂般?/span>

2錛氭偍鍙互鍐欐壒澶勭悊鏂囦歡瀵瑰叾榪涜浣跨敤銆傛牸寮忓嵆涓轟笂闈㈢殑浣跨敤鏂瑰紡銆?/span>

涓句緥錛氭柊寤轟竴涓枃鏈枃浠?/span>test.txt

緙栬緫鍐呭涓?/span> OgreMeshUpgrate –d3d –l 4 –d 500 –p 30 E:\Ogre\Media\TestSrc.xml F:\Temp\TestDest.mesh

淇敼鏂囨湰鍚庣紑鍚嶄負test.bat

灝嗚鎵瑰鐞嗘枃浠朵笌OgreMeshUpgrate.exe鏀劇疆鍚屼竴鐩綍涓嬶紝榪愯

鍒欎細鑷姩灝?/span>E:\Ogre\Media\TestSrc.xml鏂囦歡杞崲涓?/span>F:\Temp\TestDest.mesh鏂囦歡錛屽悓鏃跺紑鍚簡4灞?/span>Lod錛?/span>Lod闂磋窛涓?/span>500璞$礌錛屾瘡涓綰ч棿闈㈡暟宸窛涓?/span>30%

3錛?/span>OgreMeshUpgrate宸ュ叿鎺ㄨ崘浣跨敤automatic鑷姩妯″紡欏剁偣鏍煎紡錛屾晥鐜囦細姣旇緝楂橈紝騫朵笖鐪佸幓涓嶅皯楹葷儲銆?/span>

4錛?/span>MeshMagick宸ュ叿涓嶆帹鑽愪嬌鐢ㄣ傛湰韜姛鑳芥湁闄愶紝鑰屼笖闀挎湡鏃犱漢緇存姢錛屽鏂扮殑mesh鏀寔涓嶅ソ銆?/span>



RichardHe 2008-07-09 15:42 鍙戣〃璇勮
]]>
Ogre瀛︿範璁板綍http://m.shnenglu.com/richardhe/articles/55722.htmlRichardHeRichardHeWed, 09 Jul 2008 07:36:00 GMThttp://m.shnenglu.com/richardhe/articles/55722.htmlhttp://m.shnenglu.com/richardhe/comments/55722.htmlhttp://m.shnenglu.com/richardhe/articles/55722.html#Feedback2http://m.shnenglu.com/richardhe/comments/commentRss/55722.htmlhttp://m.shnenglu.com/richardhe/services/trackbacks/55722.html闃呰鍏ㄦ枃

RichardHe 2008-07-09 15:36 鍙戣〃璇勮
]]>
娓告垙寮鍙戜腑甯哥敤鐨勮璁℃ā寮?/title><link>http://m.shnenglu.com/richardhe/articles/55721.html</link><dc:creator>RichardHe</dc:creator><author>RichardHe</author><pubDate>Wed, 09 Jul 2008 07:34:00 GMT</pubDate><guid>http://m.shnenglu.com/richardhe/articles/55721.html</guid><wfw:comment>http://m.shnenglu.com/richardhe/comments/55721.html</wfw:comment><comments>http://m.shnenglu.com/richardhe/articles/55721.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/richardhe/comments/commentRss/55721.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/richardhe/services/trackbacks/55721.html</trackback:ping><description><![CDATA[     鎽樿: 鍑鴻嚜http://blog.csdn.net/duzhi5368/archive/2008/04/22/2314232.aspx 浣跨敤璁捐妯″紡鏉ユ彁楂樼▼搴忓簱鐨勯噸澶嶅埄鐢ㄦф槸澶у瀷紼嬪簭欏圭洰寮鍙戝繀欏葷殑銆備絾鏄湪“鍥涗漢甯?#8221;鐨勮璁℃ā寮忔榪頒腑鎻愬埌浜?3縐嶆爣鍑嗚璁℃ā寮忥紝涓嶄絾闅句互璁頒綇錛岃屼笖鏈変簺璁捐妯″紡鏇村鐨勯傜敤浜庡簲鐢ㄧ▼搴忓紑鍙戯紝瀵規父鎴忛」鐩紩鎿庤璁″茍娌℃湁寰堝鐨勫埄鐢ㄤ環鍊箋傛牴鎹粡楠岋紝綺炬寫緇嗛夊悗錛岀瑑蹇楀湪...  <a href='http://m.shnenglu.com/richardhe/articles/55721.html'>闃呰鍏ㄦ枃</a><img src ="http://m.shnenglu.com/richardhe/aggbug/55721.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/richardhe/" target="_blank">RichardHe</a> 2008-07-09 15:34 <a href="http://m.shnenglu.com/richardhe/articles/55721.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>OGRE+Physx璧涜濺娓告垙寮鍙戝績寰?/title><link>http://m.shnenglu.com/richardhe/articles/55720.html</link><dc:creator>RichardHe</dc:creator><author>RichardHe</author><pubDate>Wed, 09 Jul 2008 07:30:00 GMT</pubDate><guid>http://m.shnenglu.com/richardhe/articles/55720.html</guid><wfw:comment>http://m.shnenglu.com/richardhe/comments/55720.html</wfw:comment><comments>http://m.shnenglu.com/richardhe/articles/55720.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/richardhe/comments/commentRss/55720.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/richardhe/services/trackbacks/55720.html</trackback:ping><description><![CDATA[<p>鍑鴻嚜: <a >http://blog.csdn.net/tonywjd/archive/2006/08/11/1052346.aspx</a></p> <p>娓告垙涓昏鐢ㄥ埌浜嗗嚑涓紩鎿庯紝鐗╃悊寮曟搸錛圥hysicsX SDK <st1:chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899">2.3.2</st1:chsdate>錛屽嵆NovedeX鐨勬柊鐗堟湰錛夛紝鍥懼艦娓叉煋寮曟搸錛圤GRE 1.2.0錛屽寘鎷漢鏈虹晫闈㈢殑CEGUI閮ㄥ垎錛夛紝澹伴煶寮曟搸錛圖irect Sound錛夛紝緗戠粶寮曟搸錛圧akNet錛屽彲鎯滅敱浜庢椂闂寸瓑鍘熷洜錛屽姞鍏ュけ璐ワ紝澶уぇ闄嶄綆娓告垙鍙帺鎬э級錛屽緩妯$敤Maya鍜?dsMax銆?/p> <p><strong>妯″瀷鐨勫鍑?/strong><strong></strong></p> <p>OGRE鏈夎嚜宸辯殑3D妯″瀷鏍煎紡錛?mesh鏍煎紡錛夈傚鍑哄彲浠ョ洿鎺ュ嚭OGRE瀹樻柟緗戠珯涓嬭澆瀵煎嚭鎻掍歡銆備笉榪囧鍑烘彃浠舵湁濂戒簺Bug銆傚浜庡緩妯℃柟寮忕殑涓嶅悓瀵煎嚭涔熶笉鍚岋紝Maya鐨勫鍑烘彃浠朵笉鑳藉鍑洪潪灝侀棴鐨勬洸闈紝鑰?dsMax鍙互錛屾墍浠ュ彲浠ラ氳繃瀹冨鎴?mesh銆?/p> <p>鍙﹀錛屽湪鐗╃悊寮曟搸涓琛ㄧ幇綺劇‘鐨勭鎾烇紝鏈濂借兘寰楀埌妯″瀷鐨勭綉鏍肩粨鏋勶紝鍗蟲ā鍨嬬殑鐐歸潰淇℃伅錛岃屼笉鏄敤綆鍗曠殑瑙勫垯褰㈠紡鏉ュ寘瑁廣傛垜浠殑娓告垙涓湴鍥劇敤鐨勬槸鍓嶈咃紝鑰岃濺杈嗛亾鍏風瓑鐢ㄧ殑鏄悗鑰呫?/p> <p>浣哖hysicsX騫朵笉鏀寔.mesh銆傛墍浠ユ垜浠槸閫氳繃瀵煎嚭鎻掍歡瀵煎嚭鐨?mesh.xml鏍煎紡鏂囦歡涓鍙栫偣闈俊鎭紙浠呮錛夛紝鍐嶅啓鍒拌嚜瀹氫箟鐨勪簩榪涘埗鏂囦歡鏍煎紡涓紝涓虹墿鐞嗗紩鎿庝嬌鐢ㄣ?/p> <p><strong>OGRE</strong><strong>涓?/strong><strong>PhysicsX</strong><strong>涔嬮棿鐨勮﹀悎</strong><strong></strong></p> <p>PhysicsX鍜孫GRE鍦烘櫙綆$悊姣旇緝綾諱技錛岄兘鏈夊搴旂殑綾匯備竴涓彲浠ョЩ鍔ㄧ殑鐗╀綋錛屽湪OGRE涓彲浠ョ敤SceneNode瀹炵幇錛屽茍鍔犲叆鍒板満鏅鐞? 涓紝鍦≒hysicsX涓垯鍙互鐢∟xActor瀵瑰簲銆侼xActor涓璓hysicsX涓殑涓涓墿鐞嗗崟浣嶏紝瀹冨彲浠ユ妸涓涓墿浣撶敤綆鍗曠殑鍑犱釜瑙勫垯鍑犱綍褰㈢姸鍖? 瑁硅搗鏉ワ紝鎵浠ョ殑閲嶅姏銆佺鎾炵瓑鐗╃悊浣滅敤閮戒綔鐢ㄥ湪NxActor涓紝騫朵駭鐢熺浉搴旂殑鐗╃悊鍙嶅簲銆傚緱鍒扮浉搴旂殑鐗╃悊鏁版嵁涔嬪悗錛屽啀閫氳繃璁劇疆SceneNode鐩稿簲灞炴э紝 灝卞彲浠ュ疄鐜伴肩湡鐨勭墿鐞嗘晥鏋溿?/p> <p>浜嬪疄涓婏紝鍦板浘鍦烘櫙涔熸槸浣滀負鏅氱殑3D鐗╀綋鏉ュ疄鐜般?/p> <p>鑰孫GRE涓嶱hysicsX涔嬮棿鐨勬槧灝勫茍涓嶆槸瀵逛簬姣忎竴涓墿浣撹繘琛屾槧灝勫皝瑁呭疄鐜般傝屾槸鎶婅繖涓ら儴鍒嗗皝瑁呮垚鐙珛鐨勪袱涓ā鍧楋紝浣嗚繖涓ら儴鍒嗕腑鎵鏈夌殑鐗╀綋閮芥槸 涓涓瀵瑰簲鐨勩傚湪涓葷▼搴忎腑錛屽啀鎶婁粠PhysicsX閮ㄥ垎璁$畻鍑虹殑緇撴灉錛屼紶閫掔粰OGRE閮ㄥ垎錛岃繘琛岀粯鍒躲傝繖鏍蜂篃涓虹綉緇滅殑鍔犲叆鎻愪緵浜嗗ソ鐨勫祵鍏ョ偣銆傚洜涓哄彧瑕佹湇鍔$ 榪涜鍏ㄩ儴鐗╃悊榪愮畻錛屽啀鎶婅繍綆楃殑緇撴灉鍙戠粰瀹㈡埛绔疧GRE榪涜娓叉煋銆?/p> <p>OGRE涓殑frameStated(const FrameEvent &evt)浣滀負紼嬪簭鐨勪富綰跨▼錛屽湪鍏朵腑璋冪敤</p> <p>m_NxScene->simulate(evt.timeSinceLastFrame); // m_NxScene, instance of (NxScene*)</p> <p>m_NxScene->flushStream();</p> <p>m_NxScene->fetchResults(NX_RIGID_BODY_FINISHED);</p> <p>鍐嶆妸榪愮畻鐨勭墿鐞嗙粨鏋滅粰OGRE緇樺埗銆?/p> <p>榪欐牱OGRE涓嶱hysicsX緇撳悎鍦ㄤ竴璧鳳紝鑰屼袱鑰呯殑鍐呴儴瀹炵幇鏄簰涓嶅獎鍝嶇殑錛屽彲浠ョ嫭绔嬬紪紼嬶紝鍙澶勭悊濂戒袱鑰呯墿浣撶殑涓涓瀵瑰簲鍏崇郴銆?/p> <p><strong>鍦板浘鍦烘櫙鐨勫疄鐜?/strong></p> <p>瀵逛簬OGRE鏉ヨ鏈変笓闂ㄧ殑瀹ゅ鍦板浘鍦烘櫙綆$悊銆備絾鏄敱浜庡叾楂樺害鍥懼緢闅懼鍏ュ埌PhysicsX涓紝闄ら潪閫氳繃寤烘ā鏃跺緱鍒扮偣闈俊鎭紝浣嗗湪鍏蜂綋鎿嶄綔涓緢闅懼仛鍒? 楂樺害鍥句笌緗戞牸鐐歸潰淇℃伅鐨勪竴鑷淬傛垜浠繕璇曡繃鍦ㄧ▼搴忓垵濮嬪寲鏃墮氳繃OGRE鐨凴ay鍙栧緱鍦板浘涓奙*N涓偣鐨勫潗鏍囷紝緇勬垚2*M*N涓笁瑙掑艦闈㈢墖錛屼嬌鐢ㄥ埌鐗╃悊寮曟搸 涓紝榪戜技鐨勫疄鐜扮墿鐞嗗湴鍥俱備絾榪欑瀹炵幇鎵鏈夌殑涓夎褰㈠湪XZ騫抽潰涓婄殑鎶曞獎閮芥槸涓鏍風殑錛岄潰鐗囧お灝戝彲鑳戒笉綺劇‘錛屽お澶氬張浼氬鍔犱笉蹇呰鐨勫紑閿錛屾葷殑鏉ヨ涓嶅鐞嗘兂銆?/p> <p>PhysicsX涓篃鏈変笓闂ㄧ敤浜庡鐞嗗湴鍥懼満鏅殑NxActor錛屽彲浠ュ湪鍒涘緩NxActor鍓嶉氳繃</p> <p>terrainDesc.heightFieldVerticalAxis = NX_Y;       // terrainDesc is a NxTriangleMeshDes</p> <p>                                                 // Default: NX_NOT_HEIGHTFIELD</p> <p>terrainDesc.heightFieldVerticalExtent    = <st1:chmetcnv tcsc="0" numbertype="1" negative="True" hasspace="False" sourcevalue="1000" unitname="F">-1000.0f</st1:chmetcnv>;</p> <p>榪涜璁劇疆銆傝繖鏍峰彲浠ュぇ澶х殑鎻愰珮鏁堢巼銆傝繖鏈潵搴旇鏄竴涓悊鎯崇殑鍋氭硶銆備絾鐢變簬鎴戜滑寤烘ā鏃舵ā鍨嬪鍑烘湁浜涜宸殑鍘熷洜錛屼細鍑虹幇鏌愪簺闈㈢墖涓哄瀭鐩達紝鐗╃悊紕版挒鐨勬晥鏋? 鍦ㄨ繖浜涘湴鏂硅繃浜庢縺鐑堬紝琛ㄧ幇鍦ㄥ睆騫曚笂灝辨槸杞︿細紿佺劧琚挒寰楅璧鋒潵寰堥珮銆傛垜浠瘯浜嗗緢涔呴兘娌℃壘鍒板悎閫傜殑妯″瀷瀵煎嚭鏂規硶閬垮厤榪欎竴鐜拌薄銆傛墍浠ュ彧鏈夋墍鍦板浘鍦烘櫙涔熶綔涓轟竴涓櫘 閫氱殑NxActor榪涜澶勭悊錛岃繖鏍鳳紝铏界劧鍏嬫湇涓嶄簡寤烘ā瀵煎嚭鏃剁殑榪欎釜闂錛屼絾涔熶笉鏄撹鐜╁鍙戣銆?/p> <p>榪欐牱錛屽湴鍥懼満鏅氨鏈変簡瀹炵幇鐨勬柟娉曚簡錛氬湪OGRE涓綔涓烘櫘閫氱殑.mesh瀵瑰緟錛屽垱寤篠ceneNode鍜孍ntity錛涘湪PhysicsX涓紝浣滀負鏅氱殑NxActor瀵瑰緟錛屽彧鏄敤NxCooking榪涜澶勭悊錛屽叿浣撴病鍘葷粏絀訛紝鍙兘鏄負浜嗘彁楂樻ц兘銆?/p> <p><strong>杞﹁締鐨勫疄鐜?/strong><strong></strong></p> <p>杞﹁締鐨勫疄鐜版槸鏈父鎴忕殑閲嶇偣銆?/p> <p>褰撶劧涔熷垎OGRE鍜孭hysicsX涓ら儴鍒嗗疄鐜般?/p> <p>OGRE閮ㄥ垎榪樺寘鎷瑙掑嵆錛圕amera錛夛紝鑰屽叾浠栬濡傛補閲忥紝閬撳叿涔嬬被鐨勪笌杞﹁締鏈韓鏃犲叧鐨勮繖閲屼笉鍋氭弿榪般備竴杈嗚濺鐨勪富瑕佺粨鏋勫涓嬶細</p> <p><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/tonywjd/image002.gif" alt="杞﹁締緇撴瀯鍥?></p> <p>瀵逛簬涓杈嗚濺鐨勫緩妯★紝榪欓噷榪樻槸姣旇緝綺楃硻錛屽彧鏄垎涓鴻濺杞拰杞︿綋錛屾妸杞﹁疆鍒嗙鍑烘潵涓昏鏄疄鐜拌疆瀛愮殑杞悜鏁堟灉銆?/p> <p>鐢變簬鏈父鎴忕殑鍒濊》鏄疄鐜板浜哄鎴樼殑緗戠粶娓告垙錛屽彧鏄埌鏈鍚庢病鑳藉疄鐜扮綉緇滐紝鏀逛負鍗曟満銆備絾鎵浠ョ殑灝佽閮芥槸涓哄浜虹綉緇滄父鎴忓噯澶囩殑銆?/p> <p>鎵鏈夎濺浼氱敱涓涓被榪涜緇熶竴綆$悊錛岃岃繖涓被鐢ㄤ簡Singleton璁捐妯″紡銆傚湪鍏朵笂鏈夊彟涓涓皝瑁匫GRE鍦烘櫙鍜岃濺杈嗙殑鎬葷被銆?/p> <p>PhysicsX閮ㄥ垎錛岃濺浣撶敱鍗佸嚑綆鍗曠殑闈㈢墖榪涜鍖呰9錛岃岃濺杞槸鍏抽敭銆?/p> <p>杞﹁締閫氳繃鏋勯犺疆瀛愮殑灞傛緇撴瀯瀹炵幇錛岃濺鐢辮濺浣撳拰鍥涗釜杞﹁疆緇勬垚錛屽疄鐜拌繍鍔ㄤ富瑕佺敱杞﹁疆鎺у埗銆?/p> <p>鎵鏈夎濺杈嗗彲鎺х殑榪愬姩錛堟瘮濡傜鎾炰負涓嶅彲鎺э級閮界敱杞﹁疆甯﹀姩銆傝繖涔熺鍚堝疄鐜扮殑鐗╃悊銆?/p> <p>杞﹁疆鐨勫疄鐜頒富瑕佹槸閫氳繃NxWheelShape瀹炵幇銆備笅闈㈡槸閮ㄥ垎瀵筃xWheelShape鐨勫垎鏋愩?/p> <p>NxWheelShape灞炴э細</p> <p>radius錛歊ange: (0,inf) 杞﹁疆鍗婂緞</p> <p>suspensionTravel錛歊ange: [0,inf)錛宻uspension鐨勪綔鐢ㄨ窛紱?/p> <p>virtual void setLongitudalTireForceFunction (NxTireFunctionDesc tireFunc)=0</p> <p>璁懼畾鍔ㄥ姏瀵規鍚戠殑鍔犻熷害絳夌殑褰卞搷</p> <p>virtual void setLateralTireForceFunction (NxTireFunctionDesc tireFunc)</p> <p>璁懼畾鍔ㄥ姏瀵逛晶鍚戠殑鍔犻熷害絳夌殑褰卞搷錛屽彲浠ュ疄鐜頒晶婊戜箣綾葷殑</p> <p>axleSpeed錛歊ange: (-inf,inf)</p> <p>NOTE: NX_WF_AXLE_SPEED_OVERRIDE flag must be raised for this to have effect</p> <p>An overridden axle speed of course renders the axle motor and brake torques ineffective</p> <p>鐢╯etAxleSpeed鏃訛紝鐩存帴璁懼畾閫熷害錛岃繖縐嶆ā寮忎笉鍐嶅彈motorTorque鍜宐rakeTorque絳夊獎鍝?/p> <p>brakeTorque錛歊ange: [0,inf)</p> <p>鍒硅濺鍔涚煩</p> <p>inverseWheelMass錛氳瀹氬姩鍔涘鍔犻熷害絳夌殑褰卞搷錛岃秺澶т綔鐢ㄤ駭鐢熺殑鏁堟灉瓚婂己</p> <p>motorTorque錛歊ange: (-inf,inf)</p> <p>鍔ㄥ姏鐭╋紝浣胯濺鍓嶈繘</p> <p>steerAngle錛歊ange: (-PI,PI) 杞﹁疆鐨勫亸鍚戣錛屼互寮у害琛ㄧず</p> <p>virtual void NxWheeleShape::setSuspension(NxSpringDesc spring) [pure virtual]</p> <p>涓庡叾浠栫墿浣撶殑鑱旀帴鏈夊叧</p> <p>涓婇潰榪欓儴鍒嗘槸浠ュ墠鍐欑殑鎬葷粨錛岃櫧鐒朵笉瀹屾暣錛岀幇鍦ㄤ篃涓嶆兂鍐嶇粏涓嬪幓浜嗭紝鍒版銆?/p> <p>涓嶈繃鏈変竴鐐硅鎻愮殑鏄紝铏界劧杞﹁疆鐨勬懇鎿﹀姏錛屽脊鎬х郴鏁頒粈涔堢殑 錛坮estitution錛宻taticFriction錛宒ynamicFriction錛夊彲浠ヨ緗紝灝卞儚鍏朵粬鍩烘湰褰㈢姸涓鏍鳳紝浣嗕技涔庢病浠涔堜綔鐢紝灝辮窡鍏? 涓?涓鑸紝鎴戣瘯浜嗗緢涔咃紝閮芥槸榪欐牱錛屼笉鐭ヤ粈涔堝師鍥犮傝繖鏍瘋浣胯濺琛ㄧ幇鍑轟竴瀹氱殑闃誨姏鏁堟灉錛屽彲浠ラ氳繃鎶婂埞杞﹀姏璁句負涓瀹氬煎疄鐜般傚疄鐜頒笂鍙帶鍦板幓褰卞搷杞瓙榪愬姩閫熷害鐨勫彧 鏈夊姩鍔涘拰鍒硅濺鍔涳紙setMotorTorque錛宻etBrakeTorque錛夛紝鑰屽獎鍝嶈濺杞搴︾殑鏄紙setSteerAngle錛夛紝鍙﹀褰撶劧涔熷彲浠ョ洿 鎺ヨ緗疆瀛愮殑鍓嶈繘閫熷害鍜岃漿鍔ㄧ殑瑙掗熷害錛孨xWheelShape鎻愪緵浜嗚繖縐嶆帴鍙c備笉榪囦負浜嗛肩湡鎬э紝鏈濂戒笉瑕佽皟鐢ㄨ繖涓や釜鎺ュ彛錛屽洜涓鴻嚜宸卞疄鐜扮墿鐞嗘晥鏋滃彲鑳芥湁涓 鍫嗗叕寮忚漿鍖栵紝鑰屽彧鏈夊湪杞﹁締鍒濆鍖栨垨浣跨敤浠涔堥亾鍏風殑鏃跺欒皟鐢ㄣ?/p> <p>瑕佸疄鐜頒晶婊戜箣綾葷殑鏁堟灉錛屽彧瑕佽皟鐢╯etLateralTireForceFunction鍗沖彲銆?/p> <p>鍙﹀錛岀敤鐜版垚鐨凬xWheelShape榪樻槸鏈夌己鐐圭殑錛屽氨鏄緢闅捐皟鎵嬫劅錛屽彲鑳戒篃杈冮毦瀹炵幇澶嶆潅鐨勬晥鏋溿傛垜璋冧簡寰堜箙錛屾渶鍚庡彧鑳藉皢灝變簡銆?/p> <p>PhysicsX涓嶉渶瑙嗚澶勭悊銆?/p> <p>PhysicsX綾諱箣闂寸殑緇撴瀯涓嶰GRE閮ㄥ垎鍩烘湰涓婁竴妯′竴鏍楓?/p> <p><strong>璧涢亾鍦堟暟鐨勫垽鏂疄鐜?/strong><strong></strong></p> <p>涓嶇煡閬撳儚鏋佸搧椋炶濺涔嬬被鐨勬父鎴忚禌閬撳湀鏁版槸鎬庝箞瀹炵幇鐨勶紝搴旇涓庢垜浠殑涓嶅悓錛屽洜涓哄畠鍙互姣忔椂姣忓埢鐨勫垽鏂濺杈嗘槸涓嶆槸鍦ㄥ線鍥炶蛋銆傛垜浠兂榪囧彲鑳界殑鏂規硶錛屾瘮濡傝禌閬撳唴鏌愪竴鐐癸紝鍒ゆ柇鍏跺埌杞︿綅緗殑鐭㈤噺鍜岄熷害鐭㈤噺鐨勫す瑙掋傛病璇曡繃銆?/p> <p>鎴戜滑鐢ㄧ殑鏄彟涓縐嶅彧鑳藉垽鏂綋鍓嶅湀鏁扮殑鍔炴硶錛屽瀹炵幇榪欑偣鏉ヨ寰堝噯紜紝鏃犺鍊掑紑錛岃濺浣撲竴鍗婄┛榪囪搗璺戠嚎鍐嶈繑鍥炰粈涔堢殑閮借兘鍑嗙‘鍒ゆ柇銆傝繖鍒╃敤浜哖hysicsX鐨凾rigger銆?/p> <p>鍦ㄨ禌閬撹搗璺戠嚎浣嶇疆鏀劇疆涓や釜鐩擱殧寰堣繎鐨勫緢钖勪絾寰堥珮涓斾笌璧瘋窇綰跨瓑闀跨殑闀挎柟浣揘xActor銆傝NxActor鐨勫艦鐘跺睘鎬т負錛?/p> <p>BoxDesc.shapeFlags |= NX_TRIGGER_ENABLE;      // NxBoxShapeDesc BoxDesc;</p> <p>榪欐牱浠諱綍NxActor紕板埌浜嗚繖涓墿鐞嗛兘浼氳Е鍙戜竴涓猳nTrigger榪囩▼銆傝繖閲屽彧瑕佸畾涔変竴涓被鐨勫璞★紙濡俶ItemTrigger錛変負鎺ュ彈瑙﹀彂浜嬩歡錛岃岃繖涓被緇ф壙NxUserTriggerReport錛屽茍瀹炵幇</p> <p>virtual void onTrigger(NxShape& triggerShape, NxShape& otherShape, NxTriggerFlag status)鏂規硶銆傚啀</p> <p>mScene->setUserTriggerReport(mItemTrigger); // NxScene* mScene;</p> <p>灝卞彲鑳藉疄鐜般?/p> <p>姣忔瑙﹀彂閮戒細璋冪敤涓嬈nTrigger錛屽湪onTrigger涓彲浠ュ垽鏂槸鍒氳繘鍏ヨ鐗╀綋榪樻槸紱誨紑銆傚疄闄呬笂瀵逛簬杞﹀湪涓や釜闀挎柟浣揘xActor涓殑浣? 緗紝鎬誨叡鏈変竷縐嶇姸鎬侊紙浠庡摢涓澶磋繘鍏ュ埌璇ヤ綅緗紝铏界劧緇撴灉浣嶇疆涓鏍鳳紝浣嗙畻涓轟笉鍚岀姸鎬侊紝榪欐牱鍙帓闄よ濺杈嗕竴鍗婅繘璧瘋窇綰垮張榪斿洖寮曡搗鐨勮鏁伴敊璇級銆傚叿浣撶姸鎬佸涓嬪浘錛?/p> <p><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/tonywjd/image003.gif"></p> <p>榪欐牱鐘舵侀棿鐨勮漿鎹㈠嵆涓猴細</p> <p><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/tonywjd/image004.gif" alt="鐘舵佽漿鎹㈠浘"></p> <p>鐢變簬鍙兘媯嫻嬪埌鏄摢涓狽xActor錛岃岃濺杈嗗搴旂殑綾伙紙榪欓噷NxVehicle錛夋槸鑷繁灝佽鐨勶紝閲岄潰鍖呭惈涓涓狽xActor錛屾墍浠ュ緱鍒板摢涓? NxVehicle鍙互鍏呭垎鍒╃敤NxActor涓殑涓涓猵ublic鎴愬憳void* userData鐨勪綔鐢紝璁╁畠鎸囧悜瀹冩墍鍦ㄧ殑NxVehicle瀵硅薄錛坱his錛夊嵆鍙?/p> <p><strong>CEGUI</strong><strong>鐨勫疄鐜?/strong><strong></strong></p> <p>寮曠敤Lzx涓孌碉細</p> <p>“鍒╃敤OGRE寮曟搸鍜孋EGUI榪涜浜嗗熀鏈殑鍦烘櫙鍜孏UI甯冨眬榪涜浜嗙紪鍐欍?/p> <p>CEGUI璇誨彇2DGUI甯冨眬鐨勯厤緗枃浠訛紝榪欎釜鏂囦歡鏄敤xml鏉ョ紪鍐欑殑銆傝繖鏍峰彲浠ュ皢紼嬪簭緙栧啓鍜孶I鐨勮璁$浉瀵瑰垎寮錛屼嬌寰楃▼搴忚璁″拰UI緹庡伐璁捐鍙互鏇村ソ鐨勫垎寮銆傝鍙栧悗鍦?D鍦烘櫙涓繘琛岀粯鍒躲?#8221;</p> <p>榪欎釜瀹為檯涓庢父鎴忚繃紼嬮儴鍒嗘槸鐙珛鐨勩傜敱浜庢椂闂寸揣榪紝鎴戜滑騫舵病榪涜寰堝ソ鐨勫皝瑁呭疄鐜幫紝鍙湪涓鍛沖湪鍐欏湪綾伙紙class CuteCarFrameListener : public ExampleFrameListener, public MouseMotionListener, public MouseListener錛変腑銆?/p> <p>榪欓儴鍒嗗叿浣撲笉鏄垜鍋氱殑錛屼篃娌″幓緇嗙┒銆傝屼笖鏄湪緗戠粶鍔犲叆澶辮觸鍚庡仛鐨勶紝鎵浠ュ茍娌¤冭檻緗戠粶鏂歸潰鐨勬帴鍙o紝榪欓噷渚夸笉璇﹁堪浜嗐?/p> <p>鍙﹀錛屽皬鍦板浘鍜岃濺閫熻〃鐨勫疄鐜頒篃鏄繖閮ㄥ垎鍐呭銆?/p> <p>灝忓湴鍥懼疄鐜板厛璐翠竴寮犺禌閬撳浘錛屽湪浠庣墿鐞嗗紩鎿庡緱鍒拌濺杈嗙殑浣嶇疆錛岀畻鍑哄湪鍦板浘涓婄殑鐩稿綋浣嶇疆錛堢櫨鍒嗘瘮錛夛紝鏄犲皠鏄劇ず鍒板皬鍦板浘涓婂嵆鍙?/p> <p>杞﹂熻〃鍒欐洿綆鍗曪紝璇誨嚭閫熷害錛岀敾涓浘灝卞彲銆?/p> <p><strong>鐜╁瑙嗚</strong><strong>Camera</strong><strong>鐨勫疄鐜?/strong><strong></strong></p> <p>鍦ㄨ濺杈嗗疄鐜頒腑宸叉湁鎻忚堪錛岃繖閲屽彧鏄竴縐嶅疄鐜版柟妗堛?/p> <p>鍙垱寤轟竴涓狢amera瀵硅薄錛屾敞鎰忓畠涓嶈兘琚涓猄ceneNode鏉ttach錛屾墍浠ヨ漿鎹㈣瑙掓椂錛岃鍏坉etatch銆傝繖涓綋鏃舵帰绱簡濂戒簺鏃墮棿錛屼笉榪囬兘鏄疧gre鍩烘湰鐭ヨ瘑錛屽仛璧鋒潵榪樻槸綆鍗曠殑錛屼笉璇寸艦銆?/p> <p>鎻愪竴涓嬶紝鍦ㄥ疄闄呰濺杈嗚椹頒腑錛屼漢鐨勮綰胯窡闅忛氬父浼氭瘮杞﹁締杞集鐨勫姩浣滅◢鏅氫竴鐐圭偣錛岃繖閲屽氨鍔犱簡涓涓紦鍐詫紝涔熷氨鏄瘡嬈$湅鍒扮殑涓滆タ閮芥槸30甯т箣鍓嶇殑鍦烘櫙錛屼互瀹炵幇鏇村ソ鐨勬晥鏋溿傝繖涓氳繃涓涓摼琛紙鏁扮粍錛夊氨寰堝鏄撳疄鐜般?/p> <p>鍙﹀杞﹁締宸﹀彸鎽嗗姩鏃訛紝浜虹殑瑙嗚鏄笉浼氳窡鐫宸﹀彸鎽嗙殑錛岃櫧鐒剁幇瀹炰腑鍙兘浼氫竴浜涳紝浣嗗湪娓告垙涓細緇欎漢榪囦簬鏅冨姩鐨勬劅瑙夛紝榪欓噷灝辨妸宸﹀彸鎽嗗姩鍘繪帀浜嗭紝涔熷氨鏄疌amera鍚戜笂鍚戦噺濮嬬粓涓巠杞村鉤鏃訛紝榪欓氳繃涓浜涙暟瀛﹁繍綆椾究鍙紝璇村疄璇濓紝鎴戞槸鍑戝嚭鏉ヤ簡錛岃姳濂介暱鏃墮棿銆?/p> <p><strong>澹伴煶鐨勫疄鐜?/strong><strong></strong></p> <p>涔熶笉鏄垜鍋氱殑錛屽悓瀛zx鍋氱殑錛屽紩鐢ㄤ竴孌碉細</p> <p>“闊抽妯″潡鏀寔3D鍜岄潪3D鐨勬挱鏀炬ā寮忋傝冭檻鍒版挱鏀炬椂澶氭璇婚煶棰戞枃浠朵細鎻愰珮闊抽妯″潡鐨凜PU鍗犵敤鐜囪屽獎鍝嶆父鎴忚繘琛岋紝鎵浠ラ拡瀵逛竴涓煶棰戞枃浠訛紝姣忔鎶婇煶棰戞枃浠跺叏閮ㄨ鍙栧埌緙撳瓨涓屼笉鏄嬈¤鍙栵紝姣忔璇誨彇涓閮ㄥ垎銆傝繖鏄釜鐢ㄥ唴瀛樻崲CPU鏁堢巼鐨勯夋嫨銆?#8221;</p> <p>澹伴煶鐨勫姞鍏ワ紝瀵瑰師鍏堢殑紼嬪簭鍩烘湰鏃犲獎鍝嶃傚洜涓轟嬌鐢ㄧ殑DirectSound鍜屼笂闈㈣繖浜涘熀鏈畻鐙珛錛孡zx灝佽寰椾篃鐩稿綋涓嶉敊銆傚0闊蟲挱鏀炬椂鑷姩浼氬紑綰跨▼錛屽娓告垙鍏跺畠妯″潡鏃犱換浣曞獎鍝嶃?/p> <p><strong>鏈夊叧緗戠粶寮曟搸鍔犲叆澶辮觸</strong><strong></strong></p> <p>鍘熻鍒掔綉緇滃紩鎿庨噰鐢≧akNet錛屼篃灝佽浜嗕竴浜涗笢瑗匡紝涔熸彁渚涗簡涓嶉敊鐨勬帴鍙c備絾鐢變簬褰撳垵娓告垙鐨勬暣浣撹璁′笉鍏呭垎錛屾父鎴忔鏋惰璁℃垚涓涓狾gre浣滀負涓葷嚎 紼嬶紝鑰岀綉緇滈儴鍒嗛渶瑕佸崟鐙紑杈熶竴涓嚎紼嬫潵榪涜鏁版嵁浼犺緭鍜屽鐞嗭紝濡傛灉騫跺湪涓涓嚎紼嬮噷闈紝浼氫嬌綰跨▼闃誨錛屼嬌鏁版嵁浼犻佺浉褰撶紦鎱紝鐢氳嚦涓嶆垚鍔燂紝瀵艱嚧娓告垙鐨勬棤娉曠戶緇? 鐢變簬鏃墮棿鐨勫叧緋伙紝妗嗘灦鏇存柊鏃墮棿涓嶈凍錛屽彧濂芥斁寮冭繖鍧楋紝鍋氭垚鍗曟満鐗堛?/p> <p>鐢變簬緗戠粶寮曟搸闇瑕侀澶栫殑綰跨▼鍜岀紦鍐詫紝鑰孫GRE騫朵笉鎻愪緵榪欑鍔熻兘銆傛渶濂界殑鍔炴硶鏄垱寤轟竴涓富綰跨▼錛岃屾妸OGRE涓驚鐜綔涓轟竴涓瓙綰跨▼鏉ュ鐞嗐備絾榪欐牱鍋氾紝鍘熷厛鎴戜滑灝佽鐨勭郴緇熸槸涓嶈兘澶熸敮鎸侊紝澶ч噺鏀瑰彉浠g爜錛屾椂闂村凡涓嶅錛屾墍浠ユ棤濂堝彧濂芥斁寮冦?/p> <p>鍦ㄧ綉緇滀笂鑺辯殑綺懼姏澶皯錛屼竴寮濮嬩笉澶熼噸瑙嗕篃鏄釜鍘熷洜鍟娿傝屼簨瀹炰笂鎴戜滑瀵逛簬緗戠粶涓婄殑緙栫▼姣棤緇忛獙銆?/p> <p><strong>璐翠簺娓告垙鎴浘錛岀編宸ヨ繕铔?/strong><strong>PP</strong></p> <p><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/tonywjd/image005.png" alt="鐧誨綍鐣岄潰" vspace="3" width="269" height="203" hspace="3"><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/tonywjd/image007.png" alt="甯姪" vspace="3" width="269" height="203" hspace="3"><br> <img src="http://p.blog.csdn.net/images/p_blog_csdn_net/tonywjd/image009.png" alt="娓告垙1" vspace="3" width="269" height="203" hspace="3"><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/tonywjd/image011.png" alt="娓告垙2" vspace="3" width="269" height="203" hspace="3"><br> <img src="http://p.blog.csdn.net/images/p_blog_csdn_net/tonywjd/image013.png" alt="娓告垙3" vspace="3" width="269" height="203" hspace="3"><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/tonywjd/image015.png" alt="娓告垙4" vspace="3" width="269" height="203" hspace="3"><br> <img src="http://p.blog.csdn.net/images/p_blog_csdn_net/tonywjd/image017.png" alt="緇撴潫" vspace="3" width="269" height="203" hspace="3"><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/tonywjd/image019.png" alt="鎺掕姒? vspace="3" width="269" height="203" hspace="3"></p> <p><strong>鍚庤瘽</strong><strong></strong></p> <p>璋冭瘯灝辯敤OGRE鎻愪緵鐨凩og濂戒簡錛屼笉鑳戒竴姝ユ榪涜璋冭瘯銆傝繕鏈変竴涓ソ鍔炴硶灝辨槸鐢熸垚.map鏂囦歡錛屽啀鏍規嵁windows涓嚭閿欐彁紺烘涓氬父鎻愮ず榪愯鍒? 鍝釜铏氭嫙鍦板潃鍑洪敊錛屽湪.map鏂囦歡涓壘鍑轟唬鐮佺殑鍏蜂綋鍑洪敊琛屻傝繖瀹為檯涓婂浜庡凡緇忕粰鐜╁浣跨敤鐨勭▼搴忔牴鎹帺瀹惰幏寰楃殑鍑洪敊淇℃伅鎵綛ug寰堟湁甯姪</p><img src ="http://m.shnenglu.com/richardhe/aggbug/55720.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/richardhe/" target="_blank">RichardHe</a> 2008-07-09 15:30 <a href="http://m.shnenglu.com/richardhe/articles/55720.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>NxOgre緙栬瘧澶囧繕http://m.shnenglu.com/richardhe/articles/55701.htmlRichardHeRichardHeWed, 09 Jul 2008 03:51:00 GMThttp://m.shnenglu.com/richardhe/articles/55701.htmlhttp://m.shnenglu.com/richardhe/comments/55701.htmlhttp://m.shnenglu.com/richardhe/articles/55701.html#Feedback0http://m.shnenglu.com/richardhe/comments/commentRss/55701.htmlhttp://m.shnenglu.com/richardhe/services/trackbacks/55701.htmlNxOgre緙栬瘧澶囧繕

windows2000錛孷S2005緙栬瘧NxOgre

鐜錛?span lang="EN-US">windows2000錛寁s2005錛坈++錛宼eam suite錛夛紝.net1.0

 

涓昏鍐呭

1. vs2005 sp1

2. ogre1.40:

3 PhsyX2.62

4. NxOgre

5 緙栬瘧NxOgre tutorials

 

 

1. vs2005 sp1

 

    1.1 鏌ョ湅鑷繁鐨剉s2005鏄惁宸茬粡瀹夎浜唖p1銆?o:p>

        a) 鍦↖DE閲岄夋嫨“甯姪->鍏充簬Visual Studio 2005”鑿滃崟欏癸紝鏌ョ湅涓涓嬶紝紜SP1鍒椾負鍏朵腑涓涓畨瑁呯殑浜у搧錛?o:p>

        b) 鍦↖DE閲岄夋嫨“鏂囦歡->鏂伴」鐩?#8221;鑿滃崟欏癸紝鏌ョ湅涓涓嬶紝紜VS 2005 Web搴旂敤欏圭洰妯″瀷閫夐」(鏄唴緗簬SP1涓殑)琚畨瑁呬簡錛岃屼笖鏄搗浣滅敤鐨勶細

        錛堝紩鑷?a target="_blank">http://www.shengfang.org/blog/in ... a2aaf8dc91169701875錛?o:p>

 

    1.2 sp1鐨勪笅杞?o:p>

        錛堝紩鑷?a target="_blank">http://hi.baidu.com/yongfa365/bl ... e5b57fcb80c484.html錛?o:p>

        VS2005 SP1鑻辨枃姝e紡鐗堜笅杞藉湴鍧 431M http://download.microsoft.com/do ... B926601-X86-ENU.exe

        VS2005 SP1涓枃姝e紡鐗堜笅杞藉湴鍧 440M

http://download.microsoft.com/do ... B926604-X86-CHS.exe

 

    1.3 sp1鐨勫畨瑁呮敞鎰忎簨欏?o:p>

        1.瀹夎鏃墮棿浼氶潪甯擱暱錛屽鏋滄満鍣ㄩ厤緗笉鏄緢楂樼殑璇濋渶瑕?涓皬鏃訛紝涓鑸殑璇濅篃闇瑕?涓皬鏃跺乏鍙蟲墍浠ヨ鑰愬績絳夊緟銆?o:p>

        2.瀹夎鍓嶆鏌ヤ綘鐨刢鐩樻槸鍚︽湁澶т簬3G鐨勭┖浣欑┖闂達紝鍥犱負瀹夎鐨勬椂鍊欎細閲婃斁寰堝涓存椂鏂囦歡鍦╟鐩橈紝濡傛灉涓嶈兘淇濊瘉澶т簬3g鐨勮瘽鍙兘浼氬彂鐢熷紓甯擱敊璇紝涓嶈繃鎴戝湪瀹夎鐨勬椂鍊欐病鏈夊崰鐢?G榪欎箞鎭愭栵紝涓嶈繃涔熻搗鐮佸崰鐢ㄤ簡1G澶氱殑絀洪棿銆?o:p>

          錛坰p1涓嬭澆鍒扮殑閭d釜紓佺洏鍒嗗尯錛屾渶濂界┖闂翠篃瑕佸ぇ涓浜涳級

        3.濡傛灉浣犱互鍓嶅畨瑁呰繃web application project錛屽湪瀹夎vs2005 sp1浠ュ墠璇峰厛鎶婁粬鍗歌澆錛屼笉鐒朵笉鑳芥垚鍔熷畨瑁卾s2005 sp1

        4.vs2005sp1鐨勮ˉ涓佸寘鏄妸浣犳満鍣ㄤ笂鎵鏈夊崟鐙榪噕s2005鐨勭増鏈殑琛ヤ竵閮芥墦涓?濡傛灉鏈哄櫒涓婅浜哣isual Web Developer Express鍜孷isual Studio team sutie,閭d箞浠栧氨瑕佽繍琛屽畨瑁呰ˉ涓佷袱嬈?

    錛堝紩鑷?a target="_blank">http://www.cnblogs.com/ltp/archive/2007/02/25/656562.html錛?o:p>

 

    1.4 瀹夎sp1

        鍦?a target="_blank">http://www.cnblogs.com/ltp/archive/2007/02/25/656562.html銆愭枃1銆戜腑鏈塿s2005 sp1瀹夎鐨勪竴鑸柟娉曘?o:p>

        鍙槸錛?.鎴戠殑鏈哄櫒鏄痺indows2000錛屾壘涓嶅埌“杞歡闄愬埗絳栫暐”銆?.鎵ц銆愭枃1銆戜腑鐨?bat鏂囦歡鏃跺嚭閿欙紞錛嶆棤娉曞皢鐩稿簲鐨勯敭鍊煎鍏ユ敞鍐岃〃銆?o:p>

        瑙e喅鏂規硶鏄墜鍔ㄥ鍏ユ敞鍐岃〃閿鹼細

             * "寮濮?錛嶃?#8220;榪愯”錛嶃嬮敭鍏egedit錛堝洖杞︼級銆?o:p>

             * 鎵懼埌HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer

             * 鍦ㄥ叾涓嬮潰寤虹珛涓欏癸細鍚嶇О錛歁axPatchCacheSize錛岀被鍨嬶細REG_DWORD錛屾暟鎹鹼細0

 

    鐜板湪鎵ц鎵瑰鐞嗘枃浠舵潵瀹夎

    鍋囪涓嬭澆鐨剆p1瀛樻斁鍦ㄧ洰褰昫ir涓嬶紝

        1錛?鍦╠ir鐩綍涓嬪緩绔媋.bat鏂囦歡銆?o:p>

        2錛?鐢ㄨ浜嬫湰鎵撳紑a.bat錛屾妸涓嬪垪鐨勪唬鐮佸鍒惰繘鍘伙紝淇濆瓨錛屽叧闂?o:p>

                regedit export HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer installer.reg

                regedit add HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer /v MaxPatchCacheSize /t REG_DWORD /d 0 /f

                net stop msiserver

                start /wait VS80sp1-KB926604-X86-CHS.exe

                //錛堟湰琛屾槸娉ㄩ噴錛屼笉瑕佹嫹璐濓級VS80sp1-KB926604-X86-CHS.exe鏄笅杞界殑涓枃sp1鏂囦歡鐨勫悕縐般傚鏋滀笅杞借嫳鏂囩殑sp1錛岄渶浣滅浉搴旂殑鏇挎崲

                regedit delete HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer /v MaxPatchCacheSize /f

                regedit import installer.reg

                net stop msiserver

                del /q installer.reg 2>nul

        3錛?鍙屽嚮鎵цa.bat銆傝櫧鐒跺湪鎴戠殑window2000涓婁粛鏃т細鏈夊嚑涓敊璇備絾鍙互鏃犺涔嬨?sp1寮濮嬪畨瑁呬簡銆?o:p>

 

    cpu1.7G錛屽唴瀛?56M銆傚畨瑁呮椂闂磋繎3灝忔椂錛宑鐩樺崰浜?G銆?o:p>

 

 

瀹夎NxOgre鍩烘湰鏄寜鐓у畼鏂圭殑瀹夎姝ラ錛?a target="_blank">http://nxogre.org/Installing

 

2. ogre1.40:

    鍦ㄨ繖閲屼笅杞戒互涓嬩袱涓寘http://www.ogre3d.org/index.php? ... =412&Itemid=132

    ogre-win32-v1-4-0.zip錛堣В鍘嬬緝鍒癏:\ProgramFiles\Ogre\ogrenew錛?o:p>

    OgreDependencies_VC8SP1_Eihort_20070323.zip錛堣В鍘嬬緝鍒癏:\ProgramFiles\Ogre\ogrenew涓嬶級

    緙栬瘧ogre.sln欏哄埄閫氳繃

 

    娉ㄦ剰錛岃鏈夎凍澶熺殑紜洏絀洪棿鏉ョ紪璇憃gre鐨勬簮浠g爜錛佹垜閫夋嫨鎵圭紪璇戯紞銆嬪叏閮ㄣ傜紪璇戝畬鎴愬悗錛宱grenew鐩綍绔熺劧鏈?.59G錛侊紒錛?.obj *.ncb *.sbr *.idb *.pdb *.dep鏂囦歡鍗犱簡3.47G錛?o:p>

 

 

3 PhsyX2.62

    鍙互鍙傜収瀹樻柟鐨勬楠?a target="_blank">http://nxogre.org/Installing

 

 

4. NxOgre

    4.1 涓嬭澆NxOgre

        NxOgre.0.4.RC3.zip錛堝彲浠ュ湪瀹樻柟http://nxogre.org涓嬭澆錛?o:p>

        NxOgre.0.4.RC3.tutorials.zip錛堝彲浠ュ湪瀹樻柟http://nxogre.org涓嬭澆錛?o:p>

        NxOgrePatch-ForEihort-VS8SP1.zip錛坉ownload from http://www.ogre3d.org/phpBB2addons/viewtopic.php?t=3505錛?o:p>

 

    4.2 瑙e帇緙?o:p>

        涓変釜鍖呭叏閮ㄨВ鍘嬬緝鍒癏:\ProgramFiles\Ogre\NxOgre

 

    4.3 璁劇疆鐜鍙橀噺

        NXOGRE_DIR=H:\ProgramFiles\Ogre\NxOgre

        OGRE_HOME=H:\ProgramFiles\Ogre\ogrenew\OgreMain;H:\ProgramFiles\Ogre\ogrenew

        (OGRE_HOME鐨勫艱緗殑鍙兘鏈夐棶棰樸傚洜涓虹紪璇慛xOgre tutorials鏃舵彁紺烘壘涓嶅埌ogre.h)

        PHYSX_DIR=H:\Program Files\AGEIA Technologies\AGEIA PhysX SDK\v2.6.2

 

    4.4 緙栬瘧NxOgre

        鎵撳紑H:\ProgramFiles\Ogre\NxOgre\NxOgre.VC8.sln

        鍙兘鏄墠闈㈢殑OGRE_HOME璁劇疆鐨勪笉瀵癸紝鎵浠ラ渶瑕佸姞鍏gre鐨勭洰褰曟墠鑳界紪璇戦氳繃

        鍦ㄥ睘鎬э紞>c/c++錛?gt;inlude鐩綍閲?#8220;鏈鍓嶉潰”鍔犲叆“H:\ProgramFiles\Ogre\ogrenew\OgreMain\include”緙栬瘧ok

        鍦ㄥ睘鎬?>閾炬帴錛?gt;搴撶洰褰?#8220;鏈鍚?#8221;鍔犲叆"H:\ProgramFiles\Ogre\ogrenew\lib"

 

5 緙栬瘧NxOgre tutorials

    5.1

        鎵撳紑H:\ProgramFiles\Ogre\NxOgre\tutorials\NxOgreTutorials.sln

        鍙兘鏄墠闈㈢殑OGRE_HOME璁劇疆鐨勪笉瀵癸紝鎵浠ラ渶瑕佸姞鍏gre鐨勭洰褰曟墠鑳界紪璇戦氳繃

        鍦ㄥ睘鎬э紞>c/c++錛?gt;inlude鐩綍閲屽悗闈㈤檮鍔?o:p>

        H:\ProgramFiles\Ogre\ogrenew\OgreMain\include;

        H:\ProgramFiles\Ogre\ogrenew\Dependencies\include

        鍦ㄥ睘鎬?>閾炬帴錛?gt;搴撶洰褰?#8220;鏈鍚?#8221;闄勫姞

        H:\ProgramFiles\Ogre\ogrenew\lib;

        H:\ProgramFiles\Ogre\ogrenew\Dependencies\lib\Release

 

    5.2 淇敼婧愭枃浠?o:p>

        寮曡嚜http://www.ogre3d.org/phpBB2addons/viewtopic.php?t=3508

        浠?01.cpp鏂囦歡鍜屽叾欏圭洰涓轟緥銆傚叾浠栧悓鐞?o:p>

            1.濡傛灉鎻愮ず“error C2039: 'relX' : is not a member of 'OIS::MouseState' ”

            闇瑕佺敤ms.X.rel鏇挎崲ms.relX

            

            濡傛灉鎻愮ず“error C2039: 'relY' : is not a member of 'OIS::MouseState' ”

            闇瑕佺敤ms.X.rel鏇挎崲ms.relY

            

            濡傛灉鎻愮ず“error C2039: 'relZ' : is not a member of 'OIS::MouseState' ”

            闇瑕佺敤ms.Z.rel鏇挎崲ms.relZ

                        

            2.濡傛灉鎻愮ずMSVCRT.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup

            Release/nxTutorial101.exe : fatal error LNK1120: 1 unresolved externals

            涓涓彲琛岀殑瑙e喅鏂規硶錛?o:p>

                a.鍏堝皢tutorialApplicationEihort.h涓殑榪欐浠g爜娉ㄩ噴鎺?o:p>

                        #ifdef _CONSOLE

                            #define TUTORIAL_VOIDMAIN \

                            int main(int argc, char *argv[]) {\

                                ...

                            }

                        #else

                            #define TUTORIAL_VOIDMAIN \

                            INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT ) {\

                                 ...

                            }

                        #endif

                b.灝哸涓墍璇寸殑main鍑芥暟鎴杦inmain鍑芥暟鎷瘋礉鍒?01.cpp鏈熬銆?o:p>

 

            3.鍙兘榪橀渶瑕佹敞閲婃帀main鎴朩inMain鍑芥暟涓殑SET_TERM_HANDLER;

            4.娉ㄩ噴鎺?01.cpp鏈熬鐨凾UTORIAL_VOIDMAIN

 

鍏朵粬闂鍙互鍒?span lang="EN-US">NxOgre璁哄潧鍜ㄨ錛?o:p>

http://www.ogre3d.org/phpBB2addo ... 5649a7b87f21b4a057b

RichardHe 2008-07-09 11:51 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              香蕉成人久久| 午夜在线视频一区二区区别| 在线观看一区视频| 欧美午夜在线一二页| 久久天天躁狠狠躁夜夜爽蜜月| 日韩视频一区二区在线观看 | 亚洲人成在线影院| 国产日韩欧美夫妻视频在线观看| 欧美日本成人| 欧美激情按摩在线| 欧美精品在线观看播放| 欧美一区1区三区3区公司| 亚洲一二三四久久| 亚洲网站视频| 亚洲欧美精品在线| 亚洲激情在线观看视频免费| 欧美午夜一区二区三区免费大片 | 亚洲第一网站| 久久av红桃一区二区小说| 欧美日韩大片| 亚洲影院污污.| 久久成人资源| 亚洲国产一区二区三区a毛片| 亚洲精品一级| 亚洲激情视频在线观看| 亚洲国产精品va在线观看黑人| 亚洲大黄网站| 夜夜嗨av色综合久久久综合网| 亚洲深夜影院| 久久久久99精品国产片| 久久久亚洲精品一区二区三区| 久久精品毛片| 欧美成人一区二区| 亚洲精品国产日韩| 亚洲一区二区三区色| 久久精品二区三区| 欧美激情一区三区| 国产欧美69| 亚洲日本中文| 亚洲欧美日韩国产一区二区三区| 久久精品人人做人人爽电影蜜月| 欧美成人国产va精品日本一级| 亚洲区中文字幕| 亚洲男人的天堂在线| 毛片一区二区三区| 国产女人aaa级久久久级| 亚洲欧洲在线视频| 久久精品系列| 中文亚洲视频在线| 欧美大胆a视频| 国产日韩av一区二区| 日韩亚洲欧美成人一区| 久久免费午夜影院| 一本色道88久久加勒比精品 | 亚洲线精品一区二区三区八戒| 欧美一级免费视频| 国产欧美日韩精品在线| 狠狠色狠色综合曰曰| 亚洲精品一区在线观看| 亚洲人体大胆视频| 欧美在线999| 欧美高清影院| 久久精品综合| 黑人巨大精品欧美黑白配亚洲| 国产精品视频xxx| 伊人久久噜噜噜躁狠狠躁| 麻豆精品在线观看| 国产欧美一区二区精品忘忧草| 亚洲精品乱码久久久久久蜜桃麻豆 | 亚洲与欧洲av电影| 91久久嫩草影院一区二区| 久久av资源网站| 欧美午夜无遮挡| 日韩视频在线免费观看| 亚洲第一福利社区| 久热精品视频在线观看一区| 黄色小说综合网站| 久久久久久网站| 亚洲人成网站999久久久综合| 亚洲一区在线播放| 欧美日韩国产小视频| 亚洲国产欧美一区二区三区同亚洲 | 亚洲免费av网站| 欧美成人嫩草网站| 亚洲精品你懂的| 亚洲第一黄色网| 久久综合狠狠| 亚洲二区在线视频| 亚洲国产精品免费| 欧美激情一区二区三区不卡| 亚洲六月丁香色婷婷综合久久| 欧美成人首页| 亚洲一二三区在线| 欧美精品尤物在线| 亚洲影院色在线观看免费| 亚洲一区二区三区中文字幕| 国产日韩精品一区观看| 麻豆精品网站| 久久综合伊人77777尤物| 激情六月婷婷久久| 亚洲国产欧美一区二区三区丁香婷| 牛人盗摄一区二区三区视频| 在线免费观看欧美| 99国产精品国产精品久久| 欧美日本一区| 性色av一区二区三区红粉影视| 久久aⅴ国产欧美74aaa| 亚洲国产老妈| 亚洲人体偷拍| 久久久久久9| 久久另类ts人妖一区二区 | 亚洲精品在线电影| 亚洲特级片在线| 国内外成人免费激情在线视频网站| 欧美激情精品| 国产精品户外野外| 欧美激情中文字幕乱码免费| 欧美体内谢she精2性欧美| 久久另类ts人妖一区二区| 亚洲一品av免费观看| 欧美黄色片免费观看| 国产日韩一区二区三区在线| 猫咪成人在线观看| 欧美日韩精品免费观看视一区二区| 久久激情五月激情| 久久久久青草大香线综合精品| 亚洲乱码精品一二三四区日韩在线| 亚洲香蕉伊综合在人在线视看| 在线欧美影院| 午夜精彩视频在线观看不卡| aa国产精品| 麻豆国产精品一区二区三区| 亚洲欧美卡通另类91av| 欧美黑人国产人伦爽爽爽| 久久精品国产第一区二区三区最新章节 | 国内成人精品视频| 中日韩美女免费视频网址在线观看 | 美女福利精品视频| 国产欧美激情| 9l国产精品久久久久麻豆| 国产亚洲电影| 亚洲欧洲日夜超级视频| 国产精品黄页免费高清在线观看| 亚洲国产日韩一区二区| 狠狠干狠狠久久| 亚洲欧美一区在线| 在线观看日韩一区| 欧美在线视频全部完| 亚洲欧美日韩国产成人| 欧美日韩精品综合在线| 亚洲电影免费观看高清完整版在线 | 亚洲五月六月| 国产精品久久夜| 日韩视频在线免费观看| 亚洲一区二区免费| 欧美极品在线观看| 亚洲国产综合91精品麻豆| 最新亚洲视频| 欧美日本中文| 亚洲欧美国产制服动漫| 久久综合久久综合久久| 久久九九精品99国产精品| 久久久精品国产免大香伊| 狠狠色狠狠色综合日日tαg| 媚黑女一区二区| 一区二区三区欧美亚洲| 久久视频在线视频| 日韩视频在线播放| 国产精品美女在线| 裸体一区二区| 在线亚洲激情| 亚洲小说区图片区| 99精品国产福利在线观看免费| 欧美视频网站| 欧美中文字幕不卡| 91久久精品日日躁夜夜躁国产| 亚洲自拍偷拍福利| 亚洲国产激情| 国产精品一区三区| 欧美成人免费va影院高清| 中文欧美字幕免费| 欧美国产先锋| 久久9热精品视频| 亚洲人体1000| 黄色av日韩| 国产精品视频观看| 欧美激情精品| 久久综合九色九九| 亚洲系列中文字幕| 亚洲人成在线播放网站岛国| 久久综合狠狠综合久久激情| 亚洲一区二区毛片| 亚洲精品欧美在线| 伊人蜜桃色噜噜激情综合| 国产欧美一区二区三区久久| 欧美精品一区二区三区很污很色的| 久久久99精品免费观看不卡| 亚洲一区影院| 一区二区三区久久精品| 亚洲激情视频网|