ogre

OGRE Bindings
Login

OGRE Bindings

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