我对3D数学有疑问。在我年轻的时候,我还没有学过三角学或线性代数。不过,我在汗学院学到了很多东西。我还没有完成3D游戏编程的全部数学计算。我正在关注Frank D. Luna的使用DirectX 12进行3D游戏编程的介绍。他提到了很多数学,但我并没有得到大部分数学。我想知道该怎么做。
跳过它?或者尝试学习它?
答案 0 :(得分:3)
理解3D变换的基本数学是真正进行任何3D编程所必需的,甚至对于2D编程也很有用。了解局部与视图与投影空间也很重要。精通使用四元数也非常有用,因为这在动画,混合和相机中非常常用。即使是在Unity写作的人也需要知道这些事情。
如果你打算成为一名专业的图形程序员,你应该花点时间在某个时候学习线性代数。
如果您还不是Direct3D 11图形编程方面的专家,我会recommend等待DirectX 12.看看DirectX Tool Kit它是tutorials或者看看Frank的早期的书作为起点。
对于“现代”Direct3D编程,您应该查看使用Windows 8 SDK及更高版本中包含的DirectXMath(并且BTW也托管在GitHub上)。但是,为了简化使用和学习,您应首先查看 DirectX工具包中包含的DirectXMath的SimpleMath包装器,它隐藏了一些繁琐的内存对齐要求。