Nice!

My two notes:

1. Right now I was only able to view it by wine emulator. (I'm sitting on Linux and FreePascal only.)

So I wanted to compile and port your code to Linux+FPC, which should be easy as newest eXgine compiles fine under Linux+FPC... I used code from http://code.google.com/p/exgine/ (I don't speak Russion, so I couldn't understand anything from http://xproger.mirgames.ru, hopefully version on code.google is newest?).

After some work I gave up --- looks like new eXgine changed a lot. Anyway, here's the patch: http://michalis.ii.uni.wroc.pl/~mich...mp/tdg3d.patch. It makes the example3 compile under Linux+FPC, but running it causes segfaults. This is most probably my inability to use newest eXgine, I'm not sure how I should run the program there (lack of English docs is pretty bad).

Do you plan to port your tdg3d to newest eXgine? Let me know if yes, I can help with Linux porting/testing.

2. I'm curious about your approach to collisions --- what is the "compressed Z-buffer cache"? Can anyone explain it shortly or point me to some article about it (googling didn't return anything useful on the 1st sight)? Thanks!