This program was writen by Pascal Leynaud for the fun of it.

It was completly done in C++ in respect of Unix portability. 
The source code compiles on Linux or Solaris, with gcc or the SunOne Studio C++ compiler.

The window part is a reusable X11 C++ object, using some Callback functions for handling the mouse, keyboard and window modifications.

The rendering part is fully software (C++). It can easily be optimized by translating the inner most loop part in assembly but it would avoid the portability of the code.

You can always rotate the object left right and up down. So can you with the light.

All the screenshots were done on an UltraSparc II 440Mhz on the 8 bits display of a PGX24 (which does not provide any 3D acceleration).

The code source is 4500 lines long, you can have it simply by asking for it.

If you have some question don't hesitate to contact me, I don't bite  :)


The available shadings (Read3DS 2.0) are : 

Wire frame, Lambert, Gouraud, Phong, Bump, Texture mapping,  Textured Lambert, Textured Gouraud, Textured Phong, Textured Bump, Environmental and Environmental Bump.

Check out the screenshots section to see them.

What's NEXT ?

I already have a buggy code which is doing some real time shadows, hopefully I will succeed debugging it.
I also hope to find the time for multithreading the stuff.
Colored texture shaded objects would be great.
OpenGL ?


How to contact me ?

You can simply send me a mail :
Please bear with me if you tryed to join me on my old e-mail address This address is completely spammed and I do not use it anymore since a loooong time.
Or you can send me a post card if you like this little tool - please tell me you do :) - :
Pascal Leynaud
26120 UPIE