Frontend 2.0 is a brand new, up to date game development API. Graphics, Sound, Input and a very extensive Utility library, all in one library for all major platforms!
Highlights
Frontend 2 is a modern, future-minded API supporting all of the latest graphics hardware features as of 2007, in addition to support for Sound and Input devices such as game pads, keyboard and mouse, seamlessly cross-platform.
- Frontend Graphics
- Fast, solid and simple
- Entirely shader-based, no fixed-function concepts.
- Shader Model 2.0 through 4.0 supported, including Geometry Shaders where available.
- Choose between Cg, GLSL or HLSL as your shading language.
- Frontend Sound
- Send data directly the sound hardware.
- Stereo and surround effects supported.
- Play back and mix variety of formats in real time using Frontend Utils.
- Frontend Input
- Read data from keyboard, mouse, joysticks and game pads in a unified way on all platforms.
- Floating-point input from analogue devices.
- Handles keyboard messages without ripping you of your application control.
- Allows feedback to game pads where available.
- Frontend Utils
- Elegant asset loading and management of a variety of formats, including:
- Bitmap formats: JPG, PNG
- Geometry formats: FGM (Frontend Geometry)
- Scene graph formats: FSG (Frontend Scene Graph)
- Fast true type font rendering
- Shaders and Programs
- Converter tool to create FGM and FSG files from COLLADA (exportable from all major 3d-modelling applications)
- Support for asset loading from both native and virtual file systems
- A lot of convenience classes for rapid development.
- State and transform stacks
- Vector math library
- Elegant asset loading and management of a variety of formats, including:
Inspiration
Frontend 2.0 is inspired by DirectX with its unified, interface-based programming model and rich utility library (D3DX), but without the hungarian notation and ugly Winapi-dependencies. Portability is our primary concern, and Frontend 2 ports seamlessly to Linux, MacOS X and Windows XP/Vista, using OpenGL2, DX9, DX10 or software rendering backends. Fronend handles everything, including window and message management, but without ripping you of the control of your application (like other libraries tend to do). If your application is written entirely against Frontend, there is no porting work to worry about.
We wanted to give C++ a more high-level feeling through Frontend 2 by encouraging a tidy and consistent programming style. We have embraced the beautiful naming conventions from the C#-era and put a lot of work into making the API intuitive and self-explainatory. Frontend 2-code tends to be highly readable and less obfuscated than when writing software against other (often more low-level and mixed) libraries.
At the same time, we wanted Frontend 2 Graphics to be efficiently implementable on top of all three major native graphics APIs to date (OpenGL2, DX9, DX10). After a lot of iterations, we arrived on an interface which maps nicely to all of the backends, giving a very low overhead in all performance critical situations.