These are the screenshot of my lastest 3D Engine, the ming Engine.
I start this project after I have read an article called "Binart Space Partioning Trees and Polygon Removal in Real Time 3D Rendering" by Samuel Ranta-Eskola. It is a really nice article and it gave me solid concept of BSP rendering and luckily I finished my BSP code within one week. (am I great? :-)
Then I started to add more feature to my 3D engine and that was lightmap. At frist, I was trying to use radiosity to calculate the lightmap and so I with code a radiosity processer, however I was fail (because it takes too much time for calculating a simple scene) So I turned to ray-traced lightmap, it is simpler to implement and it looks cool~ (you can see it in the screenshots).
After that, I started working on dynamic lighting. Fisrtly, I tried to modify the lightmap in real time, but I find this method is damn slow, (the frame rate drops from 140 to 1-2 fps) so I try to find an alternative way to do this. After I have asked several question in flipcode's Message Centre, I have learnt a method that projected a texture onto the walls in the 3D scene. This method is much faster, but the frame rate sill drops a lot ( from 140 to 80). So I was and I am still trying make it faster and faster. (Does anyone can give me some suggestions?)
Up to now, the project have been started about 2 months and there is only one man working on it (that was me :~), my 3D engine uses Direct3D and was developed using VC++ pro 6.0 . The 3D scene was created by 3D Studio Max 4.0 and then exported to Truespace's .cob binary format (this is the only file format I am familar with).
Here is the main feature of my engine:
ray-traced lightmap (with static shadows)
dynamic lighting (the color, position and the range of the light can be modified in real time)
Truespace's cob binary file support.
Last but not the least, I would like to give a big big thanks to flipcode's message centre, it is really helpful. The guys there will always willing to answer your questions and give you a lot of useful suggestions.
I am a student in Hong Kong, if anyone wants to get the demo of my 3D engine or (I wish) any company would like to employ me as a game programmer. please contact me. Here is my e-mail address firstname.lastname@example.org.