① 用c/c++作為游戲代碼編程的游戲引擎
①目前有兩款游戲引擎很不錯:
HGE(2D引擎,短小而有力)、OGRE(3D引擎,復雜而強大)(都能用搜索引擎找到)
或者你wki網路上,搜索Game
Engine
會有幾十個開源游戲引擎列出來
②但是不建議立即開始研究別人的代碼,你最好先做如下事情:
1、寫一個圖形小游戲(比如貪吃蛇、俄羅斯方塊、小球碰撞等)
2、設計一個統一的類庫(不要管設計的如何,自己怎麼思考的,就怎麼做)來統一重構你寫的這些游戲,給這些游戲提供統一框架支持
③當你完成②,再去看別人的代碼,你會比直接看別人的引擎源代碼領悟到遠遠超出你的想像的東西。
② 求開源3D游戲引擎源碼
*****
*****OGRE,全稱Object-Oriented Graphics Rendering Engine,官方網站:http://www.ogre3d.org/
*****
*****OSG,全稱OpenSceneGraph,官方網站:http://www.openscenegraph.org/projects/osg
*****
*****作為3D引擎它們的功能都非常齊全,而且相對容易上手,這兩個引擎我都研究過一段時間,以後可以多交流。最大差別是前者同時支持Direct3D和OpenGL,而後者只支持OpenGL。在官方網站裡面,源代碼、sdk、samples(開發樣例)、wiki(幫助)、manual應有盡有,開源就是好啊!
③ OGRE游戲引擎是什麼
是一個開源圖像引擎!只能做游戲圖像!
OGRE(Object-Oriented Graphics Rendering Engine,即:面向對象圖形渲染引擎)是一個用C++開發的面向場景、非常靈活的3D引擎,它旨在讓開發人員更容易、更直接地利用硬體加速的3D圖形系統開發應用。這個類庫隱藏了底層系統庫(如:Direct3D和OpenGL)的所有細節,提供了一個基於世界對象和其他直觀類的介面
編輯本段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的源代碼遵循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能運行在linux和windows平台下 LINUX下可以使用各發行版自帶的包管理器下載安裝,其次,3D模型素材可以使用blender繪制,安裝blender的ogre擴展包後導出即可在ogre中使用
④ OGRE依賴庫文件OgreDependencies_MSVC_20101231的作用是什麼,知道的說下,給10分
這個是Ogre進行編譯時需要的支持文件,一般包括OIS庫,CG庫,GUI庫,這些庫在Ogre中均經常用到。如果缺少這些文件,則源碼無法進行編譯,後期編譯出來的Ogre也無法使用OIS、CG、GUi等。僅供參考~
⑤ OGRE的關於OGRE開源協議
Q:OGRE真的免費么?
如果你接受開源協議限制,OGRE是免費的. Q:如果我使用OGRE,我必須要發布我的源碼嗎?
不需要 Q:我必須發布我對OGRE進行的修改么?
從1.7版本開始,OGRE使用MIT協議,所以你不需要發布你的修改.但是你應該考慮獨自維護你個人的OGRE的成本,與此相比,你應該考慮加入OGRE社區(比如其他人可能幫助你修正或者擴展你的代碼). Q:遵守MIT協議,我需要做什麼?
只需要在你的軟體中包含OGRE的協議文件.比如包含在文本文檔中,用戶手冊中... Q:在我應用程序里,我一定要顯示OGRE的logo么? 比如啟動或載入.
不是必須的.即使是如果你那麼做了,我們會很感激你對我們做的宣傳. Q:我什麼時候必須遵守OGRE的協議?
當你使用OGRE發布第三方庫的時候. OGRE能運行在linux和windows平台下
LINUX下可以使用各發行版自帶的包管理器下載安裝,其次,3 D模型素材可以使用blender繪制,安裝blender的ogre擴展包後導出即可在ogre中使用
OGRE初學者引導(1):VS2008下如何配置Ogre
首先是正確安裝了OgerSDK,然後再照下面的步驟來配置。