• <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";    //地形陰影(高/低/無(wú))
            const CHAR CRenderSystem::szAnimationQualityVar[]            = "View_ObjectMove";//"wtdh";    //靜態(tài)物體動(dòng)畫(huà)(開(kāi)/關(guān))
            const CHAR CRenderSystem::szPostFilterEnabledVar[]            = "View_FullScreenLight";//"qpfg";    //全屏泛光效果(開(kāi)/關(guān))
            const CHAR CRenderSystem::szFSAAVar[]                        = "View_Fanhunjiao";//"fhj";    //反混角(1/2/4)
            const CHAR CRenderSystem::szShadowTechniqueVar[]            = "View_HumanLightmap";//"rwyy";    //人物陰影(開(kāi)/關(guān))
            const CHAR CRenderSystem::szvsyncVar[]                        = "View_Aplomb";//"cztb";    //垂直同步(開(kāi)/關(guān))

            II.登陸邏輯

            加載場(chǎng)景(CRenderSystem::Scene_Load)
            ------>加載當(dāng)前場(chǎng)景
                       ------>清理靜態(tài)幾何體
                       ------>清理硬件緩存  
                       ------>清理PASS MAP
                      ------>加載場(chǎng)景
                                 ------>ExpatParser解析SCENE文件
                                 ------>加載地形
            ------>銷(xiāo)毀不使用資源
            ------>設(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 的筆記 閱讀(374) 評(píng)論(0)  編輯 收藏 引用


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


            久久精品国产WWW456C0M| 久久国产精品一国产精品金尊| 欧美激情精品久久久久久久九九九| 亚洲精品乱码久久久久66| 久久久网中文字幕| 久久精品免费一区二区| 久久精品国产一区二区三区| 亚洲国产精品成人久久蜜臀| 久久一区二区三区免费| 日韩人妻无码一区二区三区久久| 久久久久av无码免费网| 国产精品视频久久久| 久久r热这里有精品视频| 99久久成人国产精品免费 | 亚洲精品无码专区久久久| 国产精品久久99| 97精品依人久久久大香线蕉97| 77777亚洲午夜久久多喷| 国产精品久久久久一区二区三区| 国产午夜电影久久| 久久久久四虎国产精品| 一级做a爰片久久毛片16| 久久久国产精华液| 亚洲乱亚洲乱淫久久| 国产婷婷成人久久Av免费高清 | Xx性欧美肥妇精品久久久久久| 久久久久久久久波多野高潮| 久久免费视频6| 久久精品国产一区二区 | 久久亚洲精精品中文字幕| 国产精品一区二区久久精品涩爱 | 久久精品国产69国产精品亚洲| 东方aⅴ免费观看久久av| 一本久久综合亚洲鲁鲁五月天| 久久九九免费高清视频| segui久久国产精品| 国产99久久九九精品无码| 97久久精品人人做人人爽| 99久久国产综合精品网成人影院| 91精品免费久久久久久久久| 国产综合免费精品久久久|