【发布时间】:2024-01-17 11:42:01
【问题描述】:
我目前开发了一个使用 System.Graphics.DrawEllipse 绘制多个椭圆的应用程序,该应用程序在 c# 中运行良好。
现在我想集成它,以便通过为每只眼睛提供不同的图像来使用立体成像 (3D) 向不同的眼睛显示某些椭圆。我安装了 DirectX SDK 和 SharpDX,我想使用生成的椭圆 (2D)并使用 NVIDIA 3D 和快门眼镜以立体/3D 方式显示它..
This question 给出了如何在 c# 中使用 3D 显示立体图像的答案,但它利用了 Surface 类。我在互联网上搜索了很多,但找不到绘制形状或使用已经绘制的形状而不是图像(位图)的方法。
感谢任何帮助。 谢谢。
【问题讨论】:
-
System.Drawing是 GDI。它不是 DirectX,也不兼容。您将无法使用System.Drawing类来做任何与 DirectX 相关的事情。 -
您最好的选择——如果你想保持简单——是使用 DirectX11.1 和 Direct2D。使用 DX11.1,设置stereo swapchain 非常简单。 Direct2D 还为您提供了类似 GDI 的方法,例如 Draw/Fill-Ellipse。这两个 API 均由 SharpDX 提供。
标签: c# drawing directx rendering graphics2d