shaderlib: Remove hsv_multiply and hsv_offset, rename hsv.gdshaderinc to colorspaces.gdshaderinc, update autocomplete and example accordingly; implements #36
This commit is contained in:
parent
50ddf6e6d3
commit
3b47d57353
3 changed files with 6 additions and 33 deletions
|
@ -1,6 +1,6 @@
|
|||
shader_type canvas_item;
|
||||
|
||||
#include "res://shaderlib/hsv.gdshaderinc"
|
||||
#include "res://shaderlib/colorspaces.gdshaderinc"
|
||||
#include "res://shaderlib/effects.gdshaderinc"
|
||||
|
||||
//!load ./images/swamp.jpg
|
||||
|
@ -8,6 +8,7 @@ shader_type canvas_item;
|
|||
void fragment() {
|
||||
COLOR = pixelate(TEXTURE, UV, 200.0);
|
||||
vec4 hsv = rgb2hsv(COLOR);
|
||||
COLOR = hsv_offset(COLOR, 0.65, .42-(hsv.y*.3), -.125);
|
||||
COLOR = hsv_multiply(COLOR, 1.0, 1.0, 1.25);
|
||||
hsv.xyz += vec3(0.65, .42-(hsv.y*.3), -.125);
|
||||
hsv.xyz *= vec3(1.0, 1.0, 1.25);
|
||||
COLOR = hsv2rgb(hsv);
|
||||
}
|
||||
|
|
|
@ -20,31 +20,3 @@ vec4 hsv2rgb(vec4 c) {
|
|||
vec3 rgb = c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);
|
||||
return vec4(rgb.r, rgb.g, rgb.b, c.a);
|
||||
}
|
||||
|
||||
// Offset the hue, saturation and brightness of a RGB color
|
||||
vec4 hsv_offset(
|
||||
vec4 rgba,
|
||||
float offset_hue,
|
||||
float offset_saturation,
|
||||
float offset_brightness
|
||||
) {
|
||||
vec4 c = rgb2hsv(rgba);
|
||||
c.x += offset_hue;
|
||||
c.y += offset_saturation;
|
||||
c.z += offset_brightness;
|
||||
return hsv2rgb(c);
|
||||
}
|
||||
|
||||
// Multiply the hue, saturation and brightness of a RGB color
|
||||
vec4 hsv_multiply(
|
||||
vec4 rgba,
|
||||
float mult_hue,
|
||||
float mult_saturation,
|
||||
float mult_brightness
|
||||
) {
|
||||
vec4 c = rgb2hsv(rgba);
|
||||
c.x *= mult_hue;
|
||||
c.y *= mult_saturation;
|
||||
c.z *= mult_brightness;
|
||||
return hsv2rgb(c);
|
||||
}
|
|
@ -129,14 +129,14 @@ const gdshader_preprocessor = [
|
|||
]
|
||||
# shaderlib
|
||||
var shaderlib_regex = {
|
||||
"hsv": RegEx.create_from_string(r'\s*\#include\s+\"res\:\/\/shaderlib\/hsv\.gdshaderinc\"'),
|
||||
"colorspaces": RegEx.create_from_string(r'\s*\#include\s+\"res\:\/\/shaderlib\/colorspaces\.gdshaderinc\"'),
|
||||
"transform": RegEx.create_from_string(r'\s*\#include\s+\"res\:\/\/shaderlib\/transform\.gdshaderinc\"'),
|
||||
"transparency": RegEx.create_from_string(r'\s*\#include\s+\"res\:\/\/shaderlib\/transparency\.gdshaderinc\"'),
|
||||
"effects": RegEx.create_from_string(r'\s*\#include\s+\"res\:\/\/shaderlib\/effects\.gdshaderinc\"'),
|
||||
"denoise": RegEx.create_from_string(r'\s*\#include\s+\"res\:\/\/shaderlib\/denoise\.gdshaderinc\"')
|
||||
}
|
||||
const shaderlib_functions = {
|
||||
"hsv": ["rgb2hsv", "hsv2rgb", "hsv_offset", "hsv_multiply"],
|
||||
"colorspaces": ["rgb2hsv", "hsv2rgb"],
|
||||
"transform": ["place_texture"],
|
||||
"transparency": ["alpha_blend"],
|
||||
"effects": ["pixelate"],
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue