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

月下的博客

  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| 亚洲欧美成人精品| 久久国产精品久久久久久久久久 | 亚洲欧美变态国产另类| 午夜精品久久久久久久久| 久久精品视频在线免费观看| 久久久久久亚洲精品中文字幕| 欧美成人免费在线观看| 欧美色图首页| 亚洲精品免费在线| 亚洲视频999| 久久国产精品99久久久久久老狼| 久久一二三四| 亚洲精品视频在线观看网站| 亚洲欧美日本精品| 欧美精品免费在线| 国产日韩欧美在线一区| 日韩视频在线一区二区三区| 久久国产精品一区二区三区| 亚洲国产一区二区精品专区| 亚洲欧美日韩国产中文在线| 麻豆精品一区二区综合av| 国产精品久久久久久久久免费桃花| 黄色日韩网站视频| 午夜精品福利一区二区三区av | 欧美亚洲一区二区在线| 欧美jizz19性欧美| 国产亚洲成av人在线观看导航 | 久久精品国产免费观看| 亚洲精品中文字幕女同| 久久久久久久久久久久久女国产乱| 欧美成在线观看| 黄色精品一二区| 欧美一区二区三区啪啪| 日韩一级精品视频在线观看| 猛男gaygay欧美视频| 国产午夜精品久久久久久久| 亚洲欧美国产三级| 日韩视频在线播放| 欧美精品电影在线| 亚洲精品免费电影| 亚洲国产高清在线观看视频| 久久久国产午夜精品| 国产一区二区三区久久久| 亚洲一区免费网站| 亚洲免费观看| 欧美区在线观看| 999在线观看精品免费不卡网站| 玖玖玖国产精品| 欧美专区在线播放| 国产亚洲综合精品| 久久久综合激的五月天| 久久精品国产成人| 在线日本成人| 亚洲国产成人高清精品| 欧美国产精品| 一本综合精品| 亚洲午夜激情| 国产亚洲一级| 嫩草影视亚洲| 欧美精品自拍偷拍动漫精品| 一区二区欧美在线观看| 在线亚洲精品福利网址导航| 国产精品一区二区久久| 国产日韩欧美精品在线| 国产精品免费看| 久久精品国产精品亚洲| 欧美一区观看| 亚洲国产欧美一区二区三区久久 | 久久综合综合久久综合| 亚洲高清免费在线| 亚洲国产女人aaa毛片在线| 欧美日韩国产在线播放| 亚洲伊人观看| 欧美在线一区二区| 亚洲国产午夜| 一区二区三区高清视频在线观看| 国产精品视频一| 欧美成人免费网| 国产精品扒开腿爽爽爽视频| 久久久久久尹人网香蕉| 欧美日本视频在线| 久久精品成人欧美大片古装| 你懂的亚洲视频| 欧美亚洲一区二区在线观看| 久久天天躁夜夜躁狠狠躁2022| 日韩视频在线一区二区| 欧美一区二区三区成人| 一区二区激情| 久久精品九九| 午夜精品美女久久久久av福利| 久久琪琪电影院| 午夜精品久久久久久久白皮肤| 久久这里只精品最新地址| 亚洲免费一在线| 男人的天堂亚洲在线| 欧美在线日韩| 欧美日韩一卡| 亚洲盗摄视频| 国产午夜精品视频| 日韩一区二区免费看| 亚洲电影免费观看高清完整版在线观看 | 91久久精品一区| 国产欧美日韩麻豆91| 欧美国产免费| 国产婷婷色综合av蜜臀av| 亚洲精品亚洲人成人网| 亚洲成人影音| 欧美影院精品一区| 午夜精品www| 欧美激情亚洲综合一区| 久久蜜桃精品| 国产欧美日韩中文字幕在线| 亚洲精品一区二区三区婷婷月| 精品51国产黑色丝袜高跟鞋| 亚洲欧美偷拍卡通变态| 亚洲男人的天堂在线aⅴ视频| 欧美精品日韩精品| 最新国产乱人伦偷精品免费网站| 久久高清一区| 一区二区三区视频在线观看| 亚洲欧美日韩国产中文在线| 美女网站在线免费欧美精品| 久久本道综合色狠狠五月| 欧美日本国产视频| 亚洲高清在线观看| 亚洲高清视频在线| 久久久久久久综合日本| 久久精品伊人| 国产一区自拍视频| 久久成人在线| 久久综合色播五月| 在线观看成人小视频| 久久九九99| 久久深夜福利免费观看| 国产视频精品免费播放| 欧美亚洲一区二区三区| 久久性色av| 亚洲人成精品久久久久| 免费看的黄色欧美网站| 欧美激情一二三区| 一区二区三区高清不卡| 国产精品久久久久久久久久免费看| 亚洲一区欧美一区| 久久人人爽人人爽爽久久| 亚洲国产精品尤物yw在线观看| 欧美成人精品三级在线观看| 亚洲精品日日夜夜| 午夜精品久久久久久久99水蜜桃| 国产精品伊人日日| 久久这里只有| 99精品免费| 久久av资源网站| 最近中文字幕日韩精品| 欧美日韩精品一区视频| 亚洲午夜高清视频| 免费成人黄色片| 中文av字幕一区| 国产一区在线视频| 欧美激情一区二区三区蜜桃视频| 一区二区三区久久| 久久夜色精品国产欧美乱| 99re8这里有精品热视频免费 | 欧美国产视频在线观看| 亚洲一级免费视频| 欧美福利电影网| 亚洲制服丝袜在线| 一区二区三区亚洲| 欧美视频在线播放| 久久精品九九| 亚洲桃色在线一区| 亚洲第一区中文99精品| 亚洲欧美日韩精品久久奇米色影视| 国产永久精品大片wwwapp| 欧美另类女人| 久久人人九九| 午夜精品久久久久久久99樱桃 | 免费观看久久久4p| 亚洲影院色在线观看免费| 欧美激情视频在线播放| 久久激情视频久久| 亚洲电影第三页| 99国产麻豆精品| 亚洲美女视频在线观看| 亚洲黄色性网站| 国产精品人人做人人爽人人添| 午夜一级在线看亚洲| 亚洲电影免费观看高清| 亚洲免费视频成人| 亚洲成色777777在线观看影院| 欧美日韩国产999| 美玉足脚交一区二区三区图片| 羞羞漫画18久久大片| 夜夜嗨av色综合久久久综合网| 欧美成人首页|