Question

I am writing a geoscience visualization application that uses wpf 3d. The user needs to be able to zoom deep into detail and out quick with minimum resources taken. I've decided to divide my slice (ModelVisual3D) into subrectangles (GeometryModel3D), so that each has it's own texture that changes when the camera zooms in (similar to Google maps).

The problem is that "cracks" are appearing between subrectangles, even though they actually have no empty space between them.

enter image description here

How to hide these? or is there any other way to assign multiple materials with different sizes to one ModelVisual3D?

PS I've tried making the background gray, light-gray, silver and white-smoke. It helps a little, but it's not acceptable. I've also tried overlapping the subrectangles, with no result.

Was it helpful?

Solution 2

Seems like changing ImageBrush's stretch to Stretch.None and using textures larger than the subsquare helps. Although now I need more precise control over texture coordinates for the surface.

OTHER TIPS

Instead of your current setup you might want to make several textures at different resolutions and switch between these depending on the zoom level. (Mipmaps)

When getting really close you might replace the entire object and switch it for a much smaller one) and use a highly detailed texture.

It will require a bit more pre-processing but you will be able to use a single geometry.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top