Lazarus - OpenGL 3.3 Tutorial - Beleuchtung - Ambient Light: Unterschied zwischen den Versionen
Aus DGL Wiki
(Die Seite wurde neu angelegt: „200px<br><br> =Beleuchtung - Ambient Light = == Einleitung == Das Ambient-Light ist n…“) |
|||
Zeile 3: | Zeile 3: | ||
== Einleitung == | == Einleitung == | ||
Das Ambient-Light ist nut eine einfache Raumausleuchtung, die ganze Meshes erscheint im gleichen Farbton.<br> | Das Ambient-Light ist nut eine einfache Raumausleuchtung, die ganze Meshes erscheint im gleichen Farbton.<br> | ||
− | Bei reiner Ambienten Ausleuchtung wird keine Normale gebraucht.<br> | + | Bei reiner Ambienten Ausleuchtung wird '''keine''' Normale gebraucht.<br> |
<br> | <br> | ||
− | In der Praxis wir | + | In der Praxis wir Ambient mit anderen Beleuchtungen kombiniert.<br> |
<br> | <br> | ||
Am Shader an sieht man, wie einfach Ambient ist.<br> | Am Shader an sieht man, wie einfach Ambient ist.<br> | ||
− | |||
<br><br> | <br><br> | ||
==Vertex-Shader:== | ==Vertex-Shader:== | ||
<syntaxhighlight lang="glsl">#version 330 | <syntaxhighlight lang="glsl">#version 330 | ||
+ | |||
// Eine leichte Ausleuchtung in Grau. | // Eine leichte Ausleuchtung in Grau. | ||
− | #define ambient vec3(0.2, 0.2, 0.2) | + | #define ambient vec3(0.2, 0.2, 0.2) |
layout (location = 0) in vec3 inPos; // Vertex-Koordinaten | layout (location = 0) in vec3 inPos; // Vertex-Koordinaten | ||
Zeile 31: | Zeile 31: | ||
<syntaxhighlight lang="glsl">#version 330 | <syntaxhighlight lang="glsl">#version 330 | ||
− | in vec4 Color; | + | in vec4 Color; // interpolierte Farbe vom Vertexshader |
out vec4 outColor; // ausgegebene Farbe | out vec4 outColor; // ausgegebene Farbe | ||
Version vom 13. Januar 2018, 18:51 Uhr
Inhaltsverzeichnis
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
- Übersichtseite Lazarus - OpenGL 3.3 Tutorial