Godot 3 only supports mapping colors to a single gradient texture (
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. (
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 https://github.com/godotengine/godot-proposals/issues/1382.
These are all implementations that I've found:
https://github.com/TokageItLab/LacertaPostProcessing 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?
https://github.com/thiagoamendola/godot-color-lut-shader 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
tonemap? Coz HDR things become SRGB after tone-mapping, then the LUT will work right?
https://github.com/Scony/godot-sugar 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.