WebGL - 3D im Browser

siehe auch WebGPU!
 Home
 WebGL Api Spickzettel
 WebGL Sicherheit

Tutorial
 0 : WebGL Browser
 1 : Das erste Dreieck
 2 : 3D-Mathematik
 3 : Farbe
 4 : Animation
 5 : Interaktion I
 6 : Texturen
 7 : Beleuchtung I
 8 : Interaktion II

Links
 WebGL Beispiele
 WebGL Frameworks
 ext. WebGL Tutorials


 Kontakt / Impressum
 webgl ([ät)] peter-strohm Punkt de

WebGL API-Funktionen

Eine unvollständige Übersicht über WebGL API-Funktionen auf deutsch.
Hier geht's zu den vollständigen Original-Spezifikationen

activeTexture
attachShader
bindAttribLocation
bindBuffer
bindFramebuffer
bindRenderbuffer
bindTexture
blendColor
blendEquation
blendEquationSeparate
blendFunc
blendFuncSeparate
bufferData
bufferSubData
checkFramebufferStatus
clear
clearColor
clearDepth
clearStencil
colorMask
compileShader
copyTexImage2D
copyTexSubImage2D
createBuffer
createProgram
createShader
createTexture
deleteProgram
deleteShader
disable
drawArrays
drawElements
enable
enableVertexAttribArray
getAttribLocation
getError
getProgramInfoLog
getProgramParameter
getShaderInfoLog
getShaderParameter
getUniformLocation
linkProgram
shaderSource
texImage2D
texParameteri
uniformMatrix4fv
useProgram


void activeTexture(GLenum texture)

textureDie texture-unit, die aktiviert werden soll (TEXTURE0 oder TEXTURE1 oder ...oder TEXTURE31)
Rückgabewert
void

activeTexture

^^nach oben^^


void attachShader(WebGLProgram program, WebGLShader shader)

program
shaderDer Shader (Vertex oder Fragment)
Rückgabewert
void

attachShader

^^nach oben^^


void bindAttribLocation(WebGLProgram program, GLuint index, DOMString name)

programDas WebGL-Program-Objekt in dem die Attribut-Index-Zuordnung erfolgen soll.
indexder vertex-Attribut Index
nameZeichenkette/Name des Attributs im Shader.
Rückgabewert
void

bindAttribLocation

^^nach oben^^


void bindBuffer(GLenum ziel, WebGLBuffer puffer)

zielArt des Puffers. Entweder ARRAY_BUFFER oder ELEMENT_ARRAY_BUFFER
pufferMeist ein WebGL-eigenes Array (z.B. Float32Array) mit einer Werten (Koordinaten, Farbwerte,...)
Rückgabewert
void

bindBuffer wird benutzt um einen Puffer als "aktiven" Puffer zu deklarieren. Nachfolgende Puffer-Operationen beziehen sich dann auf diesen Puffer (bis ein anderer aktiviert wird)

^^nach oben^^


void bindFramebuffer(GLenum target, WebGLFramebuffer framebuffer)

targetFRAMEBUFFER (immer!)
framebufferDer zu aktivierende Framebuffer oder null um den aktiven Framebuffer zu deaktivieren
Rückgabewert
void

bindFramebuffer

^^nach oben^^


void bindRenderbuffer(GLenum target, WebGLFramebuffer framebuffer)

targetRENDERBUFFER (immer!)
framebufferDer zu aktivierende Renderbuffer oder null um den aktiven Renderbuffer zu deaktivieren.
Rückgabewert
void

bindRenderbuffer

^^nach oben^^


void bindTexture(GLenum ziel, WebGLTexture textur)

zielTEXTURE_2D oder TEXTURE oder TEXTURE_CUBE_MAP oder TEXTURE_BINDING_CUBE_MAP oder TEXTURE_CUBE_MAP_POSITIVE_X oder TEXTURE_CUBE_MAP_NEGATIVE_X oder TEXTURE_CUBE_MAP_POSITIVE_Y oder TEXTURE_CUBE_MAP_NEGATIVE_Y oder TEXTURE_CUBE_MAP_POSITIVE_Z oder TEXTURE_CUBE_MAP_NEGATIVE_Z oder MAX_CUBE_MAP_TEXTURE_SIZE
texturdie zu aktivierende Textur
Rückgabewert
void

bindTexture

^^nach oben^^


void blendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)

redRotanteil der Farbe(0.0 .. 1.0)
green
blueBlauanteil der Farbe(0.0 .. 1.0)
alpha
Rückgabewert
void

blendColor

