Computergrafik

Texturraum

2D Texturen | | 2D Texturkoordinaten

2D Texturen sind als Einheitsquadrat im Texturraum definiert.
Die zwei Texturkoordinaten im Texturraum heißen typischerweise s und t ($s,t\in[0,1])$.

Die Abbildung auf die Geometrie erfolgt oft über eine Zuordnung von Texturkoordinaten auf die entsprechenden Vertices als Attribute.

  • Attribute werden wie üblich spezifiziert (Annahme: loc_texcoord enthält den Verweis auf die entsprechende attribute Variable im Shader):
    glVertexAttrib2f (loc_texcoord, 0.1, 0.2);
    glVertex3f (0, 1, 0);
  • Im VBO werden die Attribute wie üblich spezifiziert (Offset muss natürlich angepasst werden!):
    glEnableVertexAttribArray (loc_texcoord);
    glVertexAttribPointer     (loc_texcoord, 2, GL_FLOAT, GL_FALSE, 0,
                               (void *) (sizeof(float)*3*num_triangles));
  • Legacy-API: Der entsprechende OpenGL Befehl zur Definition von Texturkoordinaten als Vertexattribut lautet glTexCoord2f(s,t); für Koordinate #0,
    bzw. glMultiTexCoord*(unit_number, coords...); für die weiteren Koordinaten.
    Die Koordinaten kommen im Vertex-Shader in den Attributen gl_MultiTexCoord0 usw. an.


2D Texturen | | 2D Texturkoordinaten

Options: