Lazarus - OpenGL 3.3 Tutorial - Beleuchtung - Ambient Light: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(Fragment-Shader)
 
Zeile 34: Zeile 34:
 
out vec4 outColor;  // ausgegebene Farbe
 
out vec4 outColor;  // ausgegebene Farbe
  
void main(void)
+
void main(void) {
{
 
 
   outColor = Color; // Die Ausgabe der Farbe
 
   outColor = Color; // Die Ausgabe der Farbe
 
}
 
}
Zeile 41: Zeile 40:
  
 
<br>Autor: [[Mathias]]
 
<br>Autor: [[Mathias]]
 +
 
== Siehe auch ==
 
== Siehe auch ==
 
* Übersichtseite [[Lazarus - OpenGL 3.3 Tutorial]]
 
* Übersichtseite [[Lazarus - OpenGL 3.3 Tutorial]]

Aktuelle Version vom 22. Juli 2018, 21:05 Uhr

Lazarus - OpenGL 3.3 Tutorial - Beleuchtung - Ambient Light.png

Beleuchtung - Ambient Light

Einleitung

Das Ambient-Light ist nut eine einfache Raumausleuchtung, die ganze Meshes erscheint im gleichen Farbton.
Bei reiner Ambienten Ausleuchtung wird keine Normale gebraucht.

In der Praxis wir Ambient mit anderen Beleuchtungen kombiniert.

Am Shader an sieht man, wie einfach Ambient ist.


Vertex-Shader:

#version 330

// Eine leichte Ausleuchtung in Grau.
#define ambient vec3(0.2, 0.2, 0.2)

layout (location = 0) in vec3 inPos;    // Vertex-Koordinaten

out vec4 Color;                         // Farbe, an Fragment-Shader übergeben.

uniform mat4 Matrix;                    // Matrix für die Drehbewegung und Frustum.

void main(void) {
  gl_Position = Matrix * vec4(inPos, 1.0);

  Color = vec4(ambient, 1.0);
}



Fragment-Shader

#version 330

in  vec4 Color;     // interpolierte Farbe vom Vertexshader
out vec4 outColor;  // ausgegebene Farbe

void main(void) {
  outColor = Color; // Die Ausgabe der Farbe
}


Autor: Mathias

Siehe auch