现在,我在考虑我的高级项目主题。我有一个想法,可以创建一个3D模型,可以查看该对象并使用深度缩放进行缩放。但是,我试图找到相关信息,但从未看到这些概念在一起。根据这些结果,我可能会创建地球的3D模型,并将其缩放到内部,直到找到我的国家。是否可能将它们结合起来?
此致敬礼, C.Porawat
现在,我在考虑我的高级项目主题。我有一个想法,可以创建一个3D模型,可以查看该对象并使用深度缩放进行缩放。但是,我试图找到相关信息,但从未看到这些概念在一起。根据这些结果,我可能会创建地球的3D模型,并将其缩放到内部,直到找到我的国家。是否可能将它们结合起来?
此致敬礼, C.Porawat
这里有一个使用OpenGL和WPF的CodeProject示例:
http://www.codeproject.com/KB/WPF/WPFOpenGL.aspx
OpenGL是跨平台的,因此学习它所花费的时间也会转化为非Windows环境。
您所问的似乎是能否将DeepZoom控件用作“动态纹理”来喂养Viewport3D(代表一个圆形地球)。 这是一个有趣的想法,但我认为这不起作用。
Viewport3D将告诉deepzoom控件在每个地方渲染均匀的分辨率,然后使用生成的纹理。例如,在欧洲放大时,会要求deepzoom控件以相同的分辨率绘制澳大利亚,即使它们位于地球的另一侧。理论上,viewport3D可以计算所有可见图形元素的包围框,但在Viewport3D的典型情况下,这样做不会明显改善性能,因此我怀疑他们是否这样做。这也不是很容易实现。
您可以在某个分辨率级别上从3D切换到2D。因此,您首先在3D中旋转地球(您应该能够在WPF中做到这一点),并允许用户缩放,当您缩放到“国家级别”时,切换到一个深度缩放控件,允许您缩放到街道级别。