include "screen.php"; ?>
draw1(); counterFunc(0); ?>
News
Welcome on my LOL 3d Engine site.
New LOL 3d Engine
Still under VERY intensive development...
Old LOL 3d Engine
Try my demo, it should run on almost every hardware (runs very well on my PII300 + voodoo2).
Temprorarily i removed source code from here coz i found much of it a big shit:), but as soon as my New LOL 3d engine is done it will be available.
05. 07. 2002
Download execs 05-07-2002
Water got some distortion. When u shoot in it it's not flat anymore!!
Now it's just animated and a bit smoothly shaded, but to look nice this needs a bit different lighting and reflections' type.
Water also needs some _more_ frame time independent calculations, because the waves now become unnaturally high when frame time is big too. You can try increasing DROP_RADIUS through console to see the bullets make bigger splashes when they hit water mesh.

26. 06. 2002
Added lights (actually lights' coronas) visible only when an eye can see it directly.
I also put here some of my old projects.

[ screenshot was taken right after rocket had been fired out - the one in the center ]
21. 06. 2002
Shooting verbessert! but there are still several problems, mostly with mirrors - it get's a bit complicated when everything has to reflect in mirrors...
13. 06. 2002
Skybox added and lots of optimizations made so in more complex scenes it's up to 2 times faster than previously!
I also added temporary flat shading for all polys - better this than nothing, but my plan is to implement shadow volumes (i don't think I'll play with lightmaps, dynamic shadows are sooo realistic...:).
05. 06. 2002
// print "Download source 05-06-2002"; ?>
Turn on your sound and hf shooting rockets.
03. 06. 2002
I've just fixed ray-tracing, now seems to work perfectly, so the mirrors don't disappear unexpectedly.
The thing i'm going to work on now is scene management - this will allow loading, animating and displaying many objects at the same time.
Now I'm doing huge reorganization of my code, so it will be more flexible.
29. 05. 2002
My site starts.

[ room with 4 mirrors, here you can see one of them ]
Ok, the main thing here are multi-level mirrors. When you start demo press "~" to enable console, then writing for example "SET mirror_level 3" you can change maximum level the mirrors reflect, of course the higher value, the worse performance. To see what faces are displayed you can switch view between player (cylinder) and camera (invisible) initially with key B, and same for switching control with key V. So you can look for example from above the scene and move player below, but you always see only faces visible from player's origin. Mirrors now are too light, but i made them like this on purpose, cause this way i can see very good what's in the 4th or 5th reflected mirror, normally it would be almost black.
Type CMD_LIST to play with other commands.
I put here my full source code, so you can take a look how the things are done. Mirrors are done without stencil buffor, so sometimes you can (you really have to want to) see there are not correct results in mirrors. There's also VERY big optimization to be done as soon as i have more time (my exams are over:) - for each mirror i clear z-buffer for whole screen, i plan to do it only for mirror's scissor box, so especially for small mirrors it will be much better. If you feel something would be done better anywhere in the code PLEASE mail me. It's freeware, but if you use my code please give me a credit.
These are most important engine features:
- bsp used for: frustum culling, sorting translucent faces, ray-tracing
- sectors & portals (visibile faces set determination is done dynamically)
- detection whether player is inside (in which sector) or outside world
- multi-level mirrors (mirrors reflect until certain level, but placing them very close to each other causes incorrect intersecting of faces that shouldn't intersect - that's because i don't use stencil buffer - have only voodoo2:()
- quite nice console with commands, variables, binds, exec files...etc (you all played quake, no?)
More screenshots


[ little mirrors like these above are actually treated as one big ]


[ above is what player can see... ]

[ ...and here's what is really displayed at the same time (MIRROR_LEVEL set to 30) ]
draw2(); ?>