Projects & Papers · Code Snippets · Links · About Page views:


Terrender


  Content

History

version 0.47 (2005/09/02)

  • ray angle delta computation upon ray-voxel-intersection is greatly improved
    -> massive speed boost
  • use of cache-aware SSE instructions (prefetch and non-temporal writes)
    -> another speed bost
    -> note: now requires a processor with the extended MMX subset of SSE (Intel Pentium II or AMD Athlon)
  • some other minor speed improvements

version 0.46 (2003/05/31)

  • new: sampling anti-aliasing
    -> GREAT visual quality improvement (no more wobbling mountains) - in compromise for 40% loss of render speed
  • improved overall quality of geometric calculations and fixed bugs therein
  • fixed: height offset is now calculated correctly (was off between 0-1 before)
  • fixed: line color interpolation did overflow sometimes

version 0.45 (2002/02/11)

  • new: all drawings are now independent of the used resolution
  • new: the view angle can now be changed just-in-time
  • new: the interpolation (detail) mode can now be changed in runtime
  • new: built an OOP API around the ASM code - that was more work than I had thought
  • new: generic container file to store maps and information, plus saver and loader
  • new: created the FIRST PUBLIC DEMO program of Terrender for Windows and DirectX

version 0.44 (2002/01/04)

  • fixed: bugs with the new projection that occured when the scaling was changed
  • fixed: small bug in the changed sky projection code from version 0.42

version 0.43 (2002/01/02)

  • new: changed pinhole projection to perspective projection; this is in fact the more correct look, at least on a flat canvas like the screen ;-)

version 0.42 (2001/12/13)

  • optimized the angle calculations in the raycast loop a lot
  • fog shading more correct now
  • pixels not seen are not calculated anymore
    -> drawing is now faster when tilting
  • fixed: old color was used for interpolation when pixels where drawn in 2 subsequent turns of the raycast loop
  • changed the sky projection code a little bit so it looks more volumetric now

version 0.41 (2001/12/09)

  • new: completely rewrote the projection so it is now completely accurate when looking towards the horizon
    -> great visual improvement, but also loss of quite much speed
  • fixed: scaling on the x-axis was wrong when tilting

version 0.40 (2001/02/27)

  • fixed: scaling for different screen resolutions
  • fixed: corrected strange implementation for x/y-direction of rays
  • interpolation turned off for far away pixels
  • only memory access in main raycast loop now is to the data map

version 0.40 (2001/02/01)

  • new: ported sky routine to assembler
  • fixed: I forgot that stupid EMMS instruction at the end of vx_SetHaze
  • new: pixels not seen are not drawn anymore

version 0.36 (2000/09/15)

  • fixed: wrong scaling for different resolutions in both landscape and sky
  • ported sky routine partly to assembler
  • height interpolation is now done with MMX

version 0.35 (2000/09/12)

  • fixed: newly introduced bug with cos_neig_cos_steig2 at height-int.
  • fixed: newly introduced bug with entf at @h2_fits

version 0.32 (2000/06/11)

  • fixed: little bug in Perlin cloud generation function when cycles > 5
  • ported Perlin function to assembler
  • new: created a rather modular design
  • new: introduced scaling factor for different resolutions

version 0.31 (2000/06/01)

  • fixed: bug in rotation
  • no need for a bigger buffer because of over-drawn pixels anymore
  • fixed: overdraw at the screen border when interpolation used
  • fixed: stupid bug in RGBhi macro
  • new: color and form of clouds can now be changed

version 0.26 (2000/04/22)

  • fixed: corrected scaling when tilting
  • some variables are now precalculated
  • new: engine capable of tilting between -45° and 45°

...many versions and bug fixes...

version 0.14 (1999/12/05)

  • new: moving and morphing clouds on the sky

...many versions and bug fixes...

version 0.1 (1999/09/22)

  • initial C version ported from Turbo Pascal to DJGPP

Copyright 2003-2005, Michael Noisternig