|
|
(27 dazwischenliegende Versionen von 13 Benutzern werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
− | {{Unvollständig}} | + | {{Hinweis|Dieser Artikel wurde wieder in [[glTexImage1D]], [[glTexImage2D]] und [[glTexImage3D]] aufgeteilt.}} |
− | = glTexImage =
| |
− | | |
− | <br>
| |
− | == Name ==
| |
− | '''glTexImage''' - Einstellungen zum Texturen zeichnen
| |
− | | |
− | <br>
| |
− | == Spezifikation ==
| |
− | procedure '''glTexImage1D'''(GLenum ''target'', GLint ''level'', GLint ''components'', GLsizei ''width'', GLsizei ''height'', GLint ''border'', <br> GLenum ''format'', GLenum ''type'', const GLvoid ''*pixels''); <br>
| |
− | procedure '''glTexImage2D'''(GLenum ''target'', GLint ''level'', GLint ''components'', GLsizei ''width'', GLsizei ''height'', GLint ''border'', <br> GLenum ''format'', GLenum ''type'', const GLvoid ''*pixels''); <br>
| |
− | procedure '''glTexImage3D'''(GLenum ''target'', GLint ''level'', GLint ''components'', GLsizei ''width'', GLsizei ''height'', GLsizei ''depth'', <br> GLint ''border'', GLenum ''format'', GLenum ''type'', const GLvoid ''*pixels''); <br>
| |
− | | |
− | == Parameter ==
| |
− | <table border=1 rules=all>
| |
− | <tr>
| |
− | <td>''target''</td>
| |
− | <td>Gibt an, welche Texture erreicht werden soll. '''GL_TEXTURE_2D''' wird akzeptiert.</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>''level''</td>
| |
− | <td>Gibt den Detailgrad für das gewünschte Bild an. <br>
| |
− | ''level'' '''0''' ist das Basisbild. Level n ist die n-te Mipmap reduzierung des Bildes.</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>''components''</td>
| |
− | <td>'''1''' - für '''R''' || '''2''' für '''R''' und '''A''' || '''3''' für '''RGB''' || '''4''' für '''RGBA'''</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>''width'',</td>
| |
− | <td>Breite = Anzahl der Pixel pro Zeile <br> muss als Wert 2^n (+ 2 * (border) ) für n Integerwerte haben.</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>''height'',</td>
| |
− | <td>Höhe = Anzahl der Zeilen <br> muss als Wert 2^n (+ 2 * (border) ) für n Integerwerte haben</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>''depth'',</td>
| |
− | <td>Tiefe = Anzahl der "Scheiben" <br> muss als Wert 2^n (+ 2 * (border) ) für n Integerwerte haben</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>''border'',</td>
| |
− | <td>Breite des Rahmens || '''0''' oder '''1'''</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>''format''</td>
| |
− | <td>Bestimmt das Format der Pixeldaten. Folgende symbolische Werte werden akzeptiert: <br>
| |
− | '''GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_RGBA, GL_LUMINANCE,''' und '''GL_LUMINANCE_ALPHA'''</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>''_type''</td>
| |
− | <td>Bestimmt den Pixeltyp für den Inhalt von ''pixels''. Folgende Typen werden unterstützt:<br>
| |
− | '''GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_BITMAP'''</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>''pixels''</td>
| |
− | <td>Die Texture-Image Daten vom Typ, der in ''format'' angegeben wurde ( Array wo die Pixel gespeichert sind ) </td>
| |
− | </tr>
| |
− | </table>
| |
− | | |
− | <br>
| |
− | | |
− | == Beschreibung ==
| |
− | ''glTexImage'' nimmt die wichtige Einstellungen vor, die zum Zeichnen einer Textur unbedingt benötigt werden ( siehe Parameterliste ).
| |
− | Gezeichnet werden die Texturen im ''glBegin()'' und ''glEnd()'' Block, immer abwechselnd mit [[glTexCoord]] und [[glVertex]].
| |
− | Wenn als ''type'' GL_BITMAP gewählt wird, bestehen die Daten aus einer Reihe von ''unsigned bytes'' und als ''format'' muss GL_COLOR_INDEX eingestellt sein.<br>
| |
− | Um das Zeichnen einer 2D Textur zu aktivieren: [[glEnable]](GL_TEXTURE_2D);
| |
− | | |
− | | |
− | <br>
| |
− | == Hinweise ==
| |
− | | |
− | | |
− | <br>
| |
− | == Fehlermeldungen ==
| |
− | | |
− | GL_INVALID_ENUM wird generiert wenn ''target'' kein GL_TEXTURE_2D ist.<br>
| |
− | | |
− | GL_INVALID_ENUM wird generiert wenn falsches ''format'' angegeben wurde. <br>
| |
− | | |
− | GL_INVALID_ENUM wird generiert wenn falscher ''type'' angegeben wurde. <br>
| |
− | | |
− | GL_INVALID_ENUM wird generiert wenn GL_BITMAP als ''type'' und '''kein''' GL_COLOR_INDEX als ''format'' angegeben wurde. <br>
| |
− | | |
− | GL_INVALID_VALUE wird generiert wenn ''level'' kleiner 0 oder größer ld(max) ist, wobei max der Rückgabewert von '''GL_MAX_TEXTURE_SIZE''' ist. (ld = Logarithmus Dualis = Basis 2). <br>
| |
− | | |
− | GL_INVALID_VALUE wird generiert wenn für ''components'' was anderes als ''1'', ''2'', ''3'' oder ''4'' angegeben wurde. <br>
| |
− | | |
− | GL_INVALID_VALUE wird generiert wenn ''width'' oder ''height'' kleiner als 0 oder größer als 2 + GL_MAX_TEXTURE_SIZE ist, oder die Bedingung 2^k + 2 * (border) (k=Integerwerte) nich erfüllt. <br>
| |
− | | |
− | GL_INVALID_VALUE wenn ''border'' nicht ''0'' oder ''1'' ist. <br>
| |
− | | |
− | GL_INVALID_OPERATION wird generiert wenn ''glTexImage2D'' in einem glBegin- und glEnd-Block ausgeführt wird. <br>
| |
− | | |
− | | |
− | <br>
| |
− | | |
− | == Siehe auch ==
| |
− | [[glTexEnv]], [[glTexGen]], [[glTexImage1D]], [[glTexImage2D]], [[glTexImage3D]], [[glTexImage3DEXT]], [[glTexSubImage1D]], [[glTexSubImage2D]], [[glTexSubImage3D]], [[glTexParameter]], [[glTexCoord]]
| |
− | | |
− | [[Kategorie:GL|TexImage]]
| |