ich brauche hilfe bei opengl : texturen
-
Ich hab mein Problem selber gelöst !
glBindTexture() ist zwischen glBegin() und glEnd() nicht erlaubt,
habs davor hingeschrieben und jetzt geht es ohne Probleme !
-
Hi Datano,
Sorry, meine Hilfe käme wohl etwas spät *g*
Das glBegin/glEnd-Zeugs würd ich so wenn möglich vermeiden. Mach doch ne Displaylist, die ist schneller (ok, in diesem kurzen Prog merkt man das evt. nicht..) und Du brauchst nicht soviel copy&paste...
-
Was meinst du mit ner Displaylist?
Hab den Begriff noch nie gehört...
-
yodas schrieb:
Was meinst du mit ner Displaylist?
Hab den Begriff noch nie gehört...Damit kannst Du OpenGL-Code zusammenfassen -> Einfacher fuer Dich zum coden und zudem unter Umstaenden nen grossen Performancegewinn.
-
durito schrieb:
Einfacher fuer Dich zum coden und zudem unter Umstaenden nen grossen Performancegewinn.
Und natürlich vollkommen out-dated weil es entsprechend neuere Sachen gibt die bei weitem schneller sind.
-
[ none] schrieb:
durito schrieb:
Einfacher fuer Dich zum coden und zudem unter Umstaenden nen grossen Performancegewinn.
Und natürlich vollkommen out-dated weil es entsprechend neuere Sachen gibt die bei weitem schneller sind.
was für Sachen?
-
durito schrieb:
[ none] schrieb:
durito schrieb:
Einfacher fuer Dich zum coden und zudem unter Umstaenden nen grossen Performancegewinn.
Und natürlich vollkommen out-dated weil es entsprechend neuere Sachen gibt die bei weitem schneller sind.
was für Sachen?
Vertex/Index Buffer
Vertex Buffer Objects (VBOs)
-
Hm, ich glaub da ist bei mir noch einiges an Aufklärungsarbeit notwendig *g*
Ok, mittels dem Vertex Buffer werden Geometrie-Daten direkt auf GraKa-Speicher abgelegt. Wo ist da der Unterschied zu DisplayLists, werden dabei nicht auch die Daten auf der GraKa abgelegt? Wenn nein, sind DiplayLists nur schneller weil gewisse Sachen vorkompiliert werden können?
-
durito schrieb:
Hm, ich glaub da ist bei mir noch einiges an Aufklärungsarbeit notwendig
Nee, aber hier ist etwas Eigeninitiative nötig.
Bye, TGGC (Denken, und gut ist.)
-
Sorry, dass ich den alten Thread nochmals ausgrabe..
Hab grad im redd book zu display lists gelesen: "some graphics hardware may store display lists in dedicated memory ..."
Uhm, also wird damit die Geometrie auch mit display lists auf dem GraKa-Speicher abgelegt (kommt jetzt wohl drauf an, was "some graphics hardware" ist.. *g*)?
-
displaylists optimieren aber viel mehr, sie reduzieren stateswitches, ändern die reihenfolge mancher kommandos falls das resultat gleich bleibt und es optimaler ist, sie führen frustumculling durch uvm.
rapso->greets();
-
Ja das ist klar, aber wenn display list optimiert UND Daten auf dem GraKa-Speicher ablegt, warum sollen denn VBOs schneller sein als display lists?
... entsprechend neuere Sachen gibt die bei weitem schneller sind.
-
Weil die Uhr das so anzeigt. Garantie gibts sicher nicht.
Bye, TGGC (Pipe my World.)
-
Gibts ein Link zu dieser Uhr, oder gibts die nur in Deinem Kopf?
Dass es schneller ist sagen hier ja einige (drum glaub ichs auch ein wenig *g*). Aber warum?
-
durito schrieb:
Gibts ein Link zu dieser Uhr, oder gibts die nur in Deinem Kopf?
http://www.google.de/search?hl=de&q=comparison+display+lists+vertex+buffer+objects&spell=1
-
thx
aber "bei weitem schneller" sind VBOs nun also wirklich nicht.
-
durito schrieb:
thx
aber "bei weitem schneller" sind VBOs nun also wirklich nicht.Using GL_FLOAT vertex normals and GL_UNSIGNED_BYTE vertex colors:
Display lists => 5.5 fps
Separate VBOs => 42.6 fpsZeig mir doch mal eine andere Optimierung die 770 % Speed bringt.
BTW: Es handelt sich da natürlich um einen künstlichen Test.
-
Using GL_BYTE vertex normals and GL_FLOAT vertex colors:
Display lists => 41.8 fps
Separate VBOs => <1 fpsHa!! *gg*
Ja find ich eben auch, dass das ziemlich kuenstlich aussieht.. Je nach Typ mal das eine oder andere besser.. hmja.
-
durito schrieb:
Using GL_BYTE vertex normals and GL_FLOAT vertex colors:
Display lists => 41.8 fps
Separate VBOs => <1 fpsHa!! *gg*
Ja find ich eben auch, dass das ziemlich kuenstlich aussieht.. Je nach Typ mal das eine oder andere besser.. hmja.
Naja, also GL_BYTE für Koords?!?
-
na und, ist jedenfalls schneller
*g*
Normale kann man sicher einigermassen vernuenftig mit GL_BYTE angeben... Aber ok, ich gebs zu, hast gewonnen