File Archive

File download


File size:
4 272 840 bytes (4.07M)
File date:
2007-07-12 23:05:09
Download count:
all-time: 3 180

Screenshot (by pouë



  • F341/cpu_speed 591.85K
  • F341/cpu_speed_license.txt 17.59K
  • F341/data/ dir
  • F341/data/background.png 116.28K
  • F341/data/enback.ogg 1.76M
  • F341/data/lava.png 140.73K
  • F341/data/splash.png 32.31K
  • F341/data/star.png 13.74K
  • F341/data/tunnel.png 1.58K
  • F341/F341-GP2X 2.91M
  • F341/F341-Win32.exe 340.00K
  • F341/F341.gpe 52B
  • F341/F341_240.gpe 108B
  • F341/F341_266.gpe 108B
  • F341/libpng12.dll 124.00K
  • F341/mmuhack.o 1.68K
  • F341/README-SDL.txt 425B
  • F341/README-SDL_image.txt 259B
  • F341/README-SDL_mixer.txt 259B
  • F341/Readme.txt 1.34K
  • F341/SDL.dll 252.00K
  • F341/SDL_image.dll 40.00K
  • F341/SDL_mixer.dll 308.00K
  • F341/zlib1.dll 76.00K


This is my first demo ever! It shows what my small
rasterizer/renderer can do. The demo features point
and line rendering, gouraud shading, lighting,
texture and environment mapping and additive
blending. The demo also runs on Windows so you don't
need a GP2X to watch.

The renderer is really small with ~1800 lines of C++
(also counting empty lines and comments) and can be
configured with vertex and pixels shaders which then
do the actual assignment of the values. The renderer
can interpolate an arbitrary number of integer
attributes across the triangle perspectively correct.
The rasterizer is block based and currently uses
blocks of 8x8 pixels in size. The perspective
correction happens at the corners of the blocks and
within a block the varyings are interpolated linarly.

The music I used in the demo is from
converted to ogg for better performance.

Initially I wanted to use ogg940 for ogg playback
since this would make my demo 20% faster but I had
problems getting it to work so I left it this way.

I will release the source to the renderer to everyone
who asks. Just send me an email at
Maybe I will also put the source onto the gp2x
archive. I probably won't release the source code to
the demo since that is really a horrible mess.