繁体   English   中英

使用C ++和DirectX从零开始在3D游戏中创建效果

[英]Creating effects in 3D game from scratch, using c++ and DirectX

标题就是这样。 我找不到有关如何在3D游戏中实际建立效果的任何信息。 稍后我可能会继续使用某些引擎,但是为了理解这整个过程,我现在需要自己尝试一下。 我发现一些关于粒子系统的方法可能是正确的方法,但是DirectX和Google上的粒子系统之间的任何其他连接都给出了3DSmax等结果。

因此,如果您能为我提供一些指导性的教程或对其进行解释,我将不胜感激。最后一个可能性是使我指向专注于此问题的一些简单引擎(我并不是很想花很多时间编写代码,了解此引擎的工作原理后,我只需要查看他们如何实现此FX东西即可。

谢谢

PS:另一种可能是,如果您知道一本好书来解决这个问题。 它可能更复杂,但是除了教程之外,书籍通常写得更基础,因此这也是不错的选择

首先:粒子特效只是一种特效,最好指定粒子引擎:p一词。

其次:在Gamedev的文章中搜索 ,如果您想要这样的东西,那的确是最好的资源。 您可以在讨论板上找到很多文章,甚至更好的链接,以及有用的信息。 我可以链接的两篇文章是有关OpenGL中的粒子NeHe课程 ,它不是DirectX的,但是OpenGL的NeHe教程非常好。 我还发现了一个用于Directx8和VB的 (太旧了)。

请记住,如果您无法自行优化粒子引擎,通常会对性能造成很大的影响,所以请尝试研究开源游戏引擎(例如OGRE)如何实现它甚至更好的特定粒子引擎。

因此,如果您能为此指出一些教程,我将不胜感激。

您需要下载Microsoft DirectX SDK 除此之外,您应该尝试NVidia SDK 您也可以尝试ATI SDK 研究他们全部。

除了它们...在OpenGL上还有几本书: “ Red Book”“ Blue Book”Orange Book 弗朗西斯·希尔(Francis Hill)的“使用OpenGL的计算机图形学”也是一个很好的例子。

获取此信息,然后开始阅读。

实际上如何在3D游戏中建立效果

这个问题太广泛了。 有灯光效果,粒子系统,后处理效果,物理效果(也是效果),甚至角色动画也是一种效果。 目前尚不清楚您在谈论哪种效果。

您认为更好的DirectX或OpenGL。

他们或多或少是平等的。 您可以在两者中做相同的事情。 尝试两者并选择您更喜欢的一个。 OpenGL更适合玩耍和实验(因为您可以轻松绘制三角形而不会弄乱硬件缓冲区),可在更多平台上使用,而且GLSL比HLSL更好(因为它不会“编译成汇编语言”)。 DirectX从一开始就着眼于性能,可以在XBox360上使用,而第9版确实不错。 openGL更“抽象”,而DirectX更接近硬件。

如果可以使用这些因素,例如简单性,使用范围,性能,示例数量和资源等

  1. 如果您想要简单,则应该忘记制作游戏引擎。 如果要处理3D,则必须学习很多东西。
  2. DirectX和OpenGL均用于制作3D相关产品。
  3. 使用DirectX和OpenGL可以获得良好的性能,如果您不知道自己在做什么,则性能会很差。
  4. DirectX和OpenGL都有大量的示例和书籍-只需搜索即可。 它们不是昨天制作的,因此已经有足够的信息。

您需要选择目标,选择平台,选择API,研究可用的技术并开始编写代码。 想知道“哪个更好”是浪费时间。 3D知识和算法同样适用于两种API。

OpenGL是我感觉最好的选择。 Glut是免费提供的,具有实现粒子引擎所需的所有功能。 另外还有在线示例代码。 我喜欢函数的方式。 易于记忆和逻辑使用

学习D3D9.0c / D3D10的最佳书籍是Frank Luna。 只需将他放到亚马逊或Google中,您就会得到结果。 他教授如何从头开始构建成熟的游戏引擎。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM