我最近完成了C ++的大部分基本语法,并且我的目标是DirectX(准确地说是Direct2D和Direct3D)
我想知道在深入研究DirectX技术之前我需要学习什么。
非常感谢任何帮助!
答案 0 :(得分:2)
一个好的起点是DirectX Tool Kit for DirectX 11和tutorials。这涵盖了使用Direct3D 11和XAudio的基础知识,并为XInput提供了一个很好的包装器。一旦你完成了这些工作,那么你应该有一个良好的基础来审查互联网上的许多其他教程。有很多有用的教程和书籍,但他们经常使用legacy DirectX SDK并使用大量的deprecated support code。您可以从这些较旧的资源中学到很多东西,但了解哪些部分信息已过时且哪部分仍然100%准确有用。
由于 DirectX工具包是开源的,因此您可以轻松地浏览它以了解它正在做什么。它还专门设计为非常模块化,因此您可以在学习Direct3D图形管道,HLSL着色器编程,动态与静态提交,资源管理等不同方面时替换其中的部分内容。
如果您想学习使用XAML + Direct3D编程通用Windows平台(UWP)应用程序,Direct2D / Direct3D上的“现代”MSDN材料是个不错的选择。 DirectX工具包旨在与所有DirectX 11平台一起使用,包括Windows 7,Xbox One,经典Win32桌面应用程序,UWP(带或不带XAML),Windows手机等。
在背景材料方面,有很多关于图形编程的入门书籍。它们将涵盖转换数学和视图系统,纹理和光栅化以及其他关键概念的关键主题。特别是对于DirectX,Frank Luna的使用DirectX 11进行3D游戏编程的介绍仍然很好,但确实遭受了在DirectX SDK弃用之前发布的问题。有关详细信息,请参阅this post。