OGRE (Object-Oriented Graphics Rendering Engine)

Building OGRE

http://ogre.sourceforge.net

Building and Installing OGRE

This release of OGRE builds under the following configurations:

Platform
Compiler
Extra Notes

Windows 95/98/Me/2000/XP

Microsoft Visual C++ 6 SP3+
Microsoft Visual C++.Net
Requires DirectX 8.1b SDK and STLport 4.5.3
You should also download the 3rd-party libraries if you have not done so already.
Linux

gcc (GNU Compiler Collection)

Requires gcc 3.x (or gcc 2.9x with STLport 4.5.3)
Mac OSX
gcc (GNU Compiler Collection)
Requires gcc 3.x

 

Building with Visual C++ 6 or Visual C++.Net

If you're building with Visual C++, follow these steps:

  1. Make sure you have downloaded and installed STLport, version 4.5.3. The instructions for building and installing STLport are in the FAQ
  2. Download and install the DirectX 8.1 SDK.
  3. Download and extract the latest 3rd party libraries distribution (you can find this in the downloads section of the OGRE hompage). See the FAQ for more details.
  4. Open either Ogre.dsw (VC6) or Ogre.sln (VC7)
  5. Check the ordering of your include and library paths (in Tools | Options). The ordering should be STLport, DirectX 8.1, then everything else.
  6. Perform a Batch Build for all the projects. The dependencies should ensure everything is built in the right order.

Building under Linux

If you're building under Linux with gcc, here's a very quick overview:

  1. If you're using gcc version 2.9x, make sure you've installed STLport. However, if you can we advise using gcc 3.2+.
  2. Confirm that you have SDL 1.2.4, Freetype2, DevIL and pkg-config available on your system (if not, install them!)
  3. Change to the 'ogrenew' directory,
  4. If you are installing from CVS, run './bootstrap'
  5. type './configure'. If you're using gxx 2.9x, append ' --stlpath=<path_to_your_stlport>'.
  6. Run 'make' and 'make install'

For more detailed instructions, see the Linux README.

Building under Mac OSX

Please read the Mac README.

Explanation of the Core libraries

OGRE compiles into a number of shared dynamically-linked libraries for use by OGRE applications. It also has a number of optional plugin libraries, which are used to provide rendering system implementations (e.g. an interface to DirectX) and special features (e.g. a BSP-oriented scene manager). Plugins are configured using the 'plugins.cfg' file located in the same folder as your application. Here's an example:

-----snip------------------------------------------------------

PluginFolder=plugins\

# Define particle system plugin
Plugin=Plugin_ParticleFX

-----snip------------------------------------------------------

This simple plugins.cfg tells Ogre to load all plugins from the 'plugins' folder directly under the application's folder, and to load Plugin_ParticleFX (.dll in Windows, .so in Linux), the particle system implementation.

The best way to get started with OGRE is to look at the example applications which are included. These should make it clear to you how easy it is to get an OGRE application running in a surprisingly small amount of code!

Libraries in detail

The libraries are:

OgreMainThe core dll which includes all the basic classes, and abstractions of all the engine components which will be refined per OS platform, rendering API, or per scene type. This library must be on the path or in the current folder to be loaded at startup. The source for this is completely cross-platform.

OgrePlatform

This library implements concrete versions of the classes required to be implemented for each platform. There are currently implementations for Win32 and Linux platforms.

This library is loaded dynamically by the PlatformManager class (in OgreMain) and must either be on the path or in the current folder.

RenderSystem_Direct3D7Plugin library which adds a RenderSystem implementation for Direct3D. This library is loaded dynamically by the plugin architecture described above, and must be located in the folder specified in plugins.cfg. At the moment this uses Direct3D 7 interfaces, because the effort of migrating to v8 was not justified (the major addition, pixel shaders is still in it's infancy in terms of standards so hard to generalise), although more recent use of vertex blending in OGRE may change this stance. OGRE will definitely migrate to Direct3D 9 when released since this appears to be worth the effort, particularly the High-level shader language (HLSL).
RenderSystem_SDLImplementation of the RenderSystem which is based on both SDL and OpenGL. Used for the Linux platform primarily but can be used in Windows and because of the nature of SDL could be used on any platform OGRE is ported to.
Plugin_BspSceneManagerPlugin specialisation of the general-purpose SceneManager for rendering indoor levels based on a BSP tree. Allows Quake3 maps to be loaded and rendered very efficiently whilst exposing none of the complexity to the core Ogre system. This library is loaded dynamically by the plugin architecture described above, and must be located in the folder specified in plugins.cfg.
Plugin_FileSystemArchive plugin that allows OGRE to read the filesystem of the target operating system.
Plugin_ParticleFXPlugin which provides a range of particle system tools such as standard emitters and affectors.

Back to Readme.html

 

Copyright © 2002 by The OGRE Team