ich schaue mir gerade die Demos des Octrees an und stelle mir die beiden folgenden Fragen:
Das Berechnen des Octrees ist sehr langwierig bei einem relativ kleinen Level. Wie sieht das bei größeren Levels aus ? Bei größeren wird man nicht gleich das ganze Level berechnen, sondern immer wieder einen Abschnitt denke ich, aber ein solches ist eben auch das x-fache so groß wie das der Demo. Warum ist die Demo eigentlich so langsam (FPS von 42 phasenweise) ?
Wie speichert man am besten Karten ab ? Eignet sich dafür eine Arraystruktur die dann via FileStream in/aus eine/r Datei geschrieben/gelesen wird ?
Eigendlich geht das erstellen von octrees relativ schnell. Im erstem schritt muss man feststellen wo sich jedes triangle befinded, diese koordinaten encodiert man mit ganzzahlen zu je 10 bit. Diese bits sortiert man dann um: xyzxyzxyzxyz.... nun genügt es einen beliebigen sortier algoritmus zu verwenden um alle objekte richtig einzusortieren.
Gegebenfalls ist es noch sinvoll triangles zu unterteilen wenn sie in mehreren cubes liegen, jedo nich merh als nötig. in dem fall ist es besser jeden cube nur bei bedarf zu unterteilen oder die cubes uberlappen zu lassen....
Registriert: Sa Aug 18, 2007 18:47 Beiträge: 694 Wohnort: Köln
Programmiersprache: Java
Und hier hilft auch wieder mal OOP...
Code:
TNodeData =class
Min,Max: TVector;
[...]
end;
TNode =class
ObjectList :arrayof T3DObject;
NodeList :arrayof TNode;
Data : TNodeData;
[...]
end;
T3DObject steht stellvertretend für einzelne Faces oder ganze Objekte.
Da jeder Node (egal wie groß er bemessen ist) Objekte enthalten kann, können auch Objekte gespeichert werden die mehrere kleinere Nodes überspannen würden, ohne dass man diese unterteilen/zerschneiden müsste. So lässt sich auch prima LOD realisieren, wenn man noch die Entfernung zwischen Beobachter und Objekt berücksichtigt.
_________________ Es werde Licht. glEnable(GL_LIGHTING); Und es ward Licht.
Zitat aus einem Java Buch: "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off"
Mitglieder in diesem Forum: 0 Mitglieder und 9 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.