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 chiptunes.org
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 firstname.lastname@example.org.
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.