glGenTextures - gibt es eine Begrenzung für die Anzahl von Texturen?
Gibt es eine Begrenzung für die Anzahl der Texturen, die erstellt werden können in OpenGL, das heißt, mit glGenTextures?
Ich weiß, dass es einige Grenzen, die durch GL, zB. die Anzahl der Texturen, die verwendet werden können in einem fragment-shader. Ich habe jedoch nicht in der Lage gewesen, um jede Art von Dokumentation über die Gesamtzahl der integer "textur-Namen", die verfügbar sind zu verwenden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist die einzige Grenze der glGenTextures wird durch die bit-Breite der textur-name (Schimmer), 32-bit; und in der Tat die Anzahl der textur-Namen können so groß sein, dass Sie wahrscheinlich nie haben Probleme beim generieren der textur Namen.
Das limit für Texturen ist, dass der Grafik-Speicher. Die OpenGL-Implementierung kennt die textur-Größe und-format nur, wenn die Anwendung sendet textur-Daten mit glTexImage2D (und andere glTexImage* - Funktionen, sofern verfügbar) gibt die Breite, Höhe und die internen textur-format: mit diesen Parametern ist es möglich zu bestimmen, die benötigten Speichers zum speichern der textur-Daten.
Überprüfen, Fehler, sollten Sie die Abfrage OpenGL-Fehler mit glGetError gibt GL_OUT_OF_MEMORY, wenn die operation fehlschlägt, um die Allokation der notwendigen Speicher. Dieser Fehler kann auch zurückgegeben werden, indem glGenTextures und glTexImage2D etc.
Dieser Fehler ist wahrscheinlich auf Rückgabe der glTexImage2D etc., da der erforderliche Speicher für die textur-Zuweisung ist viel größer als der Speicher, die benötigt werden für die Kennzeichnung eine textur, die als Namen verwendet.
GL_PROXY_TEXTURE_*D
beim AufrufglTexImage
zu tun, eine Art Probelauf. Dabei kann man einen Fehler vermeiden. Ob dieses wertvoll ist oder nicht, ich bin mir nicht sicher, da ich nichtglTexImage
Versagen verursachen keine ernsthaften Probleme haben, aber es lohnt sich zu wissen, trotzdem (vor allem, wenn Sie testen möchten, die system-Funktionen).Es gibt keine Begrenzung für die Anzahl der textur-Namen, die Sie generieren können. Es gibt ein limit texture memory jedoch, so kann eine Umsetzung noch nicht eine glGenTextures nennen, aufgrund Speicher Einschränkungen.
Also nicht, erstellen Sie eine Reihe von textur-Namen und dann gar nicht zu verwenden. Schaffen, was Sie müssen.