Shader (Deutsch)

Available since LÖVE 0.9.0
This type is not supported in earlier versions.

Ein Shader wird für fortgeschrittene hardware-beschleunigte Pixel oder Vertex Manipulationen genutzt.

Diese Effekte werden in einer Sprache geschrieben, welche auf der OpenGL Shading Language (GLSL) basiert.

Die Anwendungsmöglichkeiten von Shadern sind beinahe unbegrenzt. So sind zum Beispiel HDR/bloom, Bewegungsunschärfe, Schwarz/Weiß, Reflektionen, Bump Mapping und Lichteffekte nur einige wenige Anwendungsbereiche.

Konstruktoren

None.

Funktionen

Object:type (Deutsch) Gibt den Typ des Objekts als String zurück.
Object:typeOf (Deutsch) Überprüft ob ein Objekt einem bestimmten Datentypen angehört.

Supertypen

Unterschiede zur GLSL

Die folgenden Variablen weichen von der GLSL ab.

GLSL Löve shader language
float number
sampler2D Image
uniform extern
texture2D(tex, uv) Texel(tex, uv)

Darüber hinaus ist die Struktur eines Shaders in LÖVE nicht die gleiche wie in einem normalen GLSL Programm.

Beispiele

Ein einfacher Fragmentshader in LÖVE.

vec4 effect(vec4 color, Image texture, vec2 texture_coords, vec2 pixel_coords)
{
    vec4 texcolor = Texel(texture, texture_coords);
    texcolor.rgb = 1.0 - texcolor.rgb;
    return texcolor * color;
}

Siehe auch


Andere Sprachen