2011-01-05 6 views
0

Ich habe eine Funktion, die eine Textur lädt und das neu generierte GLuint zurückgibt. Ich muss wissen, was ich zurückgeben sollte, wenn es die Textur nicht laden kann. Also, wenn glGenTextures beginnt bei 1 Textur-IDs zuweisen, konnte ich GL_FALSE zurückkehren usw.Was ist die OpenGL-Methode zum Zuweisen von Textur-IDs?

Antwort

8

Es ist die Implementierung definiert.

Sie müssen nicht wissen, noch sollten Sie Pflege, wie die Umsetzung Namen zuordnet (oder IDs, wie Sie sie nennen) für jede Objekt. Es wird erwartet, dass Sie nur die Ganzzahl verfolgen, die das Objekt darstellt, sodass Sie es binden und freigeben können, wenn Sie damit fertig sind.

Wenn Sie nicht bereits die Nummer als Darstellung einer Textur verfolgen, können Sie immer glIsTexture() anrufen, um das herauszufinden.

glGenTextures wird nicht fehlschlagen, neue Namen bereitzustellen, wenn der Systemspeicher nicht erschöpft ist. Ein Name 0 wird nie verwendet werden, und ist ein reservierter Name für Texturen. Alle Namen sind ungleich Null, vorzeichenlose Ganzzahlen.

+0

@greyfade Bitte lesen Sie die vollständige Frage erneut. –

+0

tat ich. Zweimal. Deine Frage ist unklar. Ich werde meine Antwort ändern, aber bitte schreiben Sie Ihre Frage genauer um. – greyfade

+0

@greyfade hmm .. auf welche Weise glaubst du, ich war unklar? –

1

Diese beantwortet Ihre Frage:

Is 0 a valid OpenGL texture ID?

+0

danke, das löst mein Problem. aber es beantwortet immer noch nicht die Frage. –

+0

@Jay, ich denke, die Antwort auf Ihre Frage ist es hängt von der Implementierung –

+0

Ich habe Fälle gesehen, in denen Textur 0 eine interne Standardtextur zugewiesen wurde (wie reines Weiß, zum Beispiel). –

Verwandte Themen