Volumetric rendering
Volumetric rendering is the direct display of data sampled in three dimensions in a perspective accurate manner. Each visible bit of an object shown represents a ray that is cast between a viewport and the object.
It can be chunked to bypass video memory limits.
Volumetric rendering can be done in a fragment shader.
Volumetric rendering can be done using a 3D array of data, which are voxels. This can be done using a 3D texture in DirectX11, Vulkan, or OpenGL.
It is similar to light field rendering, but uses less data overall.
Data size[edit]
Storing a dense volume in memory can take a lot of memory.
A volume of 256 x 256 x 256 resolution at 32 bits per voxel takes about 500 megabits, or about 64 megabytes.
1024x1024x1024@32 takes about 34 gigabits, or about 4 gigabytes.
A dense STL can be used to store sparse data.
References[edit]
- Lee Westover. 1990. Footprint evaluation for volume rendering. In Proceedings of the 17th annual conference on Computer graphics and interactive techniques (SIGGRAPH '90). Association for Computing Machinery, New York, NY, USA, 367–376. https://doi.org/10.1145/97879.97919