I am writing a program (c# .NET 4.0 WPF 3D) that renders earth slices (like OpendTect's or Petrel's seismics module).
The problem is that I need to be able to zoom in deeply, and still see the details.
I tried putting a huge detailed texture (5000x5000), but it eats too much memory (200-300 MB), and crashes when I try to increase the size.
Now I want to see if there is any way of using something like a dynamic texture - the one that will change depending on distance to the camera.
Or maybe there is some other way of dealing with high-resolution surfaces?
I use this code to load texture:
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));