第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

請(qǐng)幫忙指出問題所在,并在不對(duì)框架做過分改變的前提下修改代碼解決:

請(qǐng)幫忙指出問題所在,并在不對(duì)框架做過分改變的前提下修改代碼解決:

是我自己編寫的一個(gè)Ogre基本框架,編譯運(yùn)行是一個(gè)黑色窗口,但是關(guān)閉黑色窗口后任務(wù)管理器中仍然有這個(gè)程序的進(jìn)程在,只能強(qiáng)行結(jié)束,我試過很多方法,運(yùn)用windows循環(huán)、rengderOneFrame什么的,研究了一天一夜也沒能解決,無論如何窗口關(guān)閉后進(jìn)程就是死賴在內(nèi)存了釋放不了,#include <Ogre.h>#include <windows.h>//使用Ogre的命名空間以識(shí)別Ogre提供的類using namespace Ogre;//根據(jù)幀監(jiān)聽父類派生出自己的幀監(jiān)聽子類并自定義幀監(jiān)聽中所要達(dá)到的功能class MyFrameListener : public FrameListener{public:bool frameStarted (const FrameEvent &evt);bool frameEnded (const FrameEvent &evt );};bool MyFrameListener::frameStarted (const FrameEvent &evt){//在每一幀畫面渲染前,調(diào)用這里你寫好的代碼return true;}bool MyFrameListener::frameEnded (const FrameEvent &evt ){//在每一幀畫面渲染后,調(diào)用這里你寫好的代碼return true;}int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow ){//創(chuàng)建root類得對(duì)象,參數(shù)為默認(rèn)參數(shù)Root* root = new Root("plugins_d.cfg", "ogre.cfg", "Ogre.log");if(!root -> restoreConfig())root -> showConfigDialog();//初始化渲染窗口root -> initialise(true, "亂雨紅塵渡");RenderWindow* window = root -> getAutoCreatedWindow();SceneManager* sceneMgr = root -> createSceneManager(ST_GENERIC, "MySceneManager");Camera* camera = sceneMgr -> createCamera("MainCamera");camera -> setNearClipDistance(5);camera -> setFarClipDistance(1000);camera -> setAspectRatio(Real(1.333333)); //設(shè)置屏幕縱橫比為4:3//創(chuàng)建視口Viewport* vp = window -> addViewport(camera);vp -> setBackgroundColour(ColourValue(0, 0, 0));//設(shè)置渲染循環(huán)(Render Loop)MyFrameListener* myListener = new MyFrameListener();//在這里你需要在調(diào)用startRendering()方法前,注冊(cè)你的幀監(jiān)聽對(duì)象?。?!root -> addFrameListener(myListener);//root -> startRendering();//用更靈活的Root::renderOneFrame()方法使Ogre渲染循環(huán)與windows消息循環(huán)融合,控制循環(huán)始終bool keepRendering = true;//在這里填入所有這個(gè)章節(jié)之前提到的設(shè)置過程://載入插件,創(chuàng)建渲染窗口和場(chǎng)景管理器以及攝像機(jī)和視口,//然后再場(chǎng)景中填入你希望的內(nèi)容。while(keepRendering){//在這里處理引擎使用的網(wǎng)絡(luò)消息。//在這里處理引擎使用的輸入消息。//根據(jù)消息更新場(chǎng)景管理狀態(tài)。//根據(jù)新的場(chǎng)景管理狀態(tài),渲染下一幀。root->renderOneFrame();//檢查是否需要退出渲染循環(huán)if (){keepRendering = false;}}//在這里進(jìn)行你需要的清理工作//然后,關(guān)閉Ogredelete root;}
查看完整描述

2 回答

?
互換的青春

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊

同感!浪費(fèi)了不少時(shí)間


bool frameStarted(const Ogre::FrameEvent& evt)      {            if (Ogre::Root::getSingletonPtr()->getAutoCreatedWindow()->isClosed()) return false// 若渲染窗口已關(guān)閉則退出渲染循環(huán)            return true;      }

可以解決這個(gè)問題。

網(wǎng)上幾乎全部的教程都沒有提到這個(gè)重要的問題,說什么點(diǎn)擊關(guān)閉就會(huì)退出,是不對(duì)的


查看完整回答
反對(duì) 回復(fù) 2023-01-10
?
30秒到達(dá)戰(zhàn)場(chǎng)

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超6個(gè)贊

winMain函數(shù)沒返回值

class MyFrameListener: public FrameListener, public WindowEventListener 或者M(jìn)yFrameListener直接公有繼承ExampleFrameListener

查看完整回答
反對(duì) 回復(fù) 2023-01-10
  • 2 回答
  • 0 關(guān)注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)