^^nach oben^^


void blendEquation(GLenum mode)

modeFUNC_ADD oder FUNC_SUBTRACT oder FUNC_REVERSE_SUBTRACT (ggf. weitere?)
Rückgabewert
void

blendEquation

^^nach oben^^


void blendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)

modeRGBFUNC_ADD oder FUNC_SUBTRACT oder FUNC_REVERSE_SUBTRACT (ggf. weitere?)
modeAlphaFUNC_ADD oder FUNC_SUBTRACT oder FUNC_REVERSE_SUBTRACT (ggf. weitere?)
Rückgabewert
void

blendEquationSeparate

^^nach oben^^


void blendFunc(GLenum sfactor, GLenum dfactor)

sfactorBewertung des Quell(Source-)Pixels
dfactorBewertung des Ziel(Destination-)Pixels
Rückgabewert
void

blendFunc

^^nach oben^^


void blendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)

srcRGBBewertung des Farbkanals des Quell(Source-)Pixels
dstRGBBewertung des Farbkanals des Ziel(Destination-)Pixels
srcAlpha
dstAlpha
Rückgabewert
void

blendFuncSeparate

^^nach oben^^


void bufferData(GLenum target, ArrayBuffer data, GLenum usage)

targetARRAY_BUFFER oder ELEMENT_ARRAY_BUFFER
dataDie Daten in einem 1-D Array
usageSTREAM_DRAW oder STATIC_DRAW oder DYNAMIC_DRAW
Rückgabewert
void

bufferData

^^nach oben^^


void bufferSubData(GLenum target, GLintptr offset, ArrayBuffer data)

targetARRAY_BUFFER oder ELEMENT_ARRAY_BUFFER
offsetDer Offset vom Beginn des Puffers ab dem die Daten gespeichert werden sollen.
dataDie Daten in einem 1-D Array
Rückgabewert
void

bufferSubData

^^nach oben^^


GLenum checkFramebufferStatus(GLenum target)

targetFRAMEBUFFER (immer!)
Rückgabewert
GLenum
eine der folgenden Konstanten: FRAMEBUFFER_COMPLETE oder FRAMEBUFFER_INCOMPLETE_ATTACHMENT oder FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT oder FRAMEBUFFER_INCOMPLETE_DIMENSIONS oder FRAMEBUFFER_UNSUPPORTED

checkFramebufferStatus kann verwendet werden um den Status des zuletzt mit bindFrambuffer aktivierten Framebuffers auszulesen.

^^nach oben^^


void clear(GLbitfield mask)

mask
Rückgabewert
void

clear

^^nach oben^^


void clearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)

redFarbanteil rot (0.0 .. 1.0)
green
blueFarbanteil blau (0.0 .. 1.0)
alphaAlphakanal, (1-Transparenz) (0.0 .. 1.0)
Rückgabewert
void

clearColor

^^nach oben^^


void clearDepth(GLclampf depth)

depth0.0 .. 1.0
Rückgabewert
void

clearDepth

^^nach oben^^


void clearStencil(GLclampf s)

s0.0 .. (2^n-^1) wobei n die Bittiefe des Stencilpuffers ist.
Rückgabewert
void

clearStencil

^^nach oben^^


void colorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)

redtrue oder false
greentrue oder false
bluetrue oder false
alphatrue oder false
Rückgabewert
void

colorMask

^^nach oben^^


void compileShader(WebGLShader shader)

shaderder zu kompilierende Shader.
Rückgabewert
void

compileShader kompiliert den angegebenen Shader

^^nach oben^^


void copyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)

targetArt der Textur (z.B. TEXTURE_2D)
levelmip level
internalformat ALPHA oder RGB oder RGBA oder LUMINANCE oder LUMINANCE_ALPHA
xX-Koordinate des Framebuffers der kopiert werden soll.
yY-Koordinate des Framebuffers der kopiert werden soll.
widthBreite des zu kopierenden Bereichs in Pixeln.
height
border
Rückgabewert
void

copyTexImage2D

^^nach oben^^


void copyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)

targetArt der Textur (z.B. TEXTURE_2D)
levelmip level
xoffsetX-Startkoordinate der Zieltextur
yoffsetY-Startkoordinate der Zieltextur
xX-Koordinate des Framebuffers der kopiert werden soll.
yY-Koordinate des Framebuffers der kopiert werden soll.
widthBreite des zu kopierenden Bereichs in Pixeln.
height
Rückgabewert
void

copyTexSubImage2D

^^nach oben^^


WebGLBuffer createBuffer()

