glVertexAttribDivisor: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(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|VertexAttribPointer]]
+
[[Kategorie:GL|glVertexAttribDivisor]]
[[Kategorie:GL3|VertexAttribPointer]]
+
[[Kategorie:GL3|glVertexAttribDivisor]]

Version vom 21. Juli 2018, 19:51 Uhr

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

Vertex Array Object

glArrayElement, glBindAttribLocation, glDisableVertexAttribArray, glDrawArrays, glDrawElements, glDrawRangeElements, glEnableVertexAttribArray, glMultiDrawArrays, glMultiDrawElements, glPopClientAttrib, glPushClientAttrib, glVertexAttrib