First, I will explain some of the problems in implementing complicated algorithms with simple graphics engines;
then I'll describe in high level how we break up rendering the whole surface into chunks digestable by the GEs;
we will take a look at our sophisticated main data structure: a square array;
we will study a depth-first algorithm that operates on those square arrays and uses very little memory;
we'll take a look at an algorithm for partitioning a general triangle mesh into pairs of triangles;
and finally I present some results.