c++ - 学习DirectX需要具备哪些知识

标签 c++ directx direct3d direct2d

<分区>

我最近完成了大部分C++的基本语法,我的目标是DirectX(准确地说是Direct2D和Direct3D)

我想知道在深入研究 DirectX 技术之前我需要学习什么。

如有任何帮助,我们将不胜感激!

最佳答案

开始的好地方是 DirectX Tool Kit for DirectX 11 , 和 tutorials为了它。这涵盖了使用 Direct3D 11 和 XAudio 的基础知识,并为 XInput 提供了一个很好的包装器。一旦您完成了这些,那么您应该有一个良好的基础来查看 Internet 上的许多其他教程。那里有很多有用的教程和书籍,但他们经常使用 legacy DirectX SDK并充分利用 deprecated support code .您可以从这些较早的来源中学到很多东西,但了解信息的哪些部分已过时以及哪些部分仍然 100% 准确会很有帮助。

由于 DirectX Tool Kit 是开源的,您可以轻松探索它以了解它在做什么。它还专门设计为非常模块化,因此您可以在学习 Direct3D 图形管道、HLSL 着色器编程、动态与静态提交、资源管理等的不同方面时替换它的一部分。

The "modern" MSDN material on Direct2D/Direct3D is a good place to go if you are wanting to learn to program the Universal Windows Platform (UWP) app using XAML+Direct3D. The DirectX Tool Kit is designed to work with all the DirectX 11 platforms including Windows 7, Xbox One, classic Win32 desktop apps, UWP (with or without XAML), Windows phone, etc.

在背景资料方面,图形编程的入门书籍非常多。他们将涵盖转换数学和 View 系统、纹理和光栅化以及其他关键概念的关键主题。特别是对于 DirectX,Frank Luna 的Introduction to 3D Game Programming with DirectX 11 仍然不错,但在 DirectX SDK 弃用之前发布确实受到了影响。参见 this post了解详情。

关于c++ - 学习DirectX需要具备哪些知识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41558691/

相关文章:

线性层次结构的 C++ 可变参数模板参数

c++ - 与子进程通信的最快方式

vb.net - 在 VB.net 中播放音频文件(.wav),带音量控制

c++ - 我应该转向面向对象编程(黑匣子)吗?如何转向?

opengl - DirectX/OpenGL 中的三角形绘制顺序

CUDA Direct3D 互操作性已弃用?

C++ : get inherited type from abstract pointer vector

c++ - 编译 Aruco 库?

c# - WPF 3D 动态纹理

c++ - Direct3D:从纹理创建渲染目标 View