2016-01-17 00:10:18 +00:00
|
|
|
<p align="center">
|
2016-03-04 19:20:16 +00:00
|
|
|
<a href="http://axiodl.github.io/boo/mascot_big.png">
|
|
|
|
<img src="http://axiodl.github.io/boo/mascot.png" alt="Boo Mascot" width="256" height="256"/><br><em>Charlie</em>
|
2016-01-18 05:44:10 +00:00
|
|
|
</a>
|
2016-01-17 00:10:18 +00:00
|
|
|
</p>
|
2016-01-17 00:05:16 +00:00
|
|
|
|
2016-01-17 00:11:57 +00:00
|
|
|
### libBoo
|
|
|
|
|
2015-11-11 23:29:25 +00:00
|
|
|
**libBoo** is a cross-platform windowing and event manager similar to
|
|
|
|
SDL and SFML, with additional 3D rendering functionality.
|
|
|
|
|
2016-01-18 07:20:26 +00:00
|
|
|
The exclusive focus of libBoo is 2D/3D rendering using polygon-rasterization
|
2015-11-11 23:29:25 +00:00
|
|
|
APIs like OpenGL or Direct3D. It exposes a unified command-queue API for
|
|
|
|
calling the underlying graphics API.
|
|
|
|
|
|
|
|
The only per-platform responsibility of the client code is providing the
|
|
|
|
shaders' source. Drawing, resource-management and state-switching are
|
|
|
|
performed using the unified API; these may be written once for all platforms.
|
|
|
|
|
2015-11-26 18:41:11 +00:00
|
|
|
Client code is entered via the `appMain` method supplied in a callback object.
|
|
|
|
This code executes on a dedicated thread with graphics command context available.
|
|
|
|
The API may be used to synchronize loops on the client thread with the display
|
|
|
|
refresh-rate.
|
|
|
|
|
2015-11-11 23:29:25 +00:00
|
|
|
#### Supported Backends
|
|
|
|
|
|
|
|
* OpenGL 3.3+
|
|
|
|
* Direct3D 11/12
|
2015-11-26 18:41:11 +00:00
|
|
|
* Metal 1.1 (OS X 10.11 only for now, iOS coming soon)
|
|
|
|
* **[Coming soon]** OpenGL ES 3.0
|
2015-11-11 23:29:25 +00:00
|
|
|
* **[Coming soon]** Vulkan
|