Warning: Can't synchronize with the repository (Couldn't open Subversion repository /home/crystal/scm/crystal: SubversionException: ("Expected FS format between '1' and '3'; found format '4'", 160043)). Look in the Trac log for more information.

Before integration of SoC terrain can commence a number of changes, fixes and cleanups needs to be done.

Short term:

  • Normalize coordinate systems. Terrain is in xz plane, y is height!. Correction: use XY when talking about "heightmap space" coordinates but xz+y when in 3d coordinates.
  • Redo the LRU stuff to use better timing source
  • Material maps / base material should behave like old bruteblock with addition of possibility to add explicit alpha-maps on top of materialmap Additional pairs not yet supported!
  • Support for 32-bit indices when needed
  • Only generate indices once per block resolution, not per cell.
  • Reformat code a bit to conform to CS standards.
  • Rewrite the feeders to only have one instance of them for several cells.
  • Rewrite the factory/instance interaction. Currently it only allows one instance to be created from a factory and nothing is stored on a per-factory basis. Needs decisions ;)

Longer term, things that can be done after integration:

  • The terrain collision should be unified in one place
  • More LOD control settings. Biggest/smallest tesselation etc.
  • Atm only triangle edges<->terrain is handled in the terrain collision code, which works for small triangles. Need to add terrain edge<->triangles too.
  • Inter-cell LOD handling to avoid cracks.