在Silverlight 3.0中显示360图像(不是全景)

时间:2010-01-14 15:08:41

标签: silverlight image graphics 3d

我有很多从360相机拍摄的图像,我希望能够在Silverlight 3中显示。它们不是常规的全景图像。拍摄图像的相机实际上会创建一个扭曲的jpeg,一旦缠绕在球体上作为纹理就会变形。我有桌面软件,可以查看图像(不只是左右,而是直接向上,向下等),我需要尝试在Silverlight中获得相同的功能。它与Google StreetView非常相似。

我认为我需要的是创建一个球体,将jpeg作为纹理包裹在球体上,然后将“相机”放入球体内。我怀疑在Silverlight中这是可能的,但也许有一种方法来模拟这个?

到目前为止,谷歌的搜索并未带来任何好处。任何人都可以指出我正确的方向来弄清楚如何做到这一点?是否存在任何现有项目?

典型图片的示例是here.

4 个答案:

答案 0 :(得分:1)

这些可能会帮助你(可能不会)。它们是用于silverlight的3d引擎,但是它们可能会将图像包裹在球体外部而不是内部,这可能就是您所需要的。

Kit3D http://www.codeplex.com/Kit3D

Balder http://www.codeplex.com/Balder

另一个可能更有希望的选择是使用javascript。到目前为止,您可能已经研究过如何在Silverlight中执行此操作,但您可能会使用javascript进行类似的搜索。可能已经存在一个选项,并且由于Silverlight可以与Javascript进行交互,因此您可能很幸运。

答案 1 :(得分:1)

你必须将texture映射到sphere然后,就像你说的那样。但afaik silverlight 3不支持硬件加速3d。

所以你的选择是:

希望这有帮助

答案 2 :(得分:0)

您可能想尝试从图像中裁剪窗口并显示它。如果用户想要向右移动,请向右移动窗口并裁剪。如果用户想要向左移动,则向左移动窗口并裁剪。缩小,展开窗口,放大使窗口变小。如果您将框架向右移动,则从左侧缝合图像数据。

您可能需要修改图像以消除失真,这不应该太硬并且取决于相机镜头的焦距。

不要尝试将图像映射到球体,这要困难得多。

答案 3 :(得分:0)

https://hdviewsl.codeplex.com它说HD View SL(Silverlight版本)支持 “正交(2D),包裹360度全景”

如果没有其他人

,您也可以尝试从Pt端口将PtViewer源代码移植到Silverlight

更新: VRLight可能是您案例中的解决方案: http://vrlight.thecloudsite.net/ http://vrlight.thecloudsite.net/tutorial.html http://ivrpa.org/blog/3651/vrlight_vredit_20

其作者(Jurgen Eidt)也正在制作cPicture(http://cpicture.thecloudsite.net/index.en.html),如果你无法从VRLight网站找到他,可以试试cPicture,或者在他的博客IVRPA网站上试试{{{ 3}}),似乎有最近的帖子