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

月下的博客

  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>
            亚洲东热激情| 麻豆精品一区二区av白丝在线| 欧美激情精品久久久久久变态| 激情一区二区三区| 女生裸体视频一区二区三区 | 99精品视频免费全部在线| 亚洲国产精品一区二区www| 久久久噜噜噜久久| 亚洲卡通欧美制服中文| 99亚洲一区二区| 国产精品视频久久久| 久久久www成人免费精品| 久久久人成影片一区二区三区观看 | 国内精品久久久久国产盗摄免费观看完整版| 欧美在线观看网站| 久久久噜噜噜久噜久久| 亚洲精品网址在线观看| 中日韩在线视频| 黑人巨大精品欧美一区二区| 亚洲电影第1页| 欧美视频中文在线看| 久久精品视频网| 欧美高清在线精品一区| 午夜久久黄色| 麻豆精品视频在线| 午夜精品在线观看| 麻豆视频一区二区| 亚洲欧美在线免费观看| 久久在线观看视频| 午夜精品久久| 欧美不卡视频一区| 午夜一区二区三区在线观看 | 最新精品在线| 国产无一区二区| 亚洲伦理一区| 亚洲第一网站免费视频| 亚洲一线二线三线久久久| 亚洲高清毛片| 欧美一级精品大片| 中文一区二区在线观看| 久久久免费观看视频| 亚洲欧美国产不卡| 欧美高清在线| 欧美黄色成人网| 国产综合视频在线观看| 中国女人久久久| 亚洲精品中文字幕女同| 久久资源av| 久久久久久亚洲精品中文字幕 | 女女同性女同一区二区三区91| 欧美在线播放| 国产精品国内视频| 日韩午夜视频在线观看| 亚洲日本va午夜在线电影| 欧美国产日韩在线| 欧美福利电影网| 黄色日韩精品| 久久国产精品第一页| 欧美亚洲专区| 国产精品亚洲成人| 亚洲网站在线观看| 亚洲综合色网站| 国产精品电影网站| 在线视频精品一| 亚洲午夜91| 国产精品国产三级国产aⅴ浪潮 | 欧美1区3d| 在线免费观看成人网| 久久久久99| 欧美成人免费全部| 亚洲日本中文| 欧美金8天国| 亚洲美洲欧洲综合国产一区| 夜夜嗨av一区二区三区中文字幕| 欧美大片在线影院| 亚洲美女av黄| 亚洲欧美国产高清va在线播| 国产精品乱子久久久久| 亚洲欧美日韩综合国产aⅴ| 欧美在线地址| 亚洲国产高清在线| 欧美日本一区二区三区| 国产精品99久久久久久人 | 日韩午夜在线播放| 欧美午夜在线观看| 欧美一级播放| 亚洲大胆视频| 亚洲免费一区二区| 国产曰批免费观看久久久| 久久综合综合久久综合| 亚洲精品一区二区三区在线观看| 亚洲一区在线看| 国内不卡一区二区三区| 欧美二区视频| 中文一区二区| 免播放器亚洲| 亚洲一区二区精品在线| 国内精品视频在线观看| 欧美激情精品久久久久久久变态 | 国产精品久久久久久久一区探花 | 国产欧美va欧美va香蕉在| 久久久久久久综合狠狠综合| 91久久精品国产91久久性色tv| 亚洲欧美另类国产| 亚洲福利专区| 国产精品伦一区| 欧美jjzz| 欧美在线啊v| 日韩视频一区| 免费人成精品欧美精品| 亚洲一区日本| 亚洲人成网站777色婷婷| 国产精品中文在线| 欧美精品99| 国产毛片一区二区| 久久综合99re88久久爱| 亚洲视频一二三| 91久久在线视频| 美国十次成人| 久久精品国产久精国产爱| 在线亚洲电影| 亚洲精品乱码久久久久久蜜桃麻豆 | 久久精品99国产精品日本| av成人老司机| 亚洲二区在线| 欧美刺激性大交免费视频| 久久er99精品| 午夜在线观看免费一区| 一区二区三区免费看| 亚洲激情网站| 亚洲成人中文| 极品中文字幕一区| 国产欧美精品国产国产专区| 欧美视频在线看| 欧美另类在线播放| 欧美精品亚洲| 欧美护士18xxxxhd| 欧美va亚洲va日韩∨a综合色| 欧美专区日韩专区| 欧美一区二区三区视频在线观看| 亚洲四色影视在线观看| 99精品视频免费观看视频| 亚洲精品乱码久久久久久蜜桃91 | 久久久噜噜噜久久| 久久久精品性| 毛片av中文字幕一区二区| 久久久久久一区| 久久久噜噜噜久久| 男人插女人欧美| 亚洲国产精品日韩| 亚洲日本欧美天堂| 亚洲免费成人| 中文网丁香综合网| 亚欧美中日韩视频| 久久精品日产第一区二区三区| 久久精品亚洲精品| 麻豆av一区二区三区| 你懂的视频欧美| 欧美日韩一区二区三区在线 | 欧美三级视频在线观看| 国产精品欧美风情| 国产亚洲人成a一在线v站| 国产一区在线视频| 亚洲欧洲日韩在线| 亚洲天堂偷拍| 久久精品国产91精品亚洲| 久久中文精品| 最新精品在线| 午夜久久久久久| 老司机免费视频一区二区| 欧美激情成人在线| 国产精品露脸自拍| 黄色国产精品| av不卡免费看| 久久精品免视看| 亚洲人成绝费网站色www| 亚洲性感美女99在线| 久久久久久久网| 欧美日韩在线一区| 黄色亚洲免费| 宅男噜噜噜66一区二区| 久久久亚洲高清| 亚洲美女免费精品视频在线观看| 亚洲专区一区二区三区| 麻豆精品在线视频| 国产日韩精品一区| 一本久道久久综合狠狠爱| 久久精品人人做人人综合| 亚洲国产精品一区二区www| 午夜在线视频观看日韩17c| 欧美成人精品| 亚洲国产精品一区二区www| 一区二区国产日产| 久久久天天操| 国产精品最新自拍| 亚洲美女黄网| 牛牛国产精品| 久久精品国产一区二区电影| 欧美午夜不卡影院在线观看完整版免费| 国产亚洲欧美色|