3D OpenGL Engine

BlitzPlus Forums/BlitzPlus Programming/3D OpenGL Engine

About lights...

1. I think we should set this up with some built-in lighting methods, eventually a shadow system. Blitz3D is too open-ended. If you want high-end lighting and physics, you have to build it into the system, because the routines are just too complicated to keep separate. If someone really wants to change it, they can edit the engine code.

2. GL lights are terribly complex, and don't work with vertex lights. Because I make extensive use of vertex-lit static meshes in my levels, I did away with DX lights completely, and think the same should be done here. Vertex lighing is good for characters and small meshes. The multi-pass lighting the last Singularity demo used is good for the brush walls of a level. Lightmapping, of course, provides most of the lighting and shadows. Anything beyond these should be done with the proper techniques. I don't know how to do those yet, but they can be added in time.

3. Using fewer normal vertices will result in faster calculation of lights. One of my cubes only needs to make 6 normal calculations to light all vertices, as opposed to the 24 it would take Blitz3D.

I uploaded a new version with some simple vertex lights.