3D形状和玻璃纸眼镜

时间:2013-10-12 05:48:00

标签: c# .net language-agnostic 3d anaglyph-3d

如何在桌面应用程序中使用C#生成可以用玻璃纸3D眼镜看作3D的基本3D形状(红色和蓝色)? (请注意,这个问题并不局限于任何特定的语言。如果我能用任何语言开始,那就太棒了。我总是可以从中学习并最终了解到足以尝试实现这一点。用我想要的语言。)

我已经看到了很多这方面的问题,但答案似乎非常复杂,最终并没有把我带到任何地方。我甚至找不到任何关于此的文档或文章。

1 个答案:

答案 0 :(得分:2)

要生成Anaglyph 3D图像,首先必须从两个略有不同的视口渲染场景,每个眼睛一个。它们越远,场景越小,3D感觉就越高。

最简单的方法是使用一些现有的库来渲染图像。使用“相机”,将其略微放置在视图中心的左侧(和右侧)。渲染两个图像,然后获取像素。

第二步是将两个图像组合成一个立体3D图像。一种方法是将一个图像的红色通道与另一个图像的绿色和蓝色通道组合在一起。

(Pseduo-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)));
    }
}