From 623fc8c73de35bef0785f09bae8a3f607f8ed087 Mon Sep 17 00:00:00 2001 From: Wolfgang Draxinger Date: Fri, 27 Apr 2012 20:43:08 +0200 Subject: qt_terr - a simple quadtree based terrain renderer with LOD --- samples/OpenGL/qt_terr/terrain.cpp | 43 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 samples/OpenGL/qt_terr/terrain.cpp (limited to 'samples/OpenGL/qt_terr/terrain.cpp') diff --git a/samples/OpenGL/qt_terr/terrain.cpp b/samples/OpenGL/qt_terr/terrain.cpp new file mode 100644 index 0000000..d08d345 --- /dev/null +++ b/samples/OpenGL/qt_terr/terrain.cpp @@ -0,0 +1,43 @@ +#include "terrain.h" + +Terrain::Terrain() +{ + z_mean=0.0; +} + +void Terrain::split() +{ + if(is_split()) + return; + + quads[0][0] = new Terrain(V); + quads[0][1] = new Terrain(V); + quads[1][0] = new Terrain(V); + quads[1][1] = new Terrain(V); + + quads[0][0]->set_range(x1, x_mid, y1, y_mid); + quads[0][1]->set_range(x_mid, x2, y1, y_mid); + quads[1][0]->set_range(x1, x_mid, y_mid, y2); + quads[1][1]->set_range(x_mid, x2, y_mid, y2); +} + +void Terrain::track_down(double x, double y, double nz, int levels) +{ + if(levels>0) + { + int a=(xtrack_down(x, y, nz, levels-1); + } + else + { + z[0][0]= + z[0][1]= + z[1][1]= + z[1][0]=z_mean=nz; + } +} -- cgit v1.2.3