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


            国产成人久久精品二区三区| 成人久久综合网| 性高湖久久久久久久久AAAAA| 香蕉久久影院| 日韩精品久久无码人妻中文字幕| A狠狠久久蜜臀婷色中文网| 日本精品久久久久中文字幕8| 久久综合久久鬼色| 久久久噜噜噜www成人网| 久久男人AV资源网站| 99久久国产精品免费一区二区| 国内精品久久国产大陆| 日日狠狠久久偷偷色综合免费| 久久精品www人人爽人人| 手机看片久久高清国产日韩| 国产精品久久久久久一区二区三区| 日韩久久无码免费毛片软件| 国产Av激情久久无码天堂| 免费无码国产欧美久久18| 中文字幕亚洲综合久久| 久久精品99久久香蕉国产色戒 | 久久99久久99小草精品免视看| 久久亚洲中文字幕精品一区| 久久免费精品视频| 蜜臀av性久久久久蜜臀aⅴ麻豆| 久久精品亚洲乱码伦伦中文| 91精品久久久久久无码| 久久96国产精品久久久| 久久久久久午夜成人影院| 伊人色综合久久天天网| 久久天天躁狠狠躁夜夜不卡| 久久久久久九九99精品| 无码精品久久久天天影视| 久久久久久久波多野结衣高潮| 丁香久久婷婷国产午夜视频| 一本一道久久精品综合| 91秦先生久久久久久久| 欧美综合天天夜夜久久| 99久久精品国产一区二区| 久久国产综合精品五月天| 精品久久久久一区二区三区 |