My Internet is down once again, so I'm working like hell.
ICamera:
* updateCamera() now includes the render HUB being used.
* Removed getRenderMode(). Use the HUB's render mode!
Implemented ILogicalRender.
ParticleScene now works similar to ImageScreen, in that a constant now controls how many floats very object uses.
Prepared to fix how textures are used.
Created 2 new vertex shaders, for particle and 2D rendering.
Did a general optimization pass. In detail:
EnumRenderMode:
* Moved to the render package.
* Now holds a corresponding OpenGL mode.
Moved a comment in Game.
TextParser.createFile() now fixes the source of the file, too.
ThreadStoppable now only sets running to true when the thread actually starts.
Moved ThreadTimed.update() over to a try/catch.
Moved an if block from bind0() to bind() in GLProgram.
ImageScreen:
* Reduced the number of floats sent to the GPU to 32.
* Finished program setup.
PixelGrid.x/ySize are now protected.
Future proofed texture binding in RenderHelper.
RenderTicket:
* Fixed a scaling issue with an untouched rendering ticket.
* Removed an unneeded import.
Converted IRenderHUB's return types over to collections.