OGRE開源遊戲引擎

來源:互聯網
上載者:User

OGRE引擎  OGRE官方網站:http://www.ogre3d.org/

 

  關於OGRE(翻譯自http://www.ogre3d.org/index.php?option=com_content&task=view&id=19&Itemid=79)

 

  一、什麼是OGRE?

 

  OGRE(Object-Oriented Graphics Rendering Engine,即:物件導向圖形渲染引擎)是一個用C++開發的面向情境、非常靈活的3D引擎,它旨在讓開發人員更容易、更直接地利用硬體加速的3D圖形系統開發應用。這個類庫隱藏了底層系統庫(如:Direct3D和OpenGL)的所有細節,提供了一個基於世界對象和其他直觀類的介面。

 

  [譯者注:ogre在英文中意為:食人魔鬼, 怪物, 象鬼的人,故其LOGO是一個怪物頭]

 

  二、它能做什嗎?

 

  能做許多!你可以參考特性頁中當前特性的更新列表。你也可以通過網站上的截屏看到它是多麼棒。

 

  三、OGRE是一個遊戲引擎嗎?

 

  不。OGRE能(實際上就是)被用於開發遊戲,但是OGRE被設計成只提供一個世界級的圖形解決方案;對於其他的特性,如:音效、網路、人工智慧、碰撞檢測、物理等子系統,你則需要將其整合到OGRE中,在這些子系統中,已有一些成熟的庫可供選擇,在發布的SDK中,我們有一個碰撞/物理的參考整合庫的例子。

 

  那為什麼OGRE不是一個遊戲引擎呢?原因之一是:不是每一個需要3D引擎的人都想用其來做遊戲,我們並沒有假設你要將OGRE用於遊戲開發、類比、商業應用、或是其他用途。其次,遊戲產業中的需求是相當廣泛的;以MMORPG(Massive Multiplayer Online Role Playing Game,即:大型多人線上角色扮演遊戲)為例,它比起FPS(First Person Shooting,即:第一人稱射擊)類遊戲,需要不同類型的網路程式庫,再如一個格鬥類遊戲將需要不同類型的碰撞/物理系統。如果OGRE包括了所有這些特性,你將被迫在一系列內建的假定的需求下使用一套有針對性的庫,那將不是一個好的設計。相反,我們提供了一個用於整合其他庫的非常友好的API。許多有經驗的遊戲開發人員已經證明了這一點,因為沒有內建的限制。這可能會使得那些僅僅只是想建立另一種類型的FPS遊戲的新使用者感到更加沮喪,但是對於這些人來說,已經有大量現存的採用OGRE提供完整解決方案的綜合庫可供使用。然而,需要明白的是OGRE自身總是保持足夠地獨立和靈活,以致能夠與任何其他庫融為一體。“與其他庫協作和整合,而不是實現他們”的原則是面向組件設計的標準原則。

 

  四、為什麼建議使用OGRE?

 

  其他引擎,雖然有些在技術上給人以很深的印象,然而由於缺乏內聚性設計和一致性文檔致使它們不能被有效地使用。它們中的許多有很長的特性列表,但是由於缺乏清晰的思路將其整合在一起而給人一種像是用麻繩將這些技術捆綁到一起的感覺。就像其他軟體系統一樣,當它們變得更大的時候,也就是它們衰敗的時刻。大多數其他引擎也被設計為適用於某一類特定遊戲(例如:FPS)。

 

  OGRE不同。OGRE的設計理念是“以設計為主導”,而非“特性為主導”。被加進OGRE中每一個特性都是經過深思熟慮,使其儘可能地優雅,並保證了文檔的一致和詳盡,這樣讓人感覺這個特性與全域渾然一體。品質勝於數量,因為數量可以隨後被增加,然而品質卻不可能在後面被添加。OGRE採用那些在商業級軟體中被反覆實驗、學習和驗證過的完善的設計原則(在OGRE名字中所提及的物件導向只是這些實踐中的一種,其他還有經常使用的設計模式)。我們有意識地保持核心Team Dev的小規模,團隊中的成員都是有多年開發經驗的軟體工程師。我們歡迎來自社區的補丁,但是在它們被接受之前,它們必須被嚴格地審核以求符合OGRE品質和內聚性的設計要求。

 

  OGRE並沒有假定你想做某種類型的遊戲或DEMO,它採用靈活的類層次允許你為你所喜歡的任何情境開發特定的情境管理外掛程式。想要快速層次渲染室內情境嗎?很好,你可以使用現有的BSP(Binary Space Partition,即:二叉空間分割)/PVS(Possible Visible Set,即:可見集)情境管理外掛程式。那對於室外呢?你同樣可以使用其他的情境管理外掛程式。引擎的其餘部分如以前一樣繼續準確無誤地運行。

 

  因此,一個簡短的回答是:如果你喜歡具有高品質、靈活性和清晰文檔的設計,那麼,請選擇OGRE,你將知道它是有意義的。

 

  五、它真的是免費的嗎?

 

  OGRE的原始碼遵循LGPL(GNU Lesser General Public License,即:GNU 寬通用公用許可證[1]),這基本上意味著你可以免費使用它,但是當你對核心引擎做了修改並將發布的時候,你必須將你的原始碼一同發布。但是你所建立的應用或開發的新外掛程式則不必發布其原始碼。全部協議條款請參考授權頁面。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.