OGRE (Object-Oriented Graphics Rendering Engine)
Source Distribution README file
Summary
OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented, flexible 3D engine written in C++ designed to make it easier and more intuitive for developers to produce games and demos utilising 3D hardware. The class library abstracts all the details of using the underlying system libraries like Direct3D and OpenGL and provides an interface based on world objects and other intuitive classes.
This distribution contains the full original source code for OGRE and is the most flexible way of obtaining the engine, although it does require you to build it yourself. For people who want a little more convenience, at the expense of a larger download and slightly less flexibility, there is also a precompiled SDK release available for some compilers.
Index Of Contents
A summary of the new and altered features in this release.
A summary of OGRE's main features.
Building the core OGRE libraries
This section covers building the libraries and plugins which make up the core OGRE system.
A descriptive reference to the major parts of the engine such as scripts.
The full OGRE API documentation, as generated from the (heavily!) commented source.
If you're having problems, please consult the FAQ before asking the authors or posting in the forums.
A gold mine of tutorials, tips and code snippets which will help you get up to speed with the engine.
If you are running on Linux, please also see the Linux README which will also assist you in Linux-specific issues. If you are running Mac OSX, read the Mac README.
Contributing
We welcome all contributions to OGRE, be that new plugins, bugfixes, extensions, tutorials, documentation, example applications, artwork or pretty much anything else! If you would like to contribute to the development of OGRE, please read the Contributor License Agreement, and then contact Steve Streeting at steve@ogre3d.org if you agree with the terms. You can also submit patches against the CVS version, go the the web site and click on the 'Submit a Patch' link.
Keeping Up To Date
The best place to keep up to date with developments on OGRE is the Official Web Site. From there you can download the latest source code and documentation. You can choose between keeping bang up to date with CVS (Concurrent Versioning System) or by just getting the regularly released snapshots.
The changes included in this current version can be viewed on the ChangeLog.
Getting Support
Please use our extensive forums if you need help or think you may have found a bug. Go to the main web site and click on the Forums link.
Licensing
OGRE is distributed as free software under the GNU Lesser General Public License (see License.html). In summary this means that you can use OGRE for any purpose, provided that if you make changes to OGRE itself, you must release the changes back into into the public domain under the LGPL and make it clear where you have made the changes. Your own application can be distributed under any license you like. Note that in the case of OGRE, inlining and macros in headers are used purely for performance or platform independence reasons, and including any of OGRE's headers in your projects does not result in a derived work.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA, or go to http://www.gnu.org/copyleft/lesser.txt.
In addition, if you use Ogre it would be nice if you displayed the Ogre logo somewhere in your application (start up or shutdown) for a minimum of 2 seconds. This splash-screen is displayed on the standard Ogre configuration dialog anyway, so if you use that you don't need to do anything extra. The logo is included in the download archive as Examples\Resources\ogrelogo.png.
Some textures distrubuted with Ogre are used with permission of www.The3dStudio.com and may not be re-distributed, sold, or given away except in the form of rendered images, animations, or real time 3D applications when credit is given to www.The3dStudio.com.
The 'Han Solo' TrueType font is © 2000 by Iconian Fonts - Daniel Zadorozny. This font may be freely distributed and is free for all non-commercial uses. This font is e-mailware; that is, if you like it, please e-mail the author at: iconian@aol.com.
Acknowledgements
The authors wish to credit the following for their work which is used in whole or in part in OGRE:
Artwork:
Matt Anderson at www.The3dStudio.com who kindly gave permission for the use of some textures
Jonathan Clark at http://www.jonathanclark.com for some Golgotha textures thet were released to the public domain.
The 'Raptor Assault Gunboat' mesh & texture are © 2002 by Adrian 'cearny' Cearnau.
The robot andn ninja mesh and animation are by Psionic, kindly made available from the CharacterFX site
The 'Razor 2' mesh is by Dennis Verbeek
Skyboxes in cubemapJS.zip are ©Johannes Schlorb, used with permission.
Grass texture is courtesy of Mathias 'freezer' Walch
Included as source (modified as appropriate), and credited appropriately in the source files affected:
Many of the maths/spatial routines are inspired by Dr D.H. Eberley, adapted from the 'free' parts of the Wild Magic engine 0.2 source provided with his book "3D Engine Design" (http://www.wild-magic.com/)
Quake3 loading routines used a lot of information gleaned from Aftershock and Bart Sekura's ROGL
Singleton template class is © Scott Bilas 2000 from Game Programming Gems
Memory manager is based on MMGR © Paul Nettle at Fluid Studios
Source not modified, but linked in as part of the complete OGRE system:
Compression is courtesy of the zlib compression library © 1995-1998 Jean-loup Gailly and Mark Adler (http://www.gzip.org/zlib)
Default image codecs are provided by DevIL.
ZIP archive support is provided by zziplib.
Interactive GUI support is by Crazy Eddies GUI.
SDL is © (too many to list!) (http://www.libsdl.org)
Freetype2 is © The Freetype Team (http://www.freetype.org)
ODE is © Russel Smith (http://q12.org/ode/)
Standalone tools used:
Document generation from C++ source code is by Doxygen © Dimitri van Heesch (http://www.doxygen.org)
Milkshape3D for modelling & exporting (http://www.milkshape3d.com)
And I'd also like to thank the following just for inspiration, ideas, and pretty much anything else:
Scott Meyers for his superb 'Effective C++' series
Everybody who has ever written for Game Developer magazine, but particularly Chris Hecker and Jeff Lander whose work is consistently enlightening
Michael Abrash for his 'Zen' books which inspired me to try graphics programming in the first place
Everybody at SourceForge and VA Linux for providing fantastic facilities for developers with modest budgets
Scott Adams (Dilbert) for providing a humourous distraction when I've had enough for the day
My wife Marie for putting up with all this!
Copyright © 2005 by The OGRE Team