C ++游戏编程中的Direct-X

时间:2009-11-17 14:24:10

标签: c++ windows

我是c ++编程的新手,任何人都可以告诉我Direct-X SDK是如何有用的,它是如何工作的,我们如何在游戏编程中使用它。我下载了它,我发现了很多头文件和文档还讲述了游戏编程的一些内容。

5 个答案:

答案 0 :(得分:10)

DirectX是一个库(真正的大型类集合),允许您与视频适配器,声卡,键盘,鼠标,操纵杆等“对话”。它允许您比其他更有效地执行此操作“标准”Windows功能。这很重要,因为游戏需要获得所有性能提升 - 而DirectX在这方面有很多优势。特别是在图形编程方面,因为它具有使您能够使用图形卡的3D加速功能的功能。 Windows默认情况下没有此类功能。

DirectX SDK包含:

  • DirectX的所有功能的文档;
  • C ++语言教程,如果您不知道任何内容,可以帮助您入门;
  • 示例应用程序;
  • 为程序添加DirectX支持所需的.h和.lib文件;
  • DirectX的调试版本(我想,我对此不太确定)
  • 您可以将自己的程序包含在内的DirectX redist。

如果你不熟悉C ++,那么从DirectX开始开始将非常困难,因为其中任何一个都有相当大的学习曲线。

顺便说一下 - 你确实从微软网页下载了最新版本,而不是从一些网络人员那里下载了5年的副本,对吗?

答案 1 :(得分:3)

你的问题是广泛的。 DirectX可以帮助您以更多方式创建游戏(考虑到您是新的)。

渲染(将内容放在屏幕上),输入(响应用户鼠标/键盘上发生的事情),网络(用于多人游戏),阅读文件,字体,3D模型,声音。仅举几例。

我建议你不要尝试直接使用DirectX自己写东西。从中获得好处是一项非常复杂的任务。 Dont reinvent the wheel unless you plan to learn more about wheels.(这里的轮子是DirectX。)

如果您只想启动并运行“魔兽世界2”,我建议您使用预制的DirectX实施(通常称为游戏引擎),例如OgreIrrlicht或{{3} }(更简单,但仅适用于2D游戏)。

祝你好运,不要放弃,欢迎稍后回答你的第一个真实问题。 :)

答案 2 :(得分:1)

我想补充一点,“游戏编程”并不需要图形编程。 DirectX与OpenGL一样,为创建图形应用程序提供了基础;但是,如上所述,这是非常低的水平。

作为一名专业的游戏开发者,我不建议在学习C ++后跳入DirectX。这是一项艰难的努力,将缓慢行动,并为你提供继续下去的动力。这绝对是你未来的想法;但是,目前,玩完整的东西会更有利,可能从游戏编程开始。

注意:除了C ++技能,你还需要一些数学天赋。线性代数和三角学是主要关注点。

查看Angel之类的轻量级引擎。这是一个相当直观的起点,足够小,你可以完全理解其中发生的事情。

与往常一样,尝试在开始时为自己做一些小编辑和项目,然后继续进行更大更糟糕的任务!

祝你好运!

答案 3 :(得分:0)

我不完全确定你在问什么,但是关于DirectX的Frank Luna's book是一个非常好的介绍。

但如果你是C ++的相对新手,那么DirectX对于你正在寻找的东西来说可能太低了。我的意思是,你是想创造一个色彩缤纷的旋转立方体,还是想制作一个半完整的游戏?假设后者,您可能需要一个框架来抽象出DirectX或OpenGL的低级细节。为此,我衷心推荐Ogre 3D。只有教程才能让您在知道之前启动并运行。

答案 4 :(得分:0)