Inhaltsverzeichnis

std.android.gles2

OpenGL ES 2.0 Bindings für Android: Shader compilieren und linken, Texturen laden, Vertex Buffer Objects erstellen und Draw Calls ausführen. Setzt eine aktive EGL-Surface voraus.

std.android · std.android.native_window


Typen

Typ Beschreibung
GLuint OpenGL-Objekt-Handle (Shader, Texture, Buffer, Program)
GLenum OpenGL-Enum-Wert
GLint 32-Bit-Integer für GL-Parameter
GLfloat 32-Bit-Float für GL-Daten

Verwendung

import std.android.gles2;

// Shader compilieren
var vs: GLuint := GlCreateShader(GL_VERTEX_SHADER);
GlShaderSource(vs, vertSrc);
GlCompileShader(vs);

var fs: GLuint := GlCreateShader(GL_FRAGMENT_SHADER);
GlShaderSource(fs, fragSrc);
GlCompileShader(fs);

// Programm linken
var prog: GLuint := GlCreateProgram();
GlAttachShader(prog, vs);
GlAttachShader(prog, fs);
GlLinkProgram(prog);
GlUseProgram(prog);

// Zeichnen
GlClearColor(0.0, 0.0, 0.0, 1.0);
GlClear(GL_COLOR_BUFFER_BIT);
GlDrawArrays(GL_TRIANGLES, 0, 3);


Konstanten (Auswahl)

Konstante Beschreibung
GL_VERTEX_SHADER Vertex-Shader-Typ
GL_FRAGMENT_SHADER Fragment-Shader-Typ
GL_COLOR_BUFFER_BIT Farb-Puffer für glClear
GL_DEPTH_BUFFER_BIT Tiefen-Puffer für glClear
GL_TRIANGLES Dreieck-Primitive
GL_TRIANGLE_STRIP Dreieckstreifen
GL_TEXTURE_2D 2D-Textur-Target
GL_RGBA RGBA-Farbformat
GL_FLOAT Float-Datentyp
GL_ARRAY_BUFFER Vertex-Buffer-Ziel

Funktionen (Auswahl)

Signatur Beschreibung
GlClear(mask: GLenum): void Löscht Puffer
GlClearColor(r: GLfloat, g: GLfloat, b: GLfloat, a: GLfloat): void Setzt Clear-Farbe
GlCreateShader(type: GLenum): GLuint Erzeugt Shader-Objekt
GlShaderSource(shader: GLuint, src: pchar): void Setzt Shader-Quelltext
GlCompileShader(shader: GLuint): void Compiliert Shader
GlCreateProgram(): GLuint Erzeugt Shader-Programm
GlAttachShader(prog: GLuint, shader: GLuint): void Hängt Shader an Programm
GlLinkProgram(prog: GLuint): void Linkt Shader-Programm
GlUseProgram(prog: GLuint): void Aktiviert Shader-Programm
GlDrawArrays(mode: GLenum, first: GLint, count: GLint): void Zeichnet Primitive
GlGenTextures(n: GLint, textures: *GLuint): void Erzeugt Textur-Handles
GlBindTexture(target: GLenum, texture: GLuint): void Bindet Textur
GlTexImage2D(target: GLenum, level: GLint, internalFormat: GLenum, width: GLint, height: GLint, border: GLint, format: GLenum, type: GLenum, data: pchar): void Lädt Textur-Daten
GlGetUniformLocation(prog: GLuint, name: pchar): GLint Gibt Uniform-Location zurück
GlUniform1i(location: GLint, v0: GLint): void Setzt Integer-Uniform
GlUniform4f(location: GLint, v0: GLfloat, v1: GLfloat, v2: GLfloat, v3: GLfloat): void Setzt Vec4-Uniform

Letzte Aktualisierung: 2026-05-22