[3D]Speicherschonend programmieren

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Benibaerenstark

Betreff: [3D]Speicherschonend programmieren

BeitragSo, Nov 14, 2004 11:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen,

->wie gestalte ich das Laden von Objekten, um möglichst wenig Speicher zu füllen?

->Konkret: Es sollen 1000 Bäume in einem Level verteilt werden, ein Baum braucht, sagen wir mal 2Mb Speicher.
->Wenn ich jetzt 1000 mal einen Baum lade und den Positioniere, ist die Grafikkarte doch völlig überfüllt, oder?
->Was passiert, wenn ich copy-mesh mache?

-wie macht ihr das? während der Laufzeit laden?


vielen Dank
 

Jake

BeitragSo, Nov 14, 2004 11:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Soweit ich weiß, erzeugt dir CopyMesh eine Referenzkopie, braucht also viel weniger Speicher als eigenständig geladen.
bittrap-software. Jetzt neu und mit noch mehr Kalorien: CandyFactory 2 !
 

Another progger

BeitragSo, Nov 14, 2004 11:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Also,ich fange auch gerade mit 3D an also hab ich noch net viel Ehrfahrung Embarassed aber ich hab mir mein Projekt schon mal überlegt und bin zu dem entschluss gekommen das ich die gesammte map in milkshape erstelle und dann nur noch 1 object für die map zum laden hab...

stfighter01

BeitragSo, Nov 14, 2004 12:11
Antworten mit Zitat
Benutzer-Profile anzeigen
copymesh ist genau das was viel speicher verbraucht.

bei copyentity(mesh) wird ein zweites objekt erstellt, welches die gleichen gitterpunkte verwendet wie das erste, aber an einem anderen punkt im 3Duniversum darstellt.

bei copymesh werden alle gitterpunkte 1:1 kopiert.
der vorteil: die punkte können verändert werden, und diese veränderung wirkt sich nur auf 1 objekt aus.
nachteil: hoher speicherverbrauch.


btw.: 1000 bäume darzustellen mit je 2MB daten wird ohnehin zuviel cpu-leistung fressen.
aber probiers ruhig aus


mfg stfighter
Denken hilft!

Benibaerenstark

BeitragMo, Nov 15, 2004 21:46
Antworten mit Zitat
Benutzer-Profile anzeigen
hm, ich werde wohl wirklich am besten selbst ausprobieren - vielen dank allen Smile
 

Jake

BeitragDi, Nov 16, 2004 9:33
Antworten mit Zitat
Benutzer-Profile anzeigen
stdfighter hat natürlich völlig recht. Ich hab CopyMesh/Entity durcheinandergewürfelt beim Antworten.
bittrap-software. Jetzt neu und mit noch mehr Kalorien: CandyFactory 2 !
 

Omenaton_2

BeitragDi, Nov 16, 2004 11:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit 3D-Programmierung habe ich kaum Erfahrung, aber...
das kann ich mir nicht vorstellen, daß jeder Baum 2MB brauchen würde, weil normaler weise ja jeder Baum die selbe 1-2 Textur benutzt, diese wird nicht vervielfältigt. Nur die Polygone mit ihren Daten werden vervielfältigt und die kosten nur paar Kilobyte.

Wenn ihr die Textur auch vervielfältigen würdet, wäre es ein riesiger Fehler. Jeder Baum müßte auf die gleiche Textur zugreifen.
Nur die Texturen kosten viel Speicher und damit kann man sparsam umgehen.

stfighter01

BeitragDi, Nov 16, 2004 19:17
Antworten mit Zitat
Benutzer-Profile anzeigen
es ist schon richtig das die meshes normalerweise nicht allzuviel speicher verschwenden.

aber auch die erzeugung der entitys kostet mit copymesh dann geringfügig mehr zeit.
copyentity ist einfach die elegantere lösung Wink


mfg stfighter
Denken hilft!

Benibaerenstark

BeitragSa, Nov 20, 2004 11:51
Antworten mit Zitat
Benutzer-Profile anzeigen
oké, danke für eure antworten.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group