Hallo,
ich habe folgendes Problem: Ich habe mehrere Objekte, deren Zahl sich ändert. Dazu habe ich mehrere Devices, auf denen dieselbe Szene aus unterschiedlichen Kamerapositionen aus dargestellt werden soll. Bisher habe ich das mit DrawUserPrimitive gemacht, weil es eben am einfachsten ist. Leider geht mit steigender Anzahl der Objekte die Geschwindigkeit in den Keller. Daher wollte ich nun auf VertexBuffer anlegen.
Bisher hatte jedes Objekt seine Draw-Routine (draw (Device d)), mit der es sich auf das entsprechende Device gerendert hat. Das soll nun so gemacht werden, dass jedes Objekt einen eigenen VertexBuffer besitzt, und dann nur SetStreamSource und DrawPrimitive aufruft.
Kann man einen VertexBuffer unabhängig von einem Device anlegen und ihn auf verschiedene Devices zeichnen? Beim Anlegen muss man ja immer ein Device angeben.
Oder macht es eher Sinn, für jedes Device einen Buffer anzulegen, den Objekten den für sie benötigten Platz zuzuweisen und ihn bei Bedarf ändern zu lassen? Kann man die Größe des VB dynamisch ändern?
Oder hat jemand andere Ideen und Denkansätze?
Troubleshooter