Update 22 March 2010
See videos of Icarus over on YouTube at:
Freshly updated with the latest OpenTK release, Icarus Scene Engine, and the companion releases of Icarus Player and Icarus Professional, are now available as an Alpha release!
Icarus Scene Engine is an open XML-based scene & content construction solution, with developer-level libraries like ISE.FreeType, ISE.Geometry, ISE.System, ISE.Video, ISE.Core, and ISE.Networking.
ISE.System is a general low level set of supporting maths and animation routines, base C# class automated load/save through to XML, mutli-threaded asset loading support, matrix projection/unprojection for 2D/3D conversion, internet file downloading. Animation supports any-property full time track animation, with dynamic adjustable time steps, automatic keyframe adjustments.
ISE.FreeType supports full unicode 3D font rendering based off FreeType. HTML-based font layout rendering coming soon.
ISE.Geometry provides Geometry loading and rendering. 3D Studio files supported, renders to Display list or Vertex Buffer Objects depending on graphics availability, full material and texture support, original geometry structure retained.
ISE.Video is an FFMpeg decoder layer. An upgrade to ISE.Media which also supports encoding and streaming also available in experimental form.
ISE.Core then adds Engine-level capability on top that encompasses basic geometry rendering, ODE Physics, Shader integration, C# Scripting, Project load/save, Design and runtime rendering of objects, Viewports, multiple Camera types, construction of UI elements, Storyboarding features for construction of interactive learning elements on 3D scenes, external Plugin support, Terrain rendering, Preloader support, Lighting and 3D process maps, 3D positional audio, Frame Buffer/Accumulation buffer support, and Stereoscopic rendering.
ISE.Flow is a visual logic concept for managing scene logic visually created through the editor, logic can then be stored in the XML directly. Use for scene ordering, UI and device input control, basic movements.
ISE.Networking is designed to support cross platform distributed communications. Currently under construction, only base client/server and peer-to-peer socket components available.
That covers all the developer-level capability.
Icarus Professional is the designer tool that sits on top of all of the above and allows full visual construction of multiple projects, animation via a full GDI-based custom time track editor, and interactivities. Some examples: Visually construct ODE physics simulations. 3D positional audio can be visually animated, visually position 3D geometry, construct and layer 3D effects, scenes, viewports, terrain etc..
Icarus Professional does NOT have a Compile step. Scenes can be played immediately, paused, corrected and continued, including animation, while scenes are running!
Icarus Player is a standalone player application that takes the XML file (the IPX), and then plays it, alongside any plugins, embedded scripts. An experimental ActiveX version is also available that will allow projects to be published entirely online with streaming assets.
See www.pointscapestudios.com for more info!
An example of extensibility options:
The monoBOTICS project adds driver-level extensions to support visual construction of robotics drivers and robotics solutions to Icarus, fully supported cross platform on Windows and Linux, and an IPX XML to C# compiler.
See monoBOTICS for more details on this cool project!