Vertexbuffer
-
Hi,
hab ne kleine Frage zu Vertexbuffern.
Was ist besser:
Einen großen Vertexbuffer anlegen und alle Vertices der ganzen Objekte reinklatschen und sich für jedes Objekt nen Offset merken (ab Byte 222 beginnt Objekt 3 usw) oder für jedes Objekt nen eigenen Vertexbuffer?
-
it depends
Bye, TGGC \-/
-
TGGC schrieb:
it depends
Bye, TGGC \-/
Und von was? Ich bin Anfänger und wäre über ein bißchen mehr Hilfe dankbar.
Ich habs jetzt so gemacht:
Oberklasse Object. Jedes Object hat seinen eigenen Vertexbuffer und zeichnet sich auch selbst. Keine Ahnung ob das gut ist...
-
Ich würde mal schätzen, dass es sich vor allem dann lohnt einen großen Vertexbuffer für alles zu haben, wenn du ansonsten den selben Vertexbuffer, aus welchen gründen auch immer, mehrmals pro Frame mit SetStreamSource setzen müsstest.
-
Es hängt davon ab wieviele objekte du hast, wie gross die sind(vertexanzahl) und ob du sie effektiver managen kannst als es D3D bzw der treiber macht.
rapso->greets();
-
Anders gesagt: du musst es einfach mal ausprobieren.
Bye, TGGC \-/
-
ein vertex buffer für alles lohnt sich nur dann, wenn du garantieren kannst, dass keine änderungen stattfinden,dh du löscht keine objekte raus,etc.
das anpassen eines solch großen vertexpuffers ist resourcentechnisch nämlich sehr teuer.
andererseits, wenn du in solch einem puffer models etc einlagerst,also etwas, was sich nicht soschnell ändert(in einem strategiespiel zb wo es zich figuren des gleichen typs gibt),dann is es schon sehr übersichtlich.btw zu einem vertexbuffer gehört immer ein indexbuffer,man hält sich deshalb besser nicht die position des start/end vertizes im speicher,sondern die des start/end indizes.
aber da sis nur meine Meinung, tggc wird mir bestimmt gleich einen draufgeben
-