OGRE(OGRE引擎)

本詞條是多義詞,共2個義項
更多義項 ▼ 收起列表 ▲

OGRE,指的是OGRE引擎,是遊戲製作引擎

基本介紹

  • 中文名:OGRE遊戲引擎
  • 外文名:OGRE
  • 類型:計算機術語
  • 定義:遊戲引擎
用處,特點,費用,開源協定,新建,工具,

用處

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

特點

其他引擎,雖然有些在技術上給人以很深的印象,然而由於缺乏內聚性設計和一致性文檔致使它們不能被有效地使用。它們中的許多有很長的特性列表,但是由於缺乏清晰的思路將其整合在一起而給人一種像是用麻繩將這些技術捆綁到一起的感覺。就像其他軟體系統一樣,當它們變得更大的時候,也就是它們衰敗的時刻。大多數其他引擎也被設計為適用於某一類特定遊戲(例如:FPS)。
OGRE不同。OGRE的設計理念是“以設計為主導”,而非“特性為主導”。被加進OGRE中每一個特性都是經過深思熟慮,使其儘可能地優雅,並保證了文檔的一致和詳盡,這樣讓人感覺這個特性與全局渾然一體。品質勝於數量,因為數量可以隨後被增加,然而質量卻不可能在後面被添加。OGRE採用那些在商業級軟體中被反覆試驗、學習和驗證過的完善的設計原則(在OGRE名字中所提及的面向對象只是這些實踐中的一種,其他還有經常使用的設計模式)。我們有意識地保持核心開發團隊的小規模,團隊中的成員都是有多年開發經驗的軟體工程師。我們歡迎來自社區的補丁,但是在它們被接受之前,它們必須被嚴格地審核以求符合OGRE質量和內聚性的設計要求。
OGRE並沒有假定你想做某種類型的遊戲或DEMO,它採用靈活的類層次允許你為你所喜歡的任何場景開發特定的場景管理外掛程式。想要快速層次渲染室內場景嗎?很好,你可以使用現有的BSP(Binary Space Partition,即:二叉空間分割)/PVS(Possible Visible Set,即:可見集)場景管理外掛程式。那對於室外呢?你同樣可以使用其他的場景管理外掛程式。引擎的其餘部分如以前一樣繼續準確無誤地運行。
因此,一個簡短的回答是:如果你喜歡具有高質量、靈活性和清晰文檔的設計,那么,請選擇OGRE,你將知道它是有意義的。

費用

OGRE的原始碼遵循LGPL(GNU Lesser General Public License,即:GNU 寬通用公共許可證[1]),這基本上意味著你可以免費使用它,但是當你對核心引擎做了修改並將發布的時候,你必須將你的原始碼一同發布。但是你所創建的套用或開發的新外掛程式則不必發布其原始碼。全部協定條款請參考授權頁面。
--------------------------------------------
[1] 什麼是 GPL、LGPL 和 GFDL?它們和原始碼以及商業銷售之間的關係是什麼?
GPL 是 GNU General Public License (GNU 通用公共許可證)的縮寫形式;LGPL 是 GNU Lesser General Public License (GNU 寬通用公共許可證)的縮寫形式,舊稱 GNU Library General Public License (GNU 庫通用公共許可證);GFDL 是 GNU Free Documentation License (GNU 自由文檔許可證)的縮寫形式。它們是自由軟體(Free Software)的通用著作權認證協定,由自由軟體基金會(FSF)制定和發布。
基於 GPL 的軟體允許商業化銷售,但不允許封閉原始碼
如果您對遵循 GPL 的軟體進行任何改動和/或再次開發並予以發布,則您的產品必須繼承 GPL 協定,不允許封閉原始碼。
基於 LGPL 的軟體也允許商業化銷售,但不允許封閉原始碼。
如果您對遵循 LGPL 的軟體進行任何改動和/或再次開發並予以發布,則您的產品必須繼承 LGPL 協定,不允許封閉原始碼。但是如果您的程式對遵循 LGPL 的軟體進行任何連線、調用而不是包含,則允許封閉原始碼。
[譯者註:本文由Groov0V翻譯,轉載請指明出處]

開源協定

  1. Q:OGRE真的免費么?
    如果你接受開源協定限制,OGRE是免費的.
  2. Q:如果我使用OGRE,我必須要發布我的源碼嗎?
    不需要
  3. Q:我必須發布我對OGRE進行的修改么?
    從1.7版本開始,OGRE使用MIT協定,所以你不需要發布你的修改.但是你應該考慮獨自維護你個人的OGRE的成本,與此相比,你應該考慮加入OGRE社區(比如其他人可能幫助你修正或者擴展你的代碼).
  4. Q:遵守MIT協定,我需要做什麼?
    只需要在你的軟體中包含OGRE的協定檔案.比如包含在文本文檔中,用戶手冊中...
  5. Q:在我應用程式里,我一定要顯示OGRE的logo么? 比如啟動或載入.
    不是必須的.即使是如果你那么做了,我們會很感激你對我們做的宣傳.
  6. Q:我什麼時候必須遵守OGRE的協定?
    當你使用OGRE發布第三方庫的時候.
OGRE能運行在linux和windows平台下
LINUX下可以使用各發行版自帶的包管理器下載安裝,其次,3D模型素材可以使用blender繪製,安裝blender的ogre擴展包後導出即可在ogre中使用
OGRE初學者引導(1):VS2008下如何配置Ogre
首先是正確安裝了OgerSDK,然後再照下面的步驟來配置。

新建

Win32空項目Ogre2.

工具

1. ->選項->項目和解決方案->VC++目錄 顯示以下內容的目錄->包含檔案
2. 添加:C:\Ogre\OgreSDK\samples\include
3.添加:C:\Ogre\OgreSDK\include 顯示以下內容的目錄->庫檔案
4. 添加:C:\Ogre\OgreSDK\lib3.項目->屬性->配置屬性
工作目錄:C:\Ogre\OgreSDK\bin\debug4.項目->屬性->配置屬性->連結器->輸入 附加依賴項:OgreMain_d.lib OIS_d.lib CEGUIBase_d.lib OgreGUIRenderer_d.lib (_d表示debug版本的lib)
5.新建一個cpp檔案,拷貝下面的代碼到裡面
6.運行結果如下圖:
他將顯示OGRE安裝對話框,並開始一個包含FPS的深黑的螢幕(在左邊)和OGRE LOGE(右邊的圖示)。
我在這裡沒有添加任何東西,當按ESC鍵退出。
代碼:
#include"ExampleApplication.h"class TutorialApplication:public ExampleApplication{protected:public:TutorialApplication(){}~TutorialApplication(){}protected:void createScene(void){}};#ifOGRE_PLATFORM==OGRE_PLATFORM_WIN32#defineWIN32_LEAN_AND_MEAN#include"windows.h"INTWINAPIWinMain(HINSTANCEhInst,HINSTANCE,LPSTRstrCmdLine,INT)#elseint main(intargc,char**argv)#endif{//CreateapplicationobjectTutorialApplicationapp;try{app.go();}catch(Exception&e){#ifOGRE_PLATFORM==OGRE_PLATFORM_WIN32MessageBoxA(NULL,e.what(),"Anexceptionhasoccurred!",MB_OK|MB_ICONERROR|MB_TASKMODAL);#elsefprintf(stderr,"Anexceptionhasoccurred:%s\n",e.what());#endif}return0;}

相關詞條

熱門詞條

聯絡我們