Registriert: Di Dez 02, 2003 12:47 Beiträge: 300 Wohnort: Marburg
Tach, ich weiß ncht, wie sinnvoll meine Frage ist, aber bevor ich lange grübel:
Gibt es eine Möglichkeit, single variablen oder am besten ganze records und noch besser als array auf dem Grafikspeicher abzulegen?
Es handelt sich bei mir um statische modelle, die daten müssten sich also nicht neu belegen lassen.
Ich weiß ja dass es vertex buffer objects VBO und RBA oder so gibt, aber da handelt es sich doch um festgelegt formate(?), ich könnte also bei VBO zb [S,T,X,Y,Z] keine Farbwerte angeben.
_________________ Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
GL Man Pages zu glInterleavedArrays, allerdings muss man nicht unbedingt glInterleavedArrays nutzen, sondern kann wie gesagt auch gl*Pointer nutzen. So mache ich das inzwischen auch, und hat den Vorteil dass man nicht an die vorgegebenen Formate gebunden ist.
Und zum Format gibts auch nicht viel zu sagen, steht ja alles in der Konstante drin :
eine grossen vorteil? bzw funktionieren die im prinzip genau wie die "anfänger Variante":
Code:
Glbegin(Gl_triangles);
glvertex3f(bla,blub,usw)
.......
4. Was bedeutet: (Zitat) Allerdings erstmal ne kleine Warnung vorweg : Pointer sind ein recht komplexes Thema,und ihre Nutzung erfordert einige Kenntnisse.Wer weder weis wie man damit umgeht,noch wie man sie einsetzt,sollte sich da zuerstmal schlau machen.Denn mit Pointer kann man ganz böse Sachen machen wenn man sie nicht richtig nuzten kann!
Meinst du damit, wenn ich zb meinen pointer versähentlich auf ne falsche schtelle richte und dann den GrafikTreiber überschreibe oder so? Also im prinzip ähnlich als wenn mann bei ner array die stelle a[100]:=blubblab beschreibt, obwohl es nur bis a[1..50] geht? Oder noch schlimmer.
5. was bedeutet:
Code:
glUnMapBufferARB
(ich hoffe ich nerve nicht alzusehr,
Ach ja T3 und ab ins studium
_________________ Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de
oder so schreiben um auf einen bestimmten Vertex zu kommen?
Das mit dem Erhöhen mach ich ja nur weil ich nacheinander alle Vertices erstelle, aber du kannst da springen wie du willst. Musst halt drauf achten dass du nicht im Nirvana landest, bzw. Delphi deine blinden Typecasts auch zulässt.
geo hat geschrieben:
2. Und wenn ich dass kann, könnte ich dann auch (Wenn ich das Richtige VBO vorher binde und es nach dem belegen ge unmapt habe):
eine grossen vorteil? bzw funktionieren die im prinzip genau wie die "anfänger Variante":
Code:
Glbegin(Gl_triangles);
glvertex3f(bla,blub,usw)
.......
Ja, letzteres ist ja Immediate, und da wird doch alles immer erst über den Bus zur GPU gesendet, was bremst. Ein VBO (steht doch im Tut) liegt komplett im VRAM, und die Bandbreite zwischen GPU un VRAM ist um ein Vielfaches höher als vom RAM über den Bus auf die GPU.
geo hat geschrieben:
4. Was bedeutet: (Zitat) Allerdings erstmal ne kleine Warnung vorweg : Pointer sind ein recht komplexes Thema,und ihre Nutzung erfordert einige Kenntnisse.Wer weder weis wie man damit umgeht,noch wie man sie einsetzt,sollte sich da zuerstmal schlau machen.Denn mit Pointer kann man ganz böse Sachen machen wenn man sie nicht richtig nuzten kann!
Meinst du damit, wenn ich zb meinen pointer versähentlich auf ne falsche schtelle richte und dann den GrafikTreiber überschreibe oder so? Also im prinzip ähnlich als wenn mann bei ner array die stelle a[100]:=blubblab beschreibt, obwohl es nur bis a[1..50] geht? Oder noch schlimmer.
Nein, der Grafikkartentreiber läuft ja nicht auf der Grafikkarte. im VRAM liegen nur Nutzerdaten, aber wenn du da irgendwo hin schreibst wo du nicht sollst, dann ist die Wahrscheinlichkeit groß dass du ne Zugriffsverletzung vom Grafikkartentreiber bekommst.
geo hat geschrieben:
5. was bedeutet:
Code:
glUnMapBufferARB
Wenn du dir von der GL nen Zeiger auf ein VBO geben lässt, musst du es zuerst "unmapen" damit du es rendern kannst.
Mitglieder in diesem Forum: Google [Bot] und 8 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.