【发布时间】:2012-04-23 20:38:41
【问题描述】:
我正在编写一个程序(c# .NET 4.0 WPF 3D)来渲染地球切片(如 OpendTect 或 Petrel 的地震模块)。
问题是我需要能够深入放大,并且仍然可以看到细节。
我尝试放置一个巨大的详细纹理 (5000x5000),但它占用了太多内存 (200-300 MB),并且在我尝试增加大小时崩溃。
现在我想看看是否有任何方法可以使用动态纹理之类的东西——这种纹理会根据与相机的距离而变化。
或者也许有其他方式来处理高分辨率表面?
我使用这段代码来加载纹理:
wbm = new WriteableBitmap(
(int)1306*scale,
(int)ns*scale,
96,
96,
PixelFormats.Indexed8,
new BitmapPalette(getColors()));
...
visual3d.Material = visual3d.BackMaterial
= new DiffuseMaterial(new ImageBrush(wbm));
【问题讨论】: