【问题标题】:Is there any C# 3D Graphics Library that can help me calculating 2D positions of 3D object in space?是否有任何 C# 3D 图形库可以帮助我计算 3D 对象在空间中的 2D 位置?
【发布时间】:2012-09-17 21:51:05
【问题描述】:

我的目标是把一些对象放在一个 3D 空间中并调用 Render(),然后这个库可以告诉我每个对象在 2D 屏幕上的渲染位置。

或者像一个3d游戏引擎,但是我想接管渲染部分,我想自己渲染这些对象。

谁能帮帮我?

【问题讨论】:

    标签: 3d 2d game-engine rendering-engine


    【解决方案1】:

    XNAMath 呢?这应该足以满足您的所有需求。事实上,它现在是 DirectX SDK 的一部分。

    编辑:如果您想深入了解计算机图形学的几何,这里有一个全面的book,涵盖了所有主题。 无论您要设计什么图形、游戏、cg 演示或任何东西,数学在任何地方都是一样的。

    【讨论】:

    • 我可以在没有 XNA Framework 的情况下使用这个库吗?我的软件不是游戏。谢谢。
    • 是的,您可以在 XNA Framework 之外使用该库。虽然它被称为 XNAMath,但它不是 XNA 的一部分,而是用 C++ 编写的。此外,它使用最新的 SIMD 优化,所以我猜它是最有效的数学库。
    【解决方案2】:

    任何支持矩阵运算的库都可能会有所帮助,但我建议您使用托管 DirectX。它具有许多实用功能,尤其是对于 3D 图形。

    选择库后,使用它制作适当的视图矩阵和投影矩阵。将两个矩阵相乘成一个矩阵,然后将该矩阵与 3D 中的位置(对象的中心或某个顶点)相乘。结果向量将指向对象在 2D 屏幕中的位置。这是一个标准的 3D 图形流水线,使用关键字可以找到很多参考。

    【讨论】:

    • 我的软件不是游戏,可以只用矩阵运算吗?或者有没有文章可以告诉我算法。谢谢。
    猜你喜欢
    • 2015-01-03
    • 1970-01-01
    • 2013-08-20
    • 2011-02-12
    • 2013-08-14
    • 2010-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多