Icarus Scene Engine (ISE) is a free, open source, .NET cross-platform 3D framework for hardware-accelerated rendering, audio, animation & scene management, user interfaces and networking. Primarily based off OpenGL (OpenGL2, 3, 4, ES1.1, ES2), having grown around OpenTK and formerly Tao, Icarus provides cross-platform abstraction layers, functions for OpenTK, OpenAL, FFMpeg and FreeType.
ISE contains a single integrated RenderBuffer class that will render any geometry primitives, regardless of device capability. Immediate mode, vertex arrays, vertex buffer objects or vertex array objects, are all abstracted by RenderBuffer, and the fastest type available is the one that is used. The only choice is the standard render buffer (for static objects) or the dynamic one (for objects with geometry changing every frame).
For User Interfaces:
Built-in, custom ray collision detection that is not limited by OpenGL’s collision detection problems, and automated mouse/pointer controls.
For Mobile Developers:
Mouse implementation on PC automatically translates to tap & drag implementation on touchscreen devices. Touchscreen concepts like swiping implemented on the PC. Command-line parameters for automatically limiting the PC resolution to iPhone 4, iPhone 5, iPad resolutions, run Retina logic on PC.
ISE integrating open source APIs into a cohesive all-open-source, all .NET solution. As a developer, ISE can be used in conjunction with, as a partner to, or a replacement of, OpenTK/OpenGL, based on need and/or level of experience. ISE is designed to get people up and running in 3D development quickly and efficiently, with all the core cross-platform factors resolved.
It works by abstracting the device and the rendering API, so that the code developed is 100% consistent across platforms.
For Windows, MacOSX, Linux, Web, iOS, Android. ISE Uses OpenTK, OpenGL, OpenAL, Mono/.NET, FFMpeg and FreeType all through .NET.
Works with .NET 2.0 or later, using Visual Studio (inc. Express editions) as well as MonoDevelop & Xamarin Studio, with sample and blank cross-platform projects available.
ISE 3 includes native .NET support for :
Audio loading & streaming for WAV and OGG files. Playback can start as soon as the first block of data is loaded, and is fully-automated & in a background audio thread.
3DS, OBJ (inc. .MTL versions) and ASE model formats, with MS3D under development. All background-loadable.
Fonts – ISE.FreeType, the .NET wrapper for FreeType fonts, for PC, Linux, Mac platforms. Now fully integrated for 32 and windows 64 bit automatic class usage.
ISE.Media, the .NET wrapper for FFMpeg, is still included in ISE 3, and is still supported, but exclusively for PC, Mac and Linux platforms at this time. Now with built-in 32 & 64 bit usage.
The Icarus Scene Engine (ISE) comes in two parts, represented by DLLs (or embeddable code). There is the ISE Framework itself, and then there is an Icarus Rendering Layer (IRL), which contains the platform/device/3D API -specific implementation functions in a consistent framework. The structure allows IRL layers for browsers, OpenGL 2.0/3.0, Windows.Forms Control, etc.. to be substituted in, so that calls to the ISE.Framework are platform-agnostic.