Difference between revisions of "Shader (Deutsch)"

(German translation.)
 
m (Added example for a fragment shader.)
Line 47: Line 47:
 
|}
 
|}
  
Darüber hinaus ist die Struktur eines Shaders in LÖVE nicht die gleiche wie in einem normalen GLSL Programm.
+
Darüber hinaus ist die Struktur eines Shaders in LÖVE nicht die gleiche wie in einem normalen GLSL Programm.  
 +
 
 +
Ein Fragmentshader in LÖVE.
 +
<code>
 +
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;
 +
}
 +
</code>
  
 
== Siehe auch ==
 
== Siehe auch ==

Revision as of 23:53, 1 October 2014

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.

Ein 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