How to color grade in Godot 3?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By MintSoda

Godot 3 only supports mapping colors to a single gradient texture (Environment’s color correction) (doc)
Godot 4 / Unreal / Unity etc… supports LUT.
Unreal / Unity / etc… supports color grading post-processing, like this:

I want to use this rich featured color grading to enhance the day/night visual of my toon shading 3D game. (This is apparently impossible, because there’s no complex color grading feature in Godot now.)

Second best, I’d like to color grade my game screenshot in an image editor, then apply the filter to the LUT, then apply the LUT to my game.

Third best, I’d like to find a way to convert my color grading done in an image editor to anything that works in Godot. (enviroment’s color correction, or a shader, etc.)

1. If all not possible, I’d like to know how everyone does color grading in Godot 3?

I could hardly find any relevant discussions, except Improve post-process color correction by supporting 3D LUTs instead of a single Gradient · Issue #1382 · godotengine/godot-proposals · GitHub.


These are all implementations that I’ve found:


GitHub - TokageItLab/LacertaPostProcessing: Some sample scenes with post processing for Godot. which supports color grading using R/G/B curve texture. But I don’t really know how to use it.

2. Is it possible to convert my color grading in image editor to these RGB curve textures?
Or do I have to break things down to color temperature shader, curve shader, natural saturation shader, HSL to brightness shader, HSL to saturation shader and etc?


GitHub - thiagoamendola/godot-color-lut-shader: A Godot Shader for Color Grading using LUTs which achieves LUT in Godot 3. But if the game enables HDR and have anything with brightness greater than 1.0, it become black.

3. Is there a way to make shaders work after environment’s tonemap? Coz HDR things become SRGB after tone-mapping, then the LUT will work right?


GitHub - lampe-games/godot-sugar: Experimental post-processing toolkit for Godot which makes the PanoramaSky looks werid, and quad meshes far away which shows pre-rendered city buildings just disappears. I don’t know how to fix it.


Thank you for reading / thinking / answering.