Color Management

From Resonite Wiki
Revision as of 15:51, 4 April 2024 by Geenz (talk | contribs) (Add color management documentation.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Introduction

Resonite and FrooxEngine support "Color Management" - which is a feature intended to give content creators control over the appearance of their content on different monitors.

What this means in practice is the content creator has a lot of control over how things can appear in a variety of circumstances by applying different "color profiles" to colors and textures.

Color Profiles

Resonite presently supports two Color Profiles that may be applied to ColorX, Texture2D, and textures generally across the board. These profiles are:

  • sRGB
    • This applies the sRGB gamma curve to the Red, Green, and Blue channels of the texture or color. More information on what sRGB is may be found on Wikipedia.
  • Linear
    • This applies no gamma curve to any channel, and all information is considered to be implicitly linear.

Deprecated profiles

There is a legacy profile called sRGBAlpha - however this should never be used outside of legacy content. We anticipate that we will remove this in a future release. Please plan accordingly.

Linear Space Rendering

Resonite supports linear space rendering out of the box. At present, this is the only color space we support for rendering.

Linear Space Impact

Linear space rendering may result in somewhat "harsh" falloff on various different material types and lighting more generally than you may be used to from other platforms. This is by design per linear space rendering.

Mitigating linear space impact

On some shaders, you may notice a "gamma curve" value. What this allows you to do is apply a custom gamma curve to the shading of certain effects, for exmaple, on rim shaders.

In addition, textures may have their gammas adjusted - including their alpha channels in order to have a "softer" appearance for alpha blending applications.

Considerations For Lighting

Lighting may seem brighter than you may anticipate on intensities greater than 1. This is normal for linear space rendering. You may find some success by tweaking light intensity downwards slightly, or applying an inverse gamma curve to these lights (for example, raising the intensity to a power of 0.45). This applies to brighter colors more generally as well.