- 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;