SharpDX 如何渲染 3D 环境

SharpDX How To Render a 3D Environment

我刚开始在 SharpDX (VB.net) 中编写一些基础知识,我已经掌握了它来渲染 2D 三角形。我知道如何渲染其他 2D 内容,但我想创建 3D 内容,以便我能够围绕一些立方体旋转相机。我试过了,但未能将 3D Space 转换为屏幕坐标。现在这是我的问题:

请向我解释这些事情并给出一些代码示例。我只是 SharpDX 的初学者,我发现的一切对我来说都是无法理解的。

刚开始时可以做的几件事。

首先,您可以利用一些很好的示例(即使在 c# 中,但您需要 VB),您可以从中学习。

我建议您在 Sharpdx 存储库中查看此内容。 Sharpdx direct 3d 11 samples

在这些示例(尤其是三角形示例)中,它介绍了基础知识,包括设置设备、创建简单资源以绑定到 GPU 以及编译字节码。

示例虽然使用了已弃用的效果方法,因此一旦您熟悉了编译代码,我建议您放弃这种范式。

更高级的示例将向您展示如何设置矩阵。

您想知道的最后一项是鼠标移动。我建议只看一下有关 mousemove 事件的 MSDN。您需要将一个绑定到您的 window/control,然后读取增量。基于此使用这些增量创建您的 rotation/movement。查看 Vector3 (sharpdx),基本上,您需要在向量 space 中完成所有这些,然后从中创建各种 translation/rotation 矩阵。

希望这是开始。