Difference between revisions of "Shader (Deutsch)"

m (Fixed code tags.)
m
 
(One intermediate revision by one other user not shown)
Line 49: Line 49:
 
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.
+
== Beispiele ==
 +
Ein einfacher Fragmentshader in LÖVE.
 
<source lang="GLSL">
 
<source lang="GLSL">
 
vec4 effect(vec4 color, Image texture, vec2 texture_coords, vec2 pixel_coords)
 
vec4 effect(vec4 color, Image texture, vec2 texture_coords, vec2 pixel_coords)
Line 61: Line 62:
 
== Siehe auch ==
 
== Siehe auch ==
 
* [[parent::love.graphics (Deutsch)|love.graphics]]
 
* [[parent::love.graphics (Deutsch)|love.graphics]]
* [[love.graphics.setShader (Deutsch|love.graphics.setShader]]
+
* [[love.graphics.setShader (Deutsch)|love.graphics.setShader]]
  
 
[[Category:Types]]
 
[[Category:Types]]

Latest revision as of 15:43, 23 December 2019

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