【发布时间】:2012-09-17 21:51:05
【问题描述】:
我的目标是把一些对象放在一个 3D 空间中并调用 Render(),然后这个库可以告诉我每个对象在 2D 屏幕上的渲染位置。
或者像一个3d游戏引擎,但是我想接管渲染部分,我想自己渲染这些对象。
谁能帮帮我?
【问题讨论】:
标签: 3d 2d game-engine rendering-engine
我的目标是把一些对象放在一个 3D 空间中并调用 Render(),然后这个库可以告诉我每个对象在 2D 屏幕上的渲染位置。
或者像一个3d游戏引擎,但是我想接管渲染部分,我想自己渲染这些对象。
谁能帮帮我?
【问题讨论】:
标签: 3d 2d game-engine rendering-engine
XNAMath 呢?这应该足以满足您的所有需求。事实上,它现在是 DirectX SDK 的一部分。
编辑:如果您想深入了解计算机图形学的几何,这里有一个全面的book,涵盖了所有主题。 无论您要设计什么图形、游戏、cg 演示或任何东西,数学在任何地方都是一样的。
【讨论】:
任何支持矩阵运算的库都可能会有所帮助,但我建议您使用托管 DirectX。它具有许多实用功能,尤其是对于 3D 图形。
选择库后,使用它制作适当的视图矩阵和投影矩阵。将两个矩阵相乘成一个矩阵,然后将该矩阵与 3D 中的位置(对象的中心或某个顶点)相乘。结果向量将指向对象在 2D 屏幕中的位置。这是一个标准的 3D 图形流水线,使用关键字可以找到很多参考。
【讨论】: