The main volumetric shaders are implemented as Post Process Materials that blend well with opaque objects in a scene, but objects with translucent materials require special care, because the correctness of the final image depends on relative positions of volumetric shapes and translucent objects. In this project, the main post process materials are rendered before translucency and thus should be farther from the camera than translucent objects (see Blendable Location if you want to change this rendering order).
Material Functions are integral to this project as they are building blocks of most materials thereby providing modularity and great possibilities for customization. The purpose of some of them is specific to this project, while others are of a general purpose and can be useful in any work.
Another essential part is the special blueprints intended to facilitate the setting of certain parameters of the volumetric materials and adding these materials to the scene. Also you can find auxiliary blueprints that were used to make the demo level more interactive and entertaining.
Textures used in the volumetric materials are generated procedurally. This project includes all the materials and blueprints needed to create such textures.
Performance impact and visual quality can vary greatly depending on the material complexity and the number of samples. Moreover, the image quality depends on the distance that the camera rays travel within the volume, and therefore the quality can change noticeably depending on the position of the camera and the angle of view. Please, try the demo first to assess the balance between performance impact and visual quality and decide if this suits your needs (in the demo level press Ctrl + Num 1 to toggle the FPS counter and then try different visual settings which can be accessed by pressing the M key).
Forum threads: