This beta release of the Oops! Framework contains the source code from Change Set 15616.
Framework
- Added a QuaternionExtension.Decompose method.
- Added a GameComponentCollection<T> class for collections of specific game components.
- Added a KeyedGameComponentCollection<T> class for collections of specific game components keyed by a owned value.
Graphics
- Added PssmEffect and PssmDirectionalLight classes to help facilitate Parallel Split Shadow Maps.
- Added SpriteFontExtension class to help with displaying text.
UI
- Started simple UI functionality.
- Started Screen Space Service functionality.
Physics
- Removed CollisionContext.OnCollided method overload with CollisionPlane parameter. Use the remaining OnCollieded method.
- Added an overloaded CollisionDetector.Detect method that does not require a context.
- Fixed the box-ray collision test. See BoxRayCollisionDetector.Collide method.
- Fixed the shape-terrain broad-phase collision test. See TerrainShapeCollisionDetector.Collide method.
- The CollisionRay class's automatically created RigidBody is not set to static anymore.
- Added Position and Direction properties to the CollisionRay class.
- Support for ray-box and ray-sphere collision tests should now be working.
- Added a Tag property to the CollisionShape class.
- Changed CollisionShape.Offset from a field to a property so recalculation of the associated RigidBody's mass properties occurred.
- Removed CollisionShape.CanCompare method overload with CollisionPlane parameter. Use the remaining CanCompare method.
- Fixed issue where the CollisionTerrain was not initializing correctly.
- Removed unnessary code in the RigidBody.CalculateMassProperties method.
- Defaults of the CatagoryFlags and CollisionFlags of the CollisionShape class changed to 0xFFFFFFFF.
Space Partitioning
- Exposed the quad-tree's bound box. See QuadTree<T>.Bounds property.
Input
- Added CursorComponent for cursor support.
Diagnostics
- Implemented FPS component functionality.
Viewport
- Modified ViewpointComponent.Projection to get the projection from the active camera.
- Added projection and viewport fields to the Camera class.
- Added Camera.GetFrustrum method.
Testing Application
- Added new Picking example to testing application. See Example5Screen.
- Incorporated Parallel Split Shadow Map functionality into examples. Press <Space> or the GamePad's Y button to turn on/off. Press <PgUp>/<PgDn> or the Gamepads <Shoulder> buttons to change number of splits. NOT TESTED ON XBOX360!!!
- Uses FrameRateComponent to display fps.
General Questions, requests and suggestions are definitely welcome. Add a work item or start a discussion!