2008-09-23 174 views
2

什麼庫可以用於運動和混合在c + +遊戲編程?我需要關於聲音,圖像,擴展算法(如2xsai和超級鷹)的庫。我需要像fblend和運動的圖書館。如何在devcpp中編譯fblend函數? 2D遊戲...和庫應該與devcpp兼容遊戲編程

+3

DevCpp尚未更新多年,且不太穩定。 Code :: Blocks基本上可以在DevCpp中斷的地方找到。一探究竟! – postfuturist 2008-09-23 23:55:35

回答

2

你一定要看着色器。着色器允許您使用世界數據或先前幀數據來修飾當前場景。這樣做比較容易使用着色器創建運動模糊和其他效果。

我建議您閱讀http://gamedev.net,或者查閱一些名爲Game Programming Gems的書籍。

5

我使用主要用於3D遊戲這兩個庫:

SDL

簡單Directmedia層是一個跨平臺的多媒體庫,旨在提供對音頻,鍵盤,鼠標,操縱桿低級別的訪問,通過OpenGL的3D硬件,以及2D視頻幀緩衝。

ODE

ODE是開源的,用於模擬剛體動力學高性能庫。它具有功能全面,穩定,成熟且獨立於平臺且易於使用的C/C++ API。它具有先進的接頭類型和集成的摩擦碰撞檢測功能。 ODE可用於模擬虛擬現實環境中的車輛,物體和虛擬生物。

+0

爲什麼選擇ODE而不是[Bullet](http://bulletphysics.org/wordpress/)? – Domi 2014-09-05 18:31:02

3

DevMaster是一個很好的開始。

檢查Irrlicht - 最好的免費引擎之一。開始和開始非常容易。

3

Gosu是一個緊湊,體貼的C++庫(帶有Ruby綁定)。我現在正在使用Gosu作爲一個項目,並且它履行了它的承諾:它確實是最小的,但它不會妨礙你。

或者,總是有SDL. SDL is ultimately a fairly low-level API for doing 2D graphics with OpenGL.

I used to use ClanLib。它功能非常豐富。然而,它的發展似乎非常緩慢,我最終繼續前進。不過,這當然值得一看。

對於2D中的基礎物理,您可能會發現Box2D有用。不幸的是,它的文檔有點差和混亂,但總的來說它是一個很好的庫。如果你只是在做2D工作,那麼使用3D物理引擎肯定是過度殺戮,會讓你的工作比需要的更難。

儘管我強烈建議使用這些庫中的一個並不是絕對必要的。完全可以使用OpenGL或Direct3D直接構建遊戲。如果您有實施相當先進的圖形技術的計劃,則此路線更可取。

正如本人所說,gamedev.net是一個關於遊戲開發問題的現象。我一直在那裏查看論壇多年。

最後,我在這裏列出了免費遊戲開發技術,包括C++以外的語言庫。

1

開始使用GNU Emacs(gnu.org/software/emacs)和gcc(gcc.gnu.org或mingwm.org作爲windows版本)。熟悉操作系統的shell(命令行),足以創建文件,更改目錄和複製/移動文件。

閱讀了一下Emacs的功能(幾乎無盡),然後開始使用(IDE的存在只是爲了隱藏命令行)。

SDL可讓您以跨平臺的方式訪問計算機的視頻卡,它也可以播放聲音,並且有許多第三方插件(SDL Image,SDL TTF等等)。但是,它不提供3D功能,請使用OpenGL(您可以使用SDL和OpenGL)。我建議在SDL2.0之前從SDL1.2開始,因爲它更簡單。 www.libsdl.org/release/SDL-1.2.15/docs/html/是開始學習SDL1.2的好地方。

SDL1.2不提供任何原始繪圖程序,如果您執行互聯網搜索,則不會出現問題,您會發現許多算法可以在簡單文件中實現。

OpenAL是一個3D聲音庫。

存在這篇文章中提到的所有軟件的開源版本。