Technical Features of Spine
Spine is a framework for easily developing applications based on immersive digital environments.
Such an application must have control over a display medium, including graphics and sound aspects. It must manage user input in order to provide an interactive experience. It must also control networking, to allow products to incorporate multi-user access and distributed processing.
Current features :
Platform Core : Base system
- High-speed, easy to use Client/Server architecture built on C socket connections.
- Simply tick() the server or client (or both) to update the program state.
- Event-handler system for major system events. These are handled by deriving application-specific server and client objects from Spine's Server and Client components.
- Scriptable Console component that allows registering of user-defined classes and objects to react to scripts and user commands.
- Utility components to handle basic mathematical functionality, text processing and cross-platform file-handling.
Renderer : Graphics sub-system
- DirectX 9.0-based 32 bit Hardware Transform and Lighting graphics engine. This provides quality anti-aliasing, texture mapping support and fullscreen display capabilities.
- Drawing of static meshes, using both hardware and dynamic software vertex buffers.
- Blending/morphing of meshes for expressive elements.
- Flexible particle system to allow effects such as rain and snow, sparks and smoke.
- Quadtree-based, view-culling environment system incorporating a dynamic Level of Detail (LOD) terrain module.
- Sprite drawing for rendering distant scene elements that do not require full detail.
Surround Sound : Audio sub-system
- DirectX-based full surround sound mixer that works with headphones up to full surround speakers.
- Blend multiple 3D-located sounds with music and ambient sound effects.
- Play CD Audio.
- Control the volume, pan and pitch of non-3D sounds.
User Input : User control sub-system
- DirectX-based high-speed user input manager
- Allow user input with Keyboards, Mice and Joysticks.
- Works alongside Win32 user input message system.
- Simple polling of an event queue for managing user events.
Networking : communications sub-system
- Socket-based server/client networking system with simple message-passing and buffering mechanism. Includes broadcast on LAN for discovering hosts.
- Implements an easy message passing system for applications to implement their functionality around.
- Easily portable to other platforms.
- Basic authentication and "message of the day" functionality.
Documentation : Learning and Reference Material
- Spine is in the process of being thoroughly documented, from introductory material, to tutorials, to reference specifications, Spine is easy to learn and set up.
- Documentation is always exanding. You can never look at things from too many perspectives.
- I'll do my best to answer specific email queries to solve any major problems.
Go back to the