- procedure TNode.Check(const FVertices: TVertices);
- var
- I:Integer;
- XCenter, YCenter, ZCenter, Xsize, ysize, Zsize: single;
- begin
- XCenter := (XEnd-XStart)/2+XStart;
- YCenter := (YEnd-YStart)/2+YStart;
- ZCenter := 128;
- XSize := (XEnd-XStart)/2;
- YSize := (YEnd-YStart)/2;
- ZSize := 128;
- If Frustum.IsBoxWithin(XCenter, YCenter, ZCenter, XSize, YSize, ZSize) then
- If smallest then
- Draw(FVertices)
- else
- For I := Low(Children) to High(Children) do
- Children[I].Check(FVertices);
- end;
- procedure TQuadtree.DrawQuadtree(const Vertices: TVertices; drawVertices, drawNodes: Boolean);
- begin
- Frustum.Calculate;
- If drawNodes then
- MainNode.DrawNode;
- If drawVertices then
- MainNode.Check(Vertices);
- end;

 Anmelden
 Anmelden Registrieren
 Registrieren FAQ
 FAQ Suche
 Suche









 . Die Heightmap und der Quadtree sind in die entsprechenden Units ausgelagert. Der Quadtree arbeitet mit Rechtecken. Das mit dem Z hab ich nur gemacht, damit ich eine Box von 0 bis 255 (maximale Höhe) habe.
. Die Heightmap und der Quadtree sind in die entsprechenden Units ausgelagert. Der Quadtree arbeitet mit Rechtecken. Das mit dem Z hab ich nur gemacht, damit ich eine Box von 0 bis 255 (maximale Höhe) habe.

 Die Boxen werden auf jedenfall richtig anggeben, hab sie mir mal anzeigen lassen. Es scheint auch, dass es geht wenn ich entlang der X-Achse gucke, abe jemehr ich mich zur Y-Ache hin drehe, desto schlechter wirds.
  Die Boxen werden auf jedenfall richtig anggeben, hab sie mir mal anzeigen lassen. Es scheint auch, dass es geht wenn ich entlang der X-Achse gucke, abe jemehr ich mich zur Y-Ache hin drehe, desto schlechter wirds.