Not logged in, Join Here! or Log In Below:  
News Articles Search    

Submitted by Nicolas Capens, posted on November 12, 2002

Image Description, by Nicolas Capens

Here's a recent screenshot from my software rendering project. It started out as a simple spinning cube renderer, but it is now turning into an alternative for hardware acceleration API's. Although it is capable of most of Quake III's map rendering, it is not 'yet another Quake clone' as I'm only using these maps for testing its true power in a situation normally meant for hardware rendering.

Some of its current features are:
  • a.. Bilinear filtering
  • b.. Multi-texturing
  • c.. Pixel & vertex shaders
  • d.. Flexible render states
  • e.. Sub-pixel/texel accuracy
  • f.. Per-pixel perspective correction
  • g.. Per-pixel exact mipmapping
  • h.. Homogeneous clipping
  • i.. Frustum culling
  • j.. Dynamic lighting
  • k.. Gamma correction
  • l.. Fog
  • The pixel and vertex shading was made possible with dynamic code generation using my assembler: SoftWire. This also made it possible to have dozens of render states created at run-time. All assembly code is heavily optimized using the Pentium III instruction set.

    About the performance. With all features turned on, this kind of scenes render at about 20 FPS in 640x480x32 on my Celeron 1200 MHz. My goal is to reach at least 30 FPS, and this will certainly be possible by using some tricks common to software rendering. Per-pixel computations could be approximated by sub-affine interpolation. To eliminate overdraw, I'll probably replace the depth-buffer by a geometry based visibility algorithm like portal clipping. I am also still trying to make a scheduler for the run-time assembler to get the most out of the inner loops.

    A preliminary demo can be expected around the first quarter of 2003.

    More information and older screenshots can be found at:


    Image of the Day Gallery


    Archive Notice: This content is archived, and commenting is no longer active. It is here for reference purposes. This content was added on an older version of flipcode, before the site closed in 2005.
    Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.