複製鏈接
請複製以下鏈接發送給好友

OGRE

(OGRE引擎)

鎖定
OGRE,指的是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自身總是保持足夠地獨立和靈活,以致能夠與任何其他庫融為一體。“與其他庫協作和整合,而不是實現他們”的原則是面向組件設計的標準原則。

OGRE引擎特點

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

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翻譯,轉載請指明出處]

OGRE開源協議

  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下可以使用各發行版自帶的包管理器下載安裝,其次,3 [1]  D模型素材可以使用blender繪製,安裝blender的ogre擴展包後導出即可在ogre中使用
OGRE初學者引導(1):VS2008下如何配置Ogre
首先是正確安裝了OgerSDK,然後再照下面的步驟來配置。

OGRE新建

Win32空項目Ogre2.

OGRE工具

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)
#else
int main(intargc,char**argv)
#endif
{
//Createapplicationobject
TutorialApplicationapp;
try
{
app.go();
}
catch(Exception&e)
{
#ifOGRE_PLATFORM==OGRE_PLATFORM_WIN32
MessageBoxA(NULL,e.what(),"Anexceptionhasoccurred!",MB_OK|MB_ICONERROR|MB_TASKMODAL);
#else
fprintf(stderr,"Anexceptionhasoccurred:%s\n",
e.what());
#endif
}
return0;
}

參考資料