What is Eyedome Lighting?
Shading occpuies a special place among the visual mechanism used to perceive complex scenes. Global lighting models, including a physically inspired Ambient Occlusion term, are often used to emphasize the relief of surfaces and clarify spatial relationsships. However, the use of such models remains costly as it often requires elaborate precalculations and is therefore unsuitable for an exploratory process in scientific visualization. On the other hand, image-based techniques, such as edge enhancement or halos due to the depth differences, provide useful hints for understanding complex scenes. Subtle spatial relationsships that are not visible with realistic lighting models can be enhanced with these non-photorealistic techniques.
The non-photorealistic shading technique EDL presented here is based on the following guiding principles.
Image-based Lighting: This method is inspired by Ambient Occlusion or Skydome Lighting techniques, with the addition of Viewport Dependency. In contrast to the standard application of these techniques, in our approach the calculations are performed in the image coordinate space, using only the depth buffer information as in Crytek Screen-Space Ambient Occlusion. These techniques require no representation in the object coordinate space, so no knowledge of the geometry of the visualized data or pre-processing steps is required.
Locality: The shading of a particular pixel should be based primarily on its immediate vicinity in the image space, since the effects of long-range interactions are not initially recognized by viewers.
Interactivity: Our main concern is to avoid costly operations that would slow down interactive exploration and thus limit understanding of the data. Due to the development of graphics hardware, a limited number of operations performed on fragments appears to be the most efficient approach.
The basic principle of the EDL algorithm is to look at a hemisphere (the dome) centered on each pixel p. The hemisphere (the dome) that is centered on each pixel p. This dome is bounded by a “horizontal plane” perpendicular to the direction of the observer at the point p. The shading is a function of the amount of this dome visible at p or, conversely, is determined by the amount of this dome hidden by the neighbors of p. In other words, a neighboring pixel reduces the illumination at p if its depth is less than p. This method defines a shading magnitude that depends solely on the depth values of the close neighbors. To achieve better shading that takes into account distant neighbor pixels, a multiscale approach is implemented using the same shading function at lower resolutions. These shaded images are then filtered to limit the aliasing caused by a lower resolution using a bilateral cross filter and then merged with the shaded image at full resolution.
Compiling and using EDL in ParaView.
Eye Dome Lighting Shading is implemented in ParaView as a plugin. The code can be found in the ParaView source tree under /Plugins/EyeDomeLighting. Before the build of the system is executed, a new variable PARAVIEW_BUILD_PLUGIN_EyeDomeLighting must be switched to ON in the cmake interface in order to enable the setup of the system.