- Edited
Tim 3D mesoanalysis is going to be one of the foremost trademark distinguishing factors of the next-gen WSV3. I am currently working on a generic 3D raster engine with the ability to overlay/drape arbitrary raster parameters to the terrain itself. This is actually the hard part. Pressure-level-defined fields up in the sky I anticipate to be easier and more performant because they do not need to reference terrain height. In that case, for model data, the projection can use a low-res mesh itself derived from the 500mb height (etc) corresponding model field.
I intend to give the engine the ability not only to render-to-texture these surface terrain-projected fields, but also to separately render fixed height above ground parameters that use true vertical 3D offsetting from the terrain. So, think of a 1km AGL reflectivity field (the MRMS radar for instance) being correctly displayed as a non-flat surface because it varies with ground height.
That case will use the most GPU processing power, but that is OK. 2D mode is fully supported for lightweight map motion. Also, the GPU usage only predominantly occurs when the map is in motion. I am going to build the fullest and most correct 3D spatial visualizations and let the user decide when they want to use GPU power.
I also have a great idea for a highly optimized way for rendering timeseries/animated 3D raster data when the camera is at the same view, which doesn't have to fully re-render the terrain mesh like when moving the camera. The GPU should only experience maximum usage when you are actively moving the camera.
Here is a screenshot of an early experiment on projecting arbitrary raster data to terrain texture.
I happen to be actively resuming work on this area the very last few days, so your thread is very timely.
I have a clear vision for the most essential form of 3D geospatial dataset visualization: colorized raster parameters at different heights/projections. Two other future categories I will probably not tackle until next year are streamline/particle rendering and volume rendering.