Rückgabewert
WebGLBuffer
das Puffer-Objekt.

createBuffer

^^nach oben^^


WebGLProgram createProgram()

Rückgabewert
WebGLProgram
das WebGLProgramObject, das die Shader beinhalten kann.

createProgram erzeugt ein neues WebGLProgram-Objekt.

^^nach oben^^


WebGLShader createShader(GLenum type)

typeFRAGMENT_SHADER oder VERTEX_SHADER
Rückgabewert
WebGLShader
das Shader-Objekt

createShader erzeugt einen neuen Shader (Vertex oder Fragment)

^^nach oben^^


WebGLTexture createTexture()

Rückgabewert
WebGLTexture
das neue Textur-Objekt

createTexture legt ein neues Textur-Objekt an.

^^nach oben^^


void deleteProgram(WebGLProgram program)

program
Rückgabewert
void

deleteProgram

^^nach oben^^


void deleteShader(WebGLShader shader)

shader
Rückgabewert
void

deleteShader

^^nach oben^^


void disable(GLenum cap)

capCULL_FACE oder BLEND oder DITHER oder STENCIL_TEST oder DEPTH_TEST oder SCISSOR_TEST oder POLYGON_OFFSET_FILL oder SAMPLE_ALPHA_TO_COVERAGE oder SAMPLE_COVERAGE
Rückgabewert
void

disable schaltet einzelne Renderparameter aus. Siehe auch enable!

^^nach oben^^


void drawArrays(GLenum modus, GLint startIndex, GLsizei anzahl)

modus
startIndexDie Pufferadresse, ab der der Pufferinhalt gezeichnet werden soll.
anzahlDie Anzahl der Elemente(Vertizes) im Puffer (die gezeichnet werden sollen).
Rückgabewert
void

drawArrays veranlasst dass alle zuletzt gesetzten und aktivierten Puffer in den Shadern berechnet werden und letztlich gezeichnet werden.

^^nach oben^^


void drawElements(GLenum modus, GLsizei count, GLenum type, GLsizei anzahl)

modus
countDer Index ab dem der Pufferinhalt gezeichnet werden soll.
type
anzahlDie Anzahl der Elemente(Vertizes) im IndexBuffer.
Rückgabewert
void

drawElements veranlasst dass alle zuletzt gesetzten und aktivierten Puffer in den Shadern berechnet werden und letztlich gezeichnet werden. Im Unterschied zu drawArrays wird hier ein indizierter Puffer verwendet(d. h. die Elemente werden nicht in der Reihenfolge verwendet, in der sie im Puffer stehen, sondern in der Reihenfolge die im gebundenen ELEMENT_ARRAY_BUFFER festgelegt ist.) Ist zuvor kein ELEMENT_ARRAY_BUFFER gebunden, wird der INVALID_OPERATION Fehler erzeugt.

^^nach oben^^


void enable(GLenum cap)

capCULL_FACE oder BLEND oder DITHER oder STENCIL_TEST oder DEPTH_TEST oder SCISSOR_TEST oder POLYGON_OFFSET_FILL oder SAMPLE_ALPHA_TO_COVERAGE oder SAMPLE_COVERAGE
Rückgabewert
void

enable schaltet einzelne Renderparameter ein. Siehe auch disable!

^^nach oben^^


void enableVertexAttribArray(GLuint index)

indexAdresse des Attributs im Shader (siehe getAttribLocation)
Rückgabewert
void

enableVertexAttribArray aktiviert ein Attribut zur Verwendung im Shader.

^^nach oben^^


GLint getAttribLocation(WebGLProgram program, DOMString uniformName)

programDas WebGL-Program, in dem das Attribut gesucht werden soll.
uniformNameBezeichner des Attributs im Shader
Rückgabewert
GLint
Die Adresse falls ein Attribut anhand des Namens gefunden wurde oder -1.

getAttribLocation

^^nach oben^^


GLenum getError()

Rückgabewert
GLenum
NO_ERROR oder INVALID_ENUM oder INVALID_VALUE oder INVALID_OPERATION oder OUT_OF_MEMORY

getError

^^nach oben^^


DOMString getProgramInfoLog(WebGLProgram program)

programDas WebGL-Program, dessen Log-Daten abgerufen werden sollen.
Rückgabewert
DOMString
Das Log-Protokoll der letzten Program-Aktionen.

getProgramInfoLog ruft die Log-Daten der letzten Program-Aktionen ab.

^^nach oben^^


verschieden getProgramParameter(WebGLProgram program, GLenum pname)

