SharpDX如何渲染3D环境

时间:2017-04-12 09:16:32

标签: vb.net matrix 3d directx sharpdx

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

  • 如何计算透视投影矩阵?
  • 如何将该矩阵传递到我的顶点着色器
  • 当我将鼠标拖到屏幕上时,如何让相机围绕对象旋转?

请向我解释这些内容并提供一些代码示例。我只是SharpDX的初学者,我发现的一切对我来说都是不可理解的。

1 个答案:

答案 0 :(得分:1)

首次开始时可以做的一些事情。

首先,您可以使用一些很好的例子(即使在c#但你需要VB),你可以用来学习。

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

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

样本虽然使用了效果方法,但已弃用,因此一旦熟悉编译代码,我建议远离这种范例。

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

您想知道的最后一项是鼠标移动。我建议只看一下围绕mousemove事件的MSDN。您需要将一个绑定到窗口/控件,然后读取增量。使用这些增量来创建基于此的旋转/移动。看看Vector3(sharpdx),基本上,你需要在向量空间中完成所有这些,然后从中创建各种平移/旋转矩阵。

希望这是开始。