Changed the "DrawScene" update command to actually draw a scene, instead of a render channel strip. This is because the scene has extra stuff like a camera/lens to setup rendering with - it may also have render targets etc. Basically we need to go via the full RenderMethod::standard fn because it does important stuff like clearing the back buffer and calling beginScene()/endScene(). In the end we may not want to use RenderMethod::standard
Split out RenderMethod::standard to ::beginScene and ::endScene
Problem now is the 'debug render channel' uses / clears the depthTexture. Alternatives here:
- 'debug render channel' only has 'Gui' and 'Console' channels
- makes old modules (dog fight, architect) not work
- make them work with the new scene architecture ALL DONE
Got all old modules and new working with the RenderChannelStrip concept
Tried to get lights working, as that will greatly expand the number of objects i can load, i.e. planets.
CURRENT STATUS :
- no lighting on objects. If you get "MeshPiece" and add a "Lighting" object to it, then the mesh piece will get bound to the light channel
- currently only the light objects have a "lighting" object. This is actually how it is designed - for deferred lighting
New Scene Library
- has CameraScene, LightScene, owned by cameras and lights. These have CameraChannelStrips and LightChannelStrips. Those classes setup the appropriate render channels, and when an object is added
- supports n cameras and n lights
- has a strip and explicitly sets up render channels, combining lights+materials+debug all as one giant strip. Supports 1 camera and 4 lights only.
- has useful addWorldObject / addMesh fns that the new scene library lacks. However, with the new scene library, try to keep all the data loaded in from scene files and avoid explicitly creating objects wherever possible.