programDas WebGL-Program, dessen Parameter abgerufen werden soll.
pnameDELETE_STATUS, LINK_STATUS, VALIDATE_STATUS, ATTACHED_SHADERS, ACTIVE_ATTRIBUTS, ACTIVE_UNIFORMS
Rückgabewert
verschieden

getProgramParameter ruft Parameter des angegebenen WebGLProgram-Objekts ab.

^^nach oben^^


DOMString getShaderInfoLog(WebGLShader shader)

shaderder Shader dessen Log abgerufen werden soll.
Rückgabewert
DOMString
Das ShaderInfoLog.

getShaderInfoLog

^^nach oben^^


verschiedene getShaderParameter(WebGLShader shader, GLenum pname)

shaderder Shader
pnameParametertyp der abgefrag werden soll. SHADER_TYPE oder DELETE_STATUS oder COMPILE_STATUS
Rückgabewert
verschiedene

getShaderParameter

^^nach oben^^


WebGLUniformLocation getUniformLocation(WebGLProgram program, DOMString uniformName)

programDas WebGL-Program, in dem die Uniform gesucht werden soll.
uniformNameBezeichner der Uniform im Shader
Rückgabewert
WebGLUniformLocation
Die Adresse falls eine Uniform anhand des Namens gefunden wurde oder -1.

getUniformLocation

^^nach oben^^


void linkProgram(WebGLProgram program)

programDas WebGL-Program, das gelinkt werden soll.
Rückgabewert
void

linkProgram

^^nach oben^^


void shaderSource(WebGLShader shader, DOMString quelltext)

shaderder Shader.
quelltextder Quelltext als String.
Rückgabewert
void

shaderSource

^^nach oben^^


void texImage2D(GLenum ziel, GLint level, GLenum internalFormat, GLenum format, GLenum typ, HTMLImageElement image)

zielTEXTURE_2D oder TEXTURE oder TEXTURE_CUBE_MAP oder TEXTURE_BINDING_CUBE_MAP oder TEXTURE_CUBE_MAP_POSITIVE_X oder TEXTURE_CUBE_MAP_NEGATIVE_X oder TEXTURE_CUBE_MAP_POSITIVE_Y oder TEXTURE_CUBE_MAP_NEGATIVE_Y oder TEXTURE_CUBE_MAP_POSITIVE_Z oder TEXTURE_CUBE_MAP_NEGATIVE_Z oder MAX_CUBE_MAP_TEXTURE_SIZE
levelmip-level der Textur
internalFormatDEPTH_COMPONENT oder ALPHA oder RGB oder RGBA oder LUMINANCE oder LUMINANCE_ALPHA
formatDEPTH_COMPONENT oder ALPHA oder RGB oder RGBA oder LUMINANCE oder LUMINANCE_ALPHA
typFormat der einzelnen Werte UNSIGNED_BYTE
imageein Image-Objekt aus dem HTML-DOM.
Rückgabewert
void

texImage2D

^^nach oben^^


void texParameteri(GLenum ziel, GLenum pname, GLint param, )

zielTEXTURE_2D oder TEXTURE oder TEXTURE_CUBE_MAP oder TEXTURE_BINDING_CUBE_MAP oder TEXTURE_CUBE_MAP_POSITIVE_X oder TEXTURE_CUBE_MAP_NEGATIVE_X oder TEXTURE_CUBE_MAP_POSITIVE_Y oder TEXTURE_CUBE_MAP_NEGATIVE_Y oder TEXTURE_CUBE_MAP_POSITIVE_Z oder TEXTURE_CUBE_MAP_NEGATIVE_Z oder MAX_CUBE_MAP_TEXTURE_SIZE
pnameTEXTURE_MAG_FILTER oder TEXTURE_MIN_FILTER oder TEXTURE_WRAP_S oder TEXTURE_WRAP_T
paramNEAREST oder LINEAR
Rückgabewert
void

texParameteri

^^nach oben^^


void uniformMatrix4fv(WebGLUniformLocation uniformAdresse, GLboolean transpose, Float32Array flatMatrix)

uniformAdresseAdresse der Uniform-Matrix im Shader (siehe getUniformLocation)
transposemuss laut Spezifikation false sein!
flatMatrix
Rückgabewert
void

uniformMatrix4fv

^^nach oben^^


void useProgram(WebGLProgram program)

programDas WebGL-Program, das aktiviert werden soll.
Rückgabewert
void

useProgram

^^nach oben^^

>> Startseite <<   ^ Seitenanfang ^    
Fehler? Kommentare? webgl ([ät)] peter-strohm Punkt de