User Tools

Site Tools


gamedev:textureproperties:emissivity_camera_adapted

This is an old revision of the document!


Skin Texture Property: emissivity.camera.adapted

Defines if all emissivity based properties are absolute intensities or intensities relative to the camera maximum adapted intensity.

Excepted Data Source1 component value
Data Range0 or 1
Default Value0
Affected ModulesGraphic
Linked Propertiesemissivity.intensity, environmentroom.emissivity.intensity, outline.emissivity.intensity, rim.emissivity.intensity

Description

The camera adapted intensity is updated by the Graphic Module to to choose an appropriate exposure for the visible camera content. The camera adapted intensity is adjusted over time to match up with the required intensity. This ensures the rendered content is not under nor over exposed when the lighting conditions change.

By using this texture property you can ensure the intensity of all emissivity properties are not too low in strong light conditions nor too high (white-out or even blooming) in low light conditions.

A typical use case for this texture property are monitors. With absolute intensities the emissivity is inadequate in extreme light conditions. With this property enabled the emissivity is kept at a stable, final tone mapped intensity.

Another typical use case is for particles and beams. This allows using particle and beam effects in different lighting conditions without becoming too faint nor white-out with excessive bloom.

The property is a boolean type property.

A value of 0 equals to all emissivity intensities to be absolute intensities in the range from 0 to infinity.

A value of 1 equals to all emissivity intensities to be relative to the camera adapted intensity. The values of all emissivity properties are in the range from 0 to infinity and are multiplied by the camera adapted maximum intensity. Values in the range from 0 to 1 are recommended (0% to 100% intensity). Values higher than 1 can be used to ensure emissive objects receive white-out and bloom effects.

When using relative emissivity intensities keep in mind that graphic modules have to do tone mapping one way or the other. Tone mapping in general requires increasing contrast to avoid colors being washed out. This in turn means high intensity values near the maximum intensity for a given scene key tend to wash out towards white (or even blooming). It is thus not recommended to use emissivity intensities above 0.75 if you want to avoid colors to wash out towards white color. In bright light this effect is less pronounced than in low light conditions. By staying under this threshold you should get good results. Of course if you want to ensure emissive materials to white out and bloom starting at an emissivity of 2.0 and above is a good way to ensure this.

Other values are mapped to the closed of these two values.

Usually this property is an single value, either 0 or 1. The default is 0.

Examples

Skin file used for display content shown in the game world. The display content is read by the player and should stay at a stable intensity no matter if looked at by the player at night time or day time. Without the camera adapted emissivity property the emissivity intensity has to be an absolute intensity.

<?xml version='1.0' encoding='UTF-8'?>
<skin>
   <!-- Texture used to show content set at run-time -->
   <texture name='screen'>
      <!--
      Color used by light sources, a dark grey color close to black. Without emissivity this is rendered.
      -->
      <color property='color' r='0.1' g='0.1' b='0.1'/>
 
      <!--
      Reflectance and roughness. Lower than usual reflectivity to ease viewing content.
      0 roughness produces glass like sharp reflections.
      -->
      <value property='reflectivity'>0.1</value>
      <value property='roughness'>0</value>
 
      <!--
      Screen content shown by emission. Sets renderable to allow content to be set at run-time.
      -->
      <color property='emissivity' renderable='screen'/>
 
      <!--
      The emissivity intensity is set to "0.5". By using relative intensities this represents
      50% intensity compared to the maximum intensity the rendered image is tone mapped to.
      0.5 is a good value keeping colors from washing out while still being well perceptible
      by the player.
      -->
      <value property='emissivity.intensity'>0.5</value>
      <value property='emissivity.camera.adapted'>1</value>
   </texture>
</skin>
You could leave a comment if you were logged in.
gamedev/textureproperties/emissivity_camera_adapted.1606228675.txt.gz · Last modified: 2020/11/24 14:37 by dragonlord