- Added Components
- Also added component-related events and several Layouts
- Added GUILayer to integrate Components into Layers
- Added InputBuses to handle consumable events
- Layers now have a separate input handling pipeline
- Mouse button clicks are now handled together with keyboard keys
- KeyEvent, Keys, InputTracker consider MBs to be keys
- Cursor position and pressed keys are now tracked by InputTracker
- GLFW key codes can now be mapped to names with Keys
- Added KeyMatcher for later
- Fixed world clipping into UI
- Cursor info is no longer available thru GraphicsInterface, use
InputTracker instead
- Added FlatRenderProgram to render 2D graphics
- Can be used as-is
- Supports rectangular coordinate-aligned nested masks
- Added AssembledFlatLayer to cache 2D graphics
- Use RenderTarget for add elements during reassembly
- ShapeRenderProgram now allows null textures (defaults to white BG)
- Sprite now deduces size based on primitive's content size
- unless given size explicitly
- ShapeRenderHelper.*WorldTransform methods renamed to .*Transform
- ShapeRP now handles positions, textures and color multipliers only,
normals, view transforms and light calculations are now in WorldRP
- Renamed WorldRenderer to ShapeRenderHelper
- Moved normal computation to WorldRP code from Face
- No default ShapeRP exists, methods in Faces and Shapes now explicitly
require a program
- Removed unnecessary glBind from texture loader
- Refactored and renamed GLSL code
- Added a view bobbing test, enable with I_WANT_TO_THROW_UP in
LayerWorld