游戏编程

时间:2020-03-06 14:37:57  来源:igfitidea点击:

在C ++中,我可以在游戏编程中使用哪些库进行运动和混合?我需要有关声音,图像,扩展算法(例如2xsai和超级鹰)的库。我需要像fblend这样的库,也需要运动库。如何在devcpp中编译fblend的功能? 2D游戏...并且库应与devcpp兼容

解决方案

我们肯定要看一下着色器。着色器使我们可以使用世界数据或者先前的帧数据来装饰当前场景。这样做相对容易使用着色器创建运动模糊和其他效果。

我建议我们在http://gamedev.net上阅读,并可能阅读一些名为Game Programming Gems的书籍。

我主要将这两个库用于3d游戏:

SDL

Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer.

ODE is an open source, high performance library for simulating rigid body dynamics. It is fully featured, stable, mature and platform independent with an easy to use C/C++ API. It has advanced joint types and integrated collision detection with friction. ODE is useful for simulating vehicles, objects in virtual reality environments and virtual creatures.

DevMaster是一个不错的起点。

检查Irrlicht最好的免费引擎之一。开始和开始非常容易。

Gosu是一个紧凑,周到的C ++库(也具有Ruby绑定)。我现在正在为一个项目使用Gosu,它实现了其诺言:确实很小,但不会妨碍我们。

或者,有SDL。 SDL最终是使用OpenGL进行2D图形处理的相当底层的API。

我曾经一直使用ClanLib。它的功能非常丰富。但是,它的发展似乎异常缓慢,我最终继续前进。不过,当然值得一看。

对于2D的基本物理学,我们可能会发现Box2D很有用。不幸的是,它的文档有些糟糕和混乱,但是总体而言,它是一个很好的库。如果我们仅打算进行2D工作,则使用3D物理引擎绝对是过大的工作,这会使工作更加艰巨。

尽管我强烈建议使用这些库之一,但并非绝对必要。完全有可能直接使用OpenGL或者Direct3D来构建游戏。如果我们计划实施比较高级的图形技术,则最好使用此方法。

正如Ben所说,gamedev.net是一个有关游戏开发问题的绝佳场所。我已经浏览那里的论坛已有多年了。

最后,我在这里列出了免费游戏开发技术的不完整列表,其中包括非C ++语言的库。