+1 vote

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:
enter image description here

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 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 environment's 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.

Godot version 3.x
in Engine by (330 points)

Please log in or register to answer this question.

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.