The OGRE egg for CHICKEN uses coops to mirror the C++ class hierarchies into Scheme. This page mainly documents which APIs are available in Scheme, and where the names or signatures of procedures differ from the C++ version.
In general, C++ class names in PascalCase
are converted to <snake-case>
identifiers between angle brackets to align with coops conventions. C++ method names in camelCase
are converted to snake-case
and may occasionally to align with Scheme conventions. Occasionally, methods modifying the state of an object destructively may have an exclamation mark (!
) added to the end of their name, and methods returning only a boolean flag may have get
or is
removed from the start of their name but a question mark (?
) added to the end.
Getting Started
Any application initializing OGRE from scratch will probably want to create an instance of <application-context>
, from which it can then obtain a <root>
object with get-root
, and instantiate a <scene-manager>
with create-scene-manager
in turn.
Any interactive application will probably want to define a subclass of <input-listener>
, override some of the event handler methods, create an instance of the class, and install it in the <application-context>
using add-input-listener
.
After calling init-app
on the <application-context>
and setting up a scene, you can start and stop the main event loop using start-rendering
and queue-end-rendering
on the <root>
object. close-app
on the <application-context>
shuts down the application.
A complete example of a very simple OGRE application can be found in the file example.scm.
Supported Classes and Methods
TODO