Celeste Colorgrade Generator

Add steps:



Error: browser does not support canvas element

To save the colorgrade, right click and select 'Save image as...' (or equivalent)

How to use

Add effects, set their parameters, and then a colorgrade will be generated by sequentially applying each effect. The buttons on each effect can be used to reorder and remove them.

Effects

Simple recolor. Rescales the RGB color cube so that black and white are the specified color.

8-value recolor. This rescales the color cube so that each of the corners are the specified colors. The colors are interpolated linearly between each corner (more specifically, it is multilinear with respect to the RGB color channels).

Recenter colors. This rescales the colors in the input colorgrade so that the R, G, and B values each occupy the full range of [0, 1].

Fill. Creates a colorgrade filled with the specified color.

Adjust RGB, Adjust HSV, Brightness/Contrast. Each of these three effects shifts the relevant quantity, with positive increasing and negative decreasing. With the exception of hue, all of the parameters are in rather arbitrary units; the current method is kind of janky and I'm not sure I like it very much, so it might get changed in the future. 10.0 or -10.0 will produce a rather large effect. Large negative values have the potential to cause overflow errors in particular. For the hue shift, the value is in degrees around the color wheel.

Condition. This effect accepts a mathematical expression that needs to evaluate to either True or False that determines which colorgrade to take the result color from for each pixel. The colorgrade from Condition source is used to evaluate the condition. For each pixel, if the condition is true, then the output pixel will be from the Source if true colorgrade; otherwise, it will be from the Source if false colorgrade. For details on what consitutes a valid expression, see below.

Custom RGB map. The three inputs to this effect are mathematical expressions that will be evaluated to get the RGB channels of the output. The RGB channels of the input can be accessed as the variables r, g, b.

Field types

Colors. Most fields expect a color. The two supported formats for colors are either a hex code (e.g. "ffa037"; this is not case-sensitive) or comma-separated decimal values in the interval [0,1] (e.g. "1.0, 0.5, 0.3"; this does not care about spacing).

Source steps. This field indicates which of the previous steps to use as the input to this step. Index 0 is always the initial, default colorgrade. Negative indices are relative to the current step; the default of -1, for instance, uses the output of the previous step as input.

Expressions. Some fields expect an expression, which will be evaluated using Python syntax. Each one has the variables r, g, b, holding the values of each color channel of the input, available to use. These color channels are represented This supports usual mathematical operations +, -, *, /; exponentiation using **; comparison operators <, <=, >, >=, ==; logical operators &, |, ~, ^; use of parentheses (, ), a handful of functions (min, max, abs, clip, sin, cos, tan, sqrt, exp, log, log2, log10), the constant pi, and probably some other things I'm forgetting to mention.


packages = ["numpy"] [[fetch]] from = "https://lostinnowhere314.github.io/celeste-colorgrade-gen/" files = ["colorgrade_gen.py", "colorgrade_core.py"] from colorgrade_gen import * write_colorgrade(get_default_colorgrade()) create_process_step('8-value-recolor')