背景:我刚开始入门,甚至没有接触Direct3D 11 API,而是试图理解管道等。
从文档和网上流传的信息来看,似乎一些计算由应用程序处理。也就是说,计算不仅仅是将矩阵呈现给GPU进行乘法运算,而是由在CPU上操作的数学库进行计算。我没有特别的资源可以指向,尽管我想我可以指向XNA Math Library或2月份DX SDK中提供的示例。当你看到像mViewProj = mView * mProj;
这样的代码时,这个投影是在CPU上计算的。或者我错了吗?
如果您正在编写一个程序,在屏幕上可以有10个立方体,可以移动或旋转立方体,以及视点,那么您会在CPU上进行哪些计算?我认为我会存储一个单独的立方体的几何形状,然后变换表示实际实例的矩阵。然后,似乎我会使用XNA数学库或其他我选择的库来在模型空间中变换每个立方体。然后得到世界空间中的坐标。然后将信息推送到GPU。
这在CPU上需要进行相当多的计算。我错了吗?
- 我是不是基于太少的信息和理解得出结论的?
- 如果答案是STFW,我应该搜索什么术语?
- 或者如果我是对的,为什么这些计算没有被推送到GPU?
编辑:顺便说一句,我没有使用XNA,但文档指出XNA数学库取代了以前的DX数学库。(我将SDK中的XNA库视为一个纯粹的模板库)。