This How To will get you closer to understanding the HDR Engine and the HDR workflows in Ventuz. This is not about HDR video output (HDR-10(+), Dolby Vision etc). Also HDR should not be mixed up with HDRi - the first defines the technical aspect while the latter defines an Image.
In this Article HDR means solely the HDR Engine that uses 16-bit floating point numbers for each color channel instead of 8-bit integers. In the end these color values will be re-calculated to the output colorspace (RGB, YUV or whatever is defined in your output configuration). Three things result from this different representation:
All these result in one major advantage over non-HDR rendering engines: We can use physically correct formulas instead of approximations - thus allowing for an easier creation, tweaking and animation of realistically looking images. When using the HDR Engine Mode you can use IPP effects like Lens Flares and Bloom more easily. On top, the lighting will also change a lot in the HDR Mode. For example the light ranges will be way smoother and you can make use of the gain to overbrighten certain areas of the scene - which is basically the intended use for HDR - a more dynamic range.
Keep in mind that HDR is an imaging technique that captures, processes and reproduces the content in such a way that both the shadows and highlights of a scene are increased. You have a wider range of colors when compared to non-HDR. Therefore, HDR captures a wider and more dynamically ranging between the darkest and the lightest part of an image.
To enable and use the HDR Engine in Ventuz you just need to do a few clicks.
Select the 3D Layer Root node (the very first node in the Hierarchy Editor in every 3D Layer), then inside the Properties Editor you will find a dropdown menu for the Engine. Click click on Engine:Standard to bring up the selection menu and select click High Dynamic Range.
Whenever you switch from Standard to HDR the overall colors will have a slight variation due to the nature of the HDR Mode
As soon as you enabled the HDR Engine you can see more properties like: Exposure, Dither, FrustumCulling and another dropdown menu for the ToneMapping selection as well as another set of properties depending on the selected ToneMapping mode.
A Sky Texture just has the purpose to show a sky environment, or a general environment. The Sky Texture will not have any influence on the way Geometries or the whole scene is lit. To light the scene or geometries, you would probably follow the section where we use an HDRi to light the scene.
Create a SkyBox and load e.g. an HDRi sky-texture. We already have included 2 HDRi's in the Help scenes - one is a specular and the other is an irradiance texture. To access them you can navigate to the default project directory (usually located at %public%\Documents\Ventuz[Version]\Projects\__HELP__ where [Version] must be replaced with the Version Family of Ventuz).
You can find a default cubemap by activating the SkyBox interactive help and use the specular/reflection texture from there or navigate to %public%\Documents\Ventuz[Version]\Content\Projects\__HELP__\VentuzHelp\Textures\__HELP__\HDRI\Reflection where [Version] must be replaced with the Version Family of Ventuz
Select the SkyBox node and select the SkyTexture Property, switch from None to Texture to load a HDRi.
Unfold the Texture Property, unfold the Environment (Cubemap /LongLat) Loader and chose/load a Texture by clicking click the File Property.
An Irradiance Texture will light your scene and is barely bigger than 128px x 128px. While the Specular Texture will be used for either reflections on geometries or when used with !IBL/Roughness maps the roughness maps will control the mip map level on the surface to give the surface a specific glossy finish, like rubber, coal, iron, mirror.
You can use the already created SkyBox or create a new one and load an Irradiance Texture into the Irradiance slot and a Specular Texture into the Specular Slot. You can find example Textures by using the interactive Help for the SkyBox or use the Link from the hint above to locate the example textures. Now create a an Axis with ScalingFactor: 10 and a Cube with BevelRadius:0.1 behind the SkyBox node.
The SkyBox node works like a LightGroup. Only the nodes/objects behind the SkyBox will be affected by the SkyBox
In most cases you will notice that the whole environment looks too bright and/or has an incorrect gamma. Most times the first step is to adjust the Gamma for the loaded images - irradiance-, specular- and SkyTexture. For each of these textures there is a dropdown property called Hint. To access this property you would need to unfold the Irradiance Property then the Cubemap Loader and there you will find the hint - dropdown menu which is usually set to Auto.
Usally HDRi will have the used gamma value written in their metadata and Ventuz will try to adjust the gamma accordingly to the metadata gamma value - therefore it is set to Auto. If that is not the case or the wrong metadata is written inside the file, you can adjust the gamma manually here. In most cases you would need to switch the hint to Gamma2_2. Its important to check if you would need to do that for both or all used SkyBox textures. The hint is available for all texture loaders: Irradiance, Specular and SkyTexure The next step would be to adjust the Exposure.
Exposure behaves the same way like with a real camera. You can find the Exposure property at the 3D Layer Root node. The higher the exposure value the more light will travel into the camera, the lower the exposure the less light will travel into the camera and therefore darken the scene/environment.
In the case of the HDRis from the Help Scenes, it would be wiser to darken the scene, it still looks over-brightened (as long as you use our default textures). You will notice that at least starting with exposure values around -2.26details such as clouds will be noticeable, as well as the cube will become more naturally lit. Adjust the 'Rotate: 70' for the SkyBox - this will rotate the whole sky and you should face the sun.
Play around with the Exposure and lower the value to around -8.5 so you can spot the Sun-Disc.
The above example shows the difference between an exposure value of -2.26(left) and -11.0(right) - This way you can realize how much dynamic light information is stored inside the HDRi. Also notice that the environment also lights and colorizes the geometry, in this case the beveled cube.
As long as you use the default set Tonemapping: Reinhard you can adjust the Whitepoint. By adjusting the whitepoint you simply tell the engine which brightness value is pure white. It will bring more clarity and detail to your image and eliminate the haze you see in many images.
In our case with the default Sky Textures we would adjust the Whitepoint, depending on the Exposure as well, by setting it matched to the "white in the clouds". You adjust the Whitepoint first to have the image, or in our case, sky, look more natural.
Adjust the following properties to match these values: Exposure: -6.28and Whitepoint: 0.24
You can spot the differences not only while you adjusted the values. You see the differences in the clarity and that the clouds are not starting in the gray - they start with the corrected white and then have their gray scale applied.
There are several ways of using HDR inside and with Ventuz. On one hand you simply use HDRi's to create a nice SkyBox environment, on the other hand by using HDR you can take advantage of the whole dynamic range stored in the images by adjusting the exposure, and it is possible to use the environment textures to light your scene.
By adjusting the whitepoint you figured out that this will have an impact on the clarity which is common for the colorful look of HDRi's. Setting the Whitepoint manually will also result in higher details in the areas needed.
Setting up HDR with a SkyBox properly is crucial if you want to use features like Material Roughness for IBL driven scenes.