如何在桌面应用程序中使用 C# 生成基本 3D 形状(红色和蓝色),使用玻璃纸 3D 眼镜可以将其视为 3D?(请注意,这个问题不限于任何特定的语言。如果我能在任何语言中抢占先机,那就太好了。我总是可以从中学习并最终知道足够的知识来尝试用我想要的语言来实现它。)
我已经看到了很多关于这个的问题,但答案似乎很复杂,最终并没有把我带到任何地方。我什至找不到任何关于此的文档或文章。
如何在桌面应用程序中使用 C# 生成基本 3D 形状(红色和蓝色),使用玻璃纸 3D 眼镜可以将其视为 3D?(请注意,这个问题不限于任何特定的语言。如果我能在任何语言中抢占先机,那就太好了。我总是可以从中学习并最终知道足够的知识来尝试用我想要的语言来实现它。)
我已经看到了很多关于这个的问题,但答案似乎很复杂,最终并没有把我带到任何地方。我什至找不到任何关于此的文档或文章。
要生成立体 3D 图像,您首先必须从两个略有不同的视口渲染场景,每只眼睛一个。它们相距越远,场景看起来就越小,3D 感就越高。
最简单的方法是使用一些现有的库来渲染图像。使用“相机”,将其稍微定位在视图中心的左侧(和右侧)。渲染两个图像,并获取像素。
第二步是将两个图像组合成立体 3D 图像。一种方法是将一个图像的红色通道与另一个图像的绿色和蓝色通道结合起来。
(伪 C#:)
Color Combine(Color left, Color right)
{
return new Color(left.Red, right.Green, right.Blue);
}
Image Combine(Image left, Image right)
{
Image result = new Image(left.Width, left.Height);
for (int y = 0; y < left.Height; y++)
for (int x = 0; x < left.Width; x++)
{
result.SetPixel(x, y, Combine(left.GetPixel(x, y), right.GetPixel(x, y)));
}
}