青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

月下的博客

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  34 Posts :: 0 Stories :: 59 Comments :: 0 Trackbacks

常用鏈接

留言簿(5)

我參與的團隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

     
       1.script先由ResourceGroupMgr在prepare函數里根據不同的后綴名選擇不同的ScriptLoader的派生類來加載,這里我們就以ScriptCompilerMgr為例。(今天開始細看材質加載部分的代碼才發現ogre的材質解析原來還有兩套,以前的一套是MaterialSerializer,1.6之后默認使用的是ScriptCompilerMgr.)
      2.調用ScriptCompilerMgr內部ScriptCompiler對象的compile函數,這里其實也沒有進行實際分析,只是創建并調用了分析和編譯的對象:ScriptLexer,ScriptParser,ScriptCompiler。
      3.先由ScriptLexer對文本進行分析,創建一個包含了所有token信息節點的列表,注意這一步僅僅是將所有材質里的詞匯單元提取出來而已,還沒有生成CST,乃至AST(當然這里的CST和AST都是簡化的),這里的實現比較易讀在ScriptLexer::tokenize中對文本的每個字符進行遍歷,查找token(在ogre里也就是譬如{ } // \  : newline等,當然普通的字符肯定也算的),最后生成一個tokenlist。

      4. 接下來將tokenList傳入ScriptParser的parse函數中,這些token節點將被根據標記符的關系,而生成一個簡單有父子關系的分析樹,也就是CST了。到這里你就發現之前動輒就100個的nodelist已經變成了ConcreteNodeList,當然這里的node每個都是一個樹了.以最外面的{}為根.當然沒有{}的部分就變成一個節點(知道找到{或者別的標記符)
      5.接著,在ScriptCompiler里將之前生成的CST轉化為AST(這里的具體轉化的代碼我還沒細看。。)
      6.呼,終于要到最后了,根據每個AST的類型調用不同的ScriptTranslator,例如材質的話就取得MaterialTranslator來解釋成最終的material,然后對其中的每個AST子節點再調用對應的ScriptTranslator,(例如pass就調用PassTranslator等)把所有的值都設置好,這樣所有解釋的工作終于完成了。

呼,的確是個很漫長的過程。。個人感覺如果把scriptLexer換成已有的什么文本解釋庫讀取的速度會不會得到很多提升呢?譬如如今比較流行的rapidXml什么的,畢竟個人覺得這些專門優化文本庫的性能還是很高的(雖然我得說尖括號啥的的確不是那么易讀~)。當然我覺得ogre這么寫的架勢很可能有想將原來普通的腳本配置文件提升成ogre專用的腳本語言的趨勢?(最早只是寫了一堆Serializer而已)
posted on 2011-04-12 22:31 月下圓舞曲 閱讀(1679) 評論(0)  編輯 收藏 引用 所屬分類: 開發
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲一区二区三区四区五区黄| 在线亚洲激情| 久久久精品性| 欧美一级网站| 一区二区三区自拍| 欧美a级一区二区| 美女91精品| 亚洲精选中文字幕| 日韩亚洲欧美成人一区| 欧美午夜性色大片在线观看| 先锋影音国产精品| 欧美一区二区三区播放老司机| 狠狠色综合网站久久久久久久| 欧美高清视频在线观看| 欧美日韩国产区| 欧美在线free| 另类专区欧美制服同性| 99精品视频免费全部在线| 在线一区观看| 激情五月婷婷综合| 亚洲日本久久| 国产欧美韩日| 亚洲电影免费观看高清完整版在线观看| 欧美国产欧美亚州国产日韩mv天天看完整| 一本色道久久综合精品竹菊 | 亚洲私拍自拍| 久久国产精品网站| a4yy欧美一区二区三区| 欧美一级夜夜爽| 亚洲美女黄网| 久久爱91午夜羞羞| 亚洲午夜高清视频| 久久九九全国免费精品观看| 一区二区三区波多野结衣在线观看| 午夜精品三级视频福利| 亚洲毛片在线免费观看| 久久国产乱子精品免费女| 日韩一级在线观看| 久久久99免费视频| 午夜欧美不卡精品aaaaa| 欧美不卡福利| 久久尤物电影视频在线观看| 国产精品日韩在线| 亚洲日本欧美在线| 亚洲国产精品ⅴa在线观看| 亚洲欧美国产高清va在线播| 欧美国产成人精品| 国产日韩精品入口| 一区二区三区偷拍| 亚洲精品日韩在线| 久久综合伊人77777尤物| 男人插女人欧美| 欲香欲色天天天综合和网| 亚洲视频中文字幕| 这里是久久伊人| 欧美另类专区| 亚洲日本视频| 一片黄亚洲嫩模| 欧美高清hd18日本| 欧美成年人视频| 欧美二区在线| 免费美女久久99| 欧美国产日韩免费| 久久久999成人| 久久在线播放| 久久精品女人的天堂av| 日韩视频久久| 亚洲国产美女| 尤物yw午夜国产精品视频| 性欧美xxxx视频在线观看| 欧美一区二区福利在线| 欧美视频日韩视频在线观看| 一本色道久久88综合亚洲精品ⅰ| 日韩一级不卡| 欧美日韩亚洲视频| 日韩视频在线观看免费| 六月丁香综合| 亚洲人精品午夜| 一区二区三区高清在线观看| 亚洲综合视频一区| 在线亚洲+欧美+日本专区| 夜夜嗨av一区二区三区网页| 欧美日韩岛国| 亚洲综合成人在线| 欧美一区日韩一区| 亚洲成在人线av| 欧美激情一二区| 一区二区三区久久久| 亚洲欧美三级伦理| 精品电影一区| 欧美精品一区二区三| 狼狼综合久久久久综合网| 亚洲国产日韩一级| 亚洲一级二级| 狠狠色丁香久久综合频道| 欧美成人免费在线观看| 一区二区高清在线| 久久久精品国产免大香伊| 91久久久亚洲精品| 国产精品日韩在线播放| 久久久综合香蕉尹人综合网| 91久久精品一区二区别| 欧美一区二区高清在线观看| 亚洲成人在线免费| 国产精品久久久久久久久免费樱桃| 午夜亚洲激情| 亚洲精品麻豆| 美国十次成人| 午夜精品国产更新| 亚洲精品少妇30p| 国内久久婷婷综合| 欧美日韩亚洲免费| 久久综合亚洲社区| 亚洲欧美在线播放| 亚洲精品一区二区三区在线观看 | 国产精品高潮呻吟久久| 久久精品99国产精品日本| 亚洲国产精品一区二区久| 久久精品91久久久久久再现| 亚洲天堂av在线免费| 亚洲成色精品| 国产专区精品视频| 国产精品免费看片| 欧美激情在线播放| 久久久久国产成人精品亚洲午夜| 这里只有精品丝袜| 亚洲激情在线| 欧美电影免费| 鲁鲁狠狠狠7777一区二区| 性欧美1819sex性高清| 在线视频日韩精品| 亚洲精品乱码| 亚洲人成网在线播放| 国产在线高清精品| 国产亚洲精品高潮| 国产精品日韩久久久| 欧美亚男人的天堂| 欧美日韩亚洲一区二区三区在线观看| 久久婷婷国产综合尤物精品| 欧美一级在线视频| 午夜精品久久久久久久久久久| 国产精品99久久久久久久久久久久| 亚洲激情成人网| 亚洲女人小视频在线观看| 亚洲第一精品久久忘忧草社区| 一区二区三区色| 在线一区二区日韩| 中文国产成人精品| 亚洲免费一在线| 欧美亚洲免费| 久久久精品国产一区二区三区 | 最新日韩在线| 亚洲精品欧美激情| 99视频精品在线| 中文无字幕一区二区三区| 正在播放欧美视频| 亚洲欧美日韩精品久久久久| 一区二区三区四区五区精品| 日韩系列欧美系列| 日韩一区二区电影网| 亚洲一本大道在线| 久久不见久久见免费视频1| 久久久综合精品| 欧美日本一区二区高清播放视频| 欧美日韩亚洲一区二区三区在线 | 国产精品久久久久久久9999| 国产欧美精品日韩区二区麻豆天美| 国产日韩精品一区二区三区| 韩日精品在线| 一区二区高清视频| 欧美一区二区福利在线| 欧美成人免费网| 亚洲免费福利视频| 欧美伊久线香蕉线新在线| 女同性一区二区三区人了人一| 欧美精选在线| 国产日韩欧美一区二区三区在线观看| 在线视频观看日韩| 亚洲一区二区三区高清| 久久久精品动漫| 日韩一区二区精品| 久久夜色精品国产亚洲aⅴ| 欧美日韩1区| 精品成人免费| 亚洲欧美国产视频| 欧美国产一区二区在线观看| 亚洲一区bb| 国内外成人在线| 在线视频日韩| 久热re这里精品视频在线6| 日韩视频永久免费| 久久精品国产99| 国产精品狼人久久影院观看方式| 亚洲成色www久久网站| 欧美一区二区三区电影在线观看| 欧美福利视频网站| 欧美伊人久久大香线蕉综合69| 欧美日韩精品免费| 亚洲国产欧洲综合997久久| 欧美有码在线视频|