glVertexAttribDivisor: Unterschied zwischen den Versionen
Aus DGL Wiki
(Die Seite wurde neu angelegt: „= glVertexAttribDivisor = == Name == '''glVertexAttribDivisor''' - Definiert ein generisches AttribDivisor. == Delphi-Spezifikation == <syntaxhighlight lang…“) |
(→Siehe auch) |
||
Zeile 59: | Zeile 59: | ||
[[glArrayElement]], [[glBindAttribLocation]], [[glDisableVertexAttribArray]], [[glDrawArrays]], [[glDrawElements]], [[glDrawRangeElements]], [[glEnableVertexAttribArray]], [[glMultiDrawArrays]], [[glMultiDrawElements]], [[glPopClientAttrib]], [[glPushClientAttrib]], [[glVertexAttrib]] | [[glArrayElement]], [[glBindAttribLocation]], [[glDisableVertexAttribArray]], [[glDrawArrays]], [[glDrawElements]], [[glDrawRangeElements]], [[glEnableVertexAttribArray]], [[glMultiDrawArrays]], [[glMultiDrawElements]], [[glPopClientAttrib]], [[glPushClientAttrib]], [[glVertexAttrib]] | ||
− | [[Kategorie:GL| | + | [[Kategorie:GL|glVertexAttribDivisor]] |
− | [[Kategorie:GL3| | + | [[Kategorie:GL3|glVertexAttribDivisor]] |
Version vom 21. Juli 2018, 19:51 Uhr
Inhaltsverzeichnis
glVertexAttribDivisor
Name
glVertexAttribDivisor - Definiert ein generisches AttribDivisor.
Delphi-Spezifikation
procedure(index: GLuint; divisor: GLuint);
Parameter
index | Gibt den Index des Vertexattributs an. |
---|---|
divisor | Normalerweise 1. |
Beschreibung
glVertexAttribDivisor Wird im Zusammenhang mit glDrawArraysInstanced gebraucht.
Beispiel
const
// Konstanten für ein Quadrat
square_vertices: array[0..1] of TFace3D =
(((-0.8, -0.8, 0.0), (-0.8, 0.8, 0.0), (0.8, 0.8, 0.0)),
((-0.8, -0.8, 0.0), (0.8, -0.8, 0.0), (0.8, 0.8, 0.0)));
// Konstanten der Instancen
instance_position: array[0..3] of TVector3f =
((-2.0, -2.0, 0.0), (2.0, -2.0, 0.0), (2.0, 2.0, 0.0), (-2.0, 2.0, 0.0));
...
// VBO inizialisieren
glBindBuffer(GL_ARRAY_BUFFER, VBOInstancePos);
glBufferData(GL_ARRAY_BUFFER, SizeOf(instance_position), @instance_position, GL_STATIC_DRAW);
glEnableVertexAttribArray(2);
glVertexAttribPointer(2, 3, GL_FLOAT, False, 0, nil);
glVertexAttribDivisor(2, 1);
...
// Zeichnen mit Instancen
glDrawArraysInstanced(GL_TRIANGLE_FAN, 0, Face_Count, Instance_Count);
Siehe auch
glArrayElement, glBindAttribLocation, glDisableVertexAttribArray, glDrawArrays, glDrawElements, glDrawRangeElements, glEnableVertexAttribArray, glMultiDrawArrays, glMultiDrawElements, glPopClientAttrib, glPushClientAttrib, glVertexAttrib