@hackage hogre0.1.4

Haskell binding to a subset of OGRE

hogre

For API documentation, see http://anttisalonen.github.com/hogre

Introduction

hogre is a Haskell FFI binding to a subset of OGRE (www.ogre3d.org).

License

hogre is licensed under MIT. OGRE is licensed under LGPL for versions before 1.7.0 and under MIT for 1.7.0 and later. See the OGRE website for more information.

Installation

  1. Install OGRE C++ libraries on your system. Consult your OS on how to do this. For Debian and Debian-like Linuxes, something like "sudo aptitude install libogre-dev" should do.

  2. Install cgen, a program for generating C++ bindings for Haskell, which is needed by hogre. You can download the cgen source at github (http://github.com/anttisalonen/cgen) or install it from Hackage using cabal.

  3. As hogre generates a C interface to OGRE and compiles it, you need a C++ compiler - on Debian and Debian-like distributions, "sudo aptitude install build-essential" should do.

  4. [Linux/Unix] cabal configure [--user] && cabal build && cabal install. pkg-config is used for determining the correct include and library paths.

Note 1: At least using cabal version 1.8.0.2 the build step is actually unnecessary - hogre will be built during install phase. Note 2: building hogre may take quite a while because of compiling C++. During this cabal will print no output. To see the build progress, use "cabal install -v2".

  1. [Windows] cabal configure [--user] && cabal install [--extra-include-dirs=c:\path\to\include\OGRE] [--extra-lib-dirs=c:\path\to\OGRE\lib\release]. The extra include and library directories must be supplied in case the OGRE headers and libraries are not in the standard include and library search path. Also, the Boost C++ headers must be found in the include path. The OGRE include path must be the first include path supplied.

  2. OGRE does only graphics; for input, audio, networking etc. you need separate libraries. You're free to choose which (if any).

  3. You may want to check out the hogre-examples package for some examples at http://github.com/anttisalonen/hogre-examples.

Known issues and bugs

Currently there is no exception handling, which means incorrect use (e.g. not calling init or trying to access a non-existing entity will lead to an error report and crash. As long as nothing illegal is done, everything's fine. I'm planning on adding exception handling.

I'm not quite sure how portable it is; it should work on any platform OGRE runs on (Linux, Mac OS X, Windows), and should work on any Haskell compiler that does FFI and knows how to invoke a C++ compiler. So far only GHC has been tested. It shouldn't matter which C++ compiler is being used.

Contact

Email: ajsalonen at gmail dot com

  • Installation

    Custom

  • Dependencies (0)

  • Dependents (0)