Beast API
The Beast API is intended to be the method of choice for anyone integrating Beast with a game engine. Using the API allows for a tight integration with full control over the geometry export. The API is used successfully in production today by a number of studios and also serves as the basis for the Beast integration with Gamebryo LightSpeed.
Easy to use
The Beast API is an easy-to-use programming interface that makes it very easy to integrate Beast with any game engine. Interacting with the API from code is very straight forward, with clear and consistent functionality. The workflow is easy and intuitive - transfer all geometry etc and set up the scene, tell the API what you want to render and finally read the results.
Easy to integrate
The API is delivered as a set of C header files together with a library file and dll, allowing for integration with any programming environment capable of calling DLL functions, such as C, C++, C# and Python. C++ wrapper classes are also available, making it even easier to use in a C++ environment. Care has been taken not to clash with external code or libraries and the API does not create any limitations on what standard library to use or similar. The API hides a lot of work that would otherwise be needed by anyone integrating Beast with their engine.
Powerful features
The API allows for easy access to Beast's powerful functionality. Everything that you can do with Beast alone, you will be able to do with the Beast API. Current features of the API include:
Programmatic export of geometry, materials, textures, light sources and scene set up. Full support for all Beast-supported light source types, such as area lights, window lights, light ramps, gobos etc.
Ability to set all Beast-specific properties for instances and light sources programmatically.
Programmatic target specification indicating what to bake and how to do it, including texture atlas generation.
Programmatic data retrieval.
Control over the global illumination settings using the same XML configuration files as the Beast command line tool, allowing for an easy transition to using the Beast API. The Beast Integrator's Kit contains code for writing these xml files programmatically.
The cache feature in the API allows you to export your geometry and materials/textures once and then reuse them for all subsequent renders without having to reexport, thus eliminating startup time for renders. Instances sharing the same geometry need only be exported once.
Support for distributed renders using Incredibuild, through the use of distribeast.exe contained in the Beast Integrator's Kit. If you already have Incredibuild with XGE set up, this allows you to get distributed renderings without writing a single extra line of code.
If you would like to affect the development of the API, please let us know what you need by emailing us at support@illuminatelabs.com.
Read more:
Why game developers love Beast
Ready to try it out for yourself?
Test drive the most powerful lighting technology in the industry!