Godot: Shadery
Vytváření vlastních shaderů
Godot používá skriptovací jazyk pro shadery, podobný GLSL ES 3.0.
Skriptování shaderu pro objekt
- vyber objekt (sprite) ve scéně nebo hierarchii (Scene)
- Inspector > Canvas Item > Material, New Shader Material
- Skript edituješ v otevřeném tabu
GODOT SHADING LANGUAGE SHADER SCRIPT
shader_type canvas_item;
//use visual shader for godot, hint_color changed in G4 to source_color
uniform vec4 flashing_color: source_color = vec4(1.0);
uniform float color_change: hint_range(0.0, 1.0) = 1;
void vertex() {
// Called for every vertex the material is visible on.
}
void fragment() {
vec4 color = texture(TEXTURE, UV);
color.rgb = mix(color.rgb, flashing_color.rgb, color_change);
COLOR = color;
}
void light() {
// Called for every pixel for every light affecting the CanvasItem.
}
Tento skript přiřazený objektu mění zabarvení spritu. Proměnné uniform umožňují ovládání v docku CanvasItem/Material/Shader Parameters v editoru.
Klíčová slova proměnných (TEXTURE, UV, atd.) a funkce (light, fragment, vertex, atd.) jsou předdefinována.
Emission Glow Shader
Drop Shadow Shader
VisualShaders
VisualShader je typ shaderu umožňující programování pomocí logických uzlů. Tento typ nastavíš při vytváření shaderu.
- VisualShader plugin, přednastavené shadery
- VisualShaders Godot
Shader assety a import
info
Shadery pro starší verze vyžadují opravy syntaxe. Shadery pro studium najdeš např. na Godot Shaders a Asset Library např. zde (dema) a zde
Některé shadery ke stažení vyžadují instalaci jako addon.