• <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>

            的筆記

            隨時(shí)隨地編輯

            讀讀武俠

            I.渲染屬性

            const CHAR CRenderSystem::sz32BitTexturesVar[]                = "View_ColorQuality"//"yszl";//顏色質(zhì)量,比特?cái)?shù)(16/32位)
            const CHAR CRenderSystem::szDefaultTextureFilteringVar[]    = "View_TextureFiltering";//"cy";        //采樣(高/中/低)
            const CHAR CRenderSystem::szLightmapQualityVar[]            = "View_LightmapQuality";//"dxyy";    //地形陰影(高/低/無)
            const CHAR CRenderSystem::szAnimationQualityVar[]            = "View_ObjectMove";//"wtdh";    //靜態(tài)物體動(dòng)畫(開/關(guān))
            const CHAR CRenderSystem::szPostFilterEnabledVar[]            = "View_FullScreenLight";//"qpfg";    //全屏泛光效果(開/關(guān))
            const CHAR CRenderSystem::szFSAAVar[]                        = "View_Fanhunjiao";//"fhj";    //反混角(1/2/4)
            const CHAR CRenderSystem::szShadowTechniqueVar[]            = "View_HumanLightmap";//"rwyy";    //人物陰影(開/關(guān))
            const CHAR CRenderSystem::szvsyncVar[]                        = "View_Aplomb";//"cztb";    //垂直同步(開/關(guān))

            II.登陸邏輯

            加載場(chǎng)景(CRenderSystem::Scene_Load)
            ------>加載當(dāng)前場(chǎng)景
                       ------>清理靜態(tài)幾何體
                       ------>清理硬件緩存  
                       ------>清理PASS MAP
                      ------>加載場(chǎng)景
                                 ------>ExpatParser解析SCENE文件
                                 ------>加載地形
            ------>銷毀不使用資源
            ------>設(shè)置lightmap
            ------>設(shè)置環(huán)境特效
            ------>推場(chǎng)景事件GE_SCENE_TRANSED(將進(jìn)入場(chǎng)景事件推入入CEventSystem::m_mapEventIndex_AsID)
            ------>設(shè)置傳送點(diǎn)(從DBC數(shù)據(jù)庫(kù)中讀出當(dāng)前場(chǎng)景名作為關(guān)鍵字的場(chǎng)景信息中的傳送點(diǎn))

            創(chuàng)建Player對(duì)象(綁定相關(guān)Plaer屬性、設(shè)置位置,綁定服務(wù)器信息、綁定相機(jī))
            推Plaer事件GE_PLAYER_ENTER_WORLD
            推角色選擇事件(GE_GAMELOGIN_CLOSE_SELECT_CHARACTOR)
            推背景界面事件(GE_GAMELOGIN_CLOSE_BACK_GROUND)

            轉(zhuǎn)入游戲主循環(huán)狀態(tài)機(jī)(CGameProcedure::s_pProcMain)

            call statck
             1WXClient.exe!CGamePro_Enter::EnterScene
             2WXClient.exe!Packets::GCEnterSceneHandler::Execute
             3WXClient.exe!Packets::GCEnterScene::Execute
             4WXClient.exe!CNetManager::executePacket_CPP_Exception
             5WXClient.exe!CNetManager::executePacket_Gen_Exception
             6WXClient.exe!CNetManager::ProcessInputStream
             7WXClient.exe!CNetManager::ProcessCommands
             8WXClient.exe!CNetManager::WaitPacket
             9WXClient.exe!CNetManager::TickGameEnterProcedure
            10WXClient.exe!CNetManager::Tick
            11WXClient.exe!CGameProcedure::Tick
            12WXClient.exe!CGamePro_Enter::Tick
            13WXClient.exe!CGameProcedure::TickActive
            14WXClient.exe!CGameProcedure::MainLoop

            最壞幀率控制
            VOID CRenderSystem::RenderFrame(VOID)
            {
                
            if(!Ogre::Root::getSingletonPtr())
                
            {
                    TDThrow(
            "Ogre::Root = 0");
                }


                
            const UINT MAX_RENDER_INTER_TIME = 2000;

                
            static UINT s_nLastRenderTime = 0;
                UINT s_nTimeNow 
            = g_pTimeSystem->GetTimeNow();

                
            if(g_pTimeSystem->CalSubTime(s_nLastRenderTime, s_nTimeNow) > MAX_RENDER_INTER_TIME)
                
            {
                    Ogre::Root::getSingleton().clearEventTimes();
                    s_nLastRenderTime 
            = s_nTimeNow;
                    
            return;
                }

                s_nLastRenderTime 
            = s_nTimeNow;
                
                Ogre::Root::getSingleton().renderOneFrame();
            }
            當(dāng)主循環(huán)暫停后(例如調(diào)試中斷),返回后避免邏輯異常。到底是避免神馬異常呢?

            OGRE\武俠交流群:46060118

            posted on 2011-07-01 11:17 的筆記 閱讀(383) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久国产综合精品五月天| 2021最新久久久视精品爱| 久久久久久亚洲精品成人| av午夜福利一片免费看久久| 秋霞久久国产精品电影院| 婷婷久久五月天| 久久99免费视频| 久久久精品人妻一区二区三区蜜桃| 97精品伊人久久大香线蕉app| 国产精品久久久99| 久久99精品久久久久久久久久| 国产午夜精品久久久久九九| 97精品依人久久久大香线蕉97| 欧美伊香蕉久久综合类网站| 久久99精品国产麻豆宅宅| 成人午夜精品久久久久久久小说| 人妻丰满AV无码久久不卡 | 国产婷婷成人久久Av免费高清 | 久久se精品一区精品二区| 日本加勒比久久精品| 亚洲va久久久噜噜噜久久男同 | 久久这里只有精品18| 日韩中文久久| 久久久久国产精品麻豆AR影院| …久久精品99久久香蕉国产| 亚洲国产精品一区二区久久hs| 亚洲人成网站999久久久综合| 国产激情久久久久影院老熟女免费| 国产精品久久久久AV福利动漫 | 亚洲乱码日产精品a级毛片久久| 精品久久久久久久久久中文字幕| 国产亚洲欧美成人久久片| 国产成人精品久久一区二区三区| 亚洲精品蜜桃久久久久久| 中文国产成人精品久久不卡| 久久精品国产AV一区二区三区| 亚洲国产精品综合久久一线| 一级a性色生活片久久无| 亚洲国产日韩综合久久精品| 国产精品久久久久a影院| 久久这里只有精品首页|