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

            3D游戲之神-——約翰.卡馬克

            常用鏈接

            統計

            最新評論

            QUAKE系列引擎以及基于QUAKE擴展引擎的源代碼全面分析(一)

            QUAKE系列引擎以及基于QUAKE擴展引擎的源代碼全面分析()

            前言:

            一:研究quake系列引擎斷斷續續也已經兩年有余了,一直想寫點什么,但是真的到了那一步,又發現其實很難下筆,原因有三:1 文筆不流暢,特別是技術性技巧的缺乏,概念難以精確定義,無法想內心的真實表達轉換為文字,郁悶?。?!2 QUAKE系列引擎的龐大結構以及各個模塊的協作關系,真的想寫的時候不知道如何組織,導致思路極其紊亂。3 對于QUAKE系列的深奧部分,列如bsp的編譯程序部分的源碼還未完全理解,這是整個QUAKE引擎的核心部分,這是QUAKE系列引擎最核心的部分,可以說,整個QUAKE系列引擎就是圍繞這張圖推進的。雖然BSP的生成確實是一個非常非常難的難點,好在使用起BSP來相對比較簡單,即使不知道如何生成,但至少可以靈活使用,偉大的慷慨的卡馬克。

               二:QUAKE系列的引擎源碼分析涉及到的引擎包括如下幾個:

                       1  QUAKE1 及其基于   QUAKE1框架的擴展引擎DARKPLACES

                       2  QUAKE2 及其基于 QUAKE2 框架的擴展引擎 QFUSION

                       3  QUAKE3及其基于 QUAKE3 框架的擴展引擎  XREAL/EVQ3 

               三:為什么要使用上述的擴展引擎?

            1         QUAKE系列引擎畢竟時間久遠,現代硬件技術的發展以及渲染方面的新概念,新技術的出現,一些擴展引擎更加貼近當今世界技術發展的潮流。例如這三個引擎都增加了GLSL進行相應的擴展。

            2         這些擴展引擎都是非常著名的開源項目,資料比較多,而且都有相應使用這些擴展引擎作成的游戲,可以觀看到游戲實時效果。

            例如基于DARKPLACES引擎的游戲—NEXUIZ,渲染效果極其驚人?。。。?/span>

                基于 QFUSION 引擎的游戲-----WARSOW

            基于 XREAL/EVQ3引擎的游戲-----REVOLUTION

            3         對上述三個擴展引擎的感受

            A:DARKPLACES使用QUAKE1的框架結構,重寫了全部的渲染模塊,網絡協議以及傳輸模塊,支持DOOM3類型的光影特效,根據我的感覺,應該是渲染效果最好的開源的項目,使用到了相當多的特效(DOOM3光影特效=Stencil Shadow Volume, Per Pixel Lighting, NormalizationCubeMap, 2D+1D Attenuation Texturing, and Light Projection Filtering.該引擎可以使用著名的QUAKEC進行服務器端游戲邏輯的開發(相當于QUAKE3中的GAME.DLL模塊),同時相對于QUAKE1QUAKEC內置函數,該引擎擴展了相當多的服務器端QUAKEC函數.更漂亮的是他同時擴展了客戶端邏輯部分的函數,通過這些函數可以編寫客戶端游戲邏輯(相當于QUAKE3中的CGAME.DLL模塊,但不完全等同).事實上本人是非常喜歡QUAKEC的編碼方式,簡練而強大.

            B:QFUSION引擎最大的特點是他的邏輯結構非常清晰,他所擴展的骨骼動畫系統是其最大的特點.本人的感覺是極其漂亮(當然每個人的觀點不同,這只是本人的觀點罷了).他使用了skm骨骼動畫文件格式.正是通過該引擎的骨骼動畫系統,讓本人完全掌握整個骨骼動畫的精髓,真是收益非淺啊!!!而且整個游戲邏輯端非常清晰,在代碼分析時候主要以該引擎作為原代碼基礎.

            C:xreal/evq3整體框架與quake3變化不大,但是最重要的一點是,本人最喜歡的渲染器結構是quake3render.dll,簡直是太完美了,quake3的渲染器可以使用雙處理器,為了支持雙處理器的運作,quake3自己實現了一條渲染命令流水線,及其完美,收益非淺啊!!!!又要說一句非常重要的話了,偉大的慷慨的卡馬克.而引xreal/evq3擎完美的保留了quake3的渲染器框架結構同時擴展了較多的功能,光影特效足夠強大.增加了md5骨骼模型的渲染.在以后渲染器代碼分析時候,主要以該擴展引擎為基礎結合darkplaces引擎的相關技術.

             

             

                    

                  總體而言, quake系列引擎的整體架構非常漂亮,是學習的好材料,并且從quake1quake3,整體邏輯端代碼變化不大, 真正比較有突破性的是渲染引擎.本人在學習quake引擎過程中常常敬佩卡馬克的想象力,api函數是如此之簡潔,整體框架是如此之完美,面向對象的c寫得如此之漂亮,通過quake引擎,可以學到游戲設計的各個概念以及各個模塊,外部工具是如何完美的結合起來,這一點是非常非常重要的.

                 

                 

                

             

               

                 

            posted on 2007-11-19 00:45 落魄江湖 閱讀(7585) 評論(11)  編輯 收藏 引用

            評論

            # re: QUAKE系列引擎以及基于QUAKE擴展引擎的源代碼全面分析(一) 2007-11-19 08:49 kong

            期待下期。  回復  更多評論   

            # re: QUAKE系列引擎以及基于QUAKE擴展引擎的源代碼全面分析(一) 2007-11-19 10:18 mm

            支持。期待下期。

            建議你能做下面這幾個東西的詳細說明:
            quakec
            skm骨骼動畫
            多核渲染命令流水線  回復  更多評論   

            # re: QUAKE系列引擎以及基于QUAKE擴展引擎的源代碼全面分析(一) 2007-11-19 13:12 力為

            www.caxsoft.com已經做好轉載的準備~  回復  更多評論   

            # re: QUAKE系列引擎以及基于QUAKE擴展引擎的源代碼全面分析(一) 2007-11-19 13:46 tiro

            建議先列出一個總體架構框架,然后分模塊分析。  回復  更多評論   

            # re: QUAKE系列引擎以及基于QUAKE擴展引擎的源代碼全面分析(一) 2007-11-19 14:51 Corner Zhang

            頂!
            很好的開篇啊,不過最好能有如何mod quake的文章 :)  回復  更多評論   

            # re: QUAKE系列引擎以及基于QUAKE擴展引擎的源代碼全面分析(一) 2007-11-19 14:55 victorzhong

            期待下期  回復  更多評論   

            # re: QUAKE系列引擎以及基于QUAKE擴展引擎的源代碼全面分析(一)[未登錄] 2007-11-19 17:34 flyman

            寫的非常的漂亮,想在沒有時間看QUAKE,所以只有在這享受了,嚴重支持。  回復  更多評論   

            # re: QUAKE系列引擎以及基于QUAKE擴展引擎的源代碼全面分析(一) 2007-11-22 18:52 風在奔跑

            寫得不錯,我也暫時沒時間看quake引擎源碼,看來你的文章還是有收獲。支持  回復  更多評論   

            # re: QUAKE系列引擎以及基于QUAKE擴展引擎的源代碼全面分析(一) 2008-01-12 14:04 零度失真

            收益了。  回復  更多評論   

            # re: QUAKE系列引擎以及基于QUAKE擴展引擎的源代碼全面分析(一) 2008-03-12 14:43 肖建

            樓主寫得太好了,希望能有更多的好文章出爐  回復  更多評論   

            # re: QUAKE系列引擎以及基于QUAKE擴展引擎的源代碼全面分析(一) 2008-09-19 09:58 arun

            正在學習中。。感謝lz的盡心。。  回復  更多評論   

            国产情侣久久久久aⅴ免费| 伊人久久大香线蕉综合影院首页| 日韩乱码人妻无码中文字幕久久 | 色欲综合久久中文字幕网| 7777精品久久久大香线蕉 | 中文字幕久久精品| 久久午夜伦鲁片免费无码| Xx性欧美肥妇精品久久久久久| 久久久久人妻一区精品果冻| 亚洲国产精品高清久久久| 国内精品久久久久伊人av| 久久久噜噜噜久久中文字幕色伊伊| 无码人妻少妇久久中文字幕| 精品免费久久久久久久| 久久香蕉国产线看观看猫咪?v| 麻豆成人久久精品二区三区免费| 青青青国产成人久久111网站| 亚洲国产婷婷香蕉久久久久久 | 女人香蕉久久**毛片精品| 久久青青草原亚洲av无码| 久久国产精品一区二区| 一本久久综合亚洲鲁鲁五月天| 2021精品国产综合久久| 国产精品99久久久精品无码| 国产成人精品久久亚洲高清不卡| 少妇久久久久久被弄高潮| 久久只有这精品99| 国产成人综合久久精品红| 少妇久久久久久被弄到高潮| 色综合久久88色综合天天| 国产精品久久久亚洲| 欧美午夜精品久久久久免费视| 99久久这里只精品国产免费| 久久久久久久综合综合狠狠| 伊人久久大香线蕉精品| 免费国产99久久久香蕉| 99re久久精品国产首页2020| 国内精品伊人久久久久AV影院| 久久综合香蕉国产蜜臀AV| 精品国产乱码久久久久久1区2区 | 久久久网中文字幕|