Ogre supports many different platforms, and because of this, there are a lot of different packages we can download. Ogre 3D has several builds for Windows, one for MacOSX, and one Ubuntu package. There is also a package for MinGW and for the iPhone. If you like, you can download the source code and build Ogre 3D by yourself. This chapter will focus on the Windows pre-build SDK and how to configure your development environment. If you want to use another operating system, you can look at the Ogre 3D Wiki, which can be found at http://www.ogre3d.org/wiki. The wiki contains detailed tutorials on how to set up your development environment for many different platforms. The rest of the book is completely platform independent, so if you want to use another development system, feel free to do so. It won't affect the content of this book besides the configuration and conventions of your build environment.
Exploring the SDK
Before we begin building the samples which come with the SDK, let's take a look at the SDK. We will look at the structure the SDK has on a Windows platform. On Linux or MacOS the structure might look different. First, we open the bin
folder. There we will see two folders, namely, debug
and release
. The same is true for the lib
directory. The reason is that the Ogre 3D SDK comes with debug and release builds of its libraries and dynamic-linked/shared libraries. This makes it possible to use the debug build during development, so that we can debug our project. When we finish the project, we link our project against the release build to get the full performance of Ogre 3D.
When we open either the debug
or release
folder, we will see many dll
files, some cfg
files, and two executables (exe). The executables are for content creators to update their content files to the new Ogre version, and therefore are not relevant for us.
The OgreMain.dll
is the most important DLL. It is the compiled Ogre 3D source code we will load later. All DLLs with Plugin_
at the start of their name are Ogre 3D plugins we can use with Ogre 3D. Ogre 3D plugins are dynamic libraries, which add new functionality to Ogre 3D using the interfaces Ogre 3D offers. This can be practically anything, but often it is used to add features like better particle systems or new scene managers. What these things are will be discussed later. The Ogre 3D community has created many more plugins, most of which can be found in the wiki. The SDK simply includes the most generally used plugins. Later in this book, we will learn how to use some of them. The DLLs with RenderSystem_
at the start of their name are, surely not surprisingly, wrappers for different render systems that Ogre 3D supports. In this case, these are Direct3D9 and OpenGL. Additional to these two systems, Ogre 3D also has a Direct3D10, Direct3D11, and OpenGL ES(OpenGL for Embedded System) render system.
Besides the executables and the DLLs, we have the cfg
files. cfg
files are config files that Ogre 3D can load at startup. Plugins.cfg
simply lists all plugins Ogre 3D should load at startup. These are typically the Direct3D and OpenGL render systems and some additional SceneManagers. quakemap.cfg
is a config file needed when loading a level in the Quake3
map format. We don't need this file, but a sample does.
resources.cfg
contains a list of all resources, like a 3D mesh, a texture, or an animation, which Ogre 3D should load during startup. Ogre 3D can load resources from the file system or from a ZIP file. When we look at resources.cfg
, we will see the following lines:
Zip=../../media/packs/SdkTrays.zip
FileSystem=../../media/thumbnails
Zip=
means that the resource is in a ZIP file and FileSystem=
means that we want to load the contents of a folder. resources.cfg
makes it easy to load new resources or change the path to resources, so it is often used to load resources, especially by the Ogre samples. Speaking of samples, the last cfg
file in the folder is samples.cfg
. We don't need to use this cfg
file. Again, it's a simple list with all the Ogre samples to load for the SampleBrowser
. But we don't have a SampleBrowser
yet, so let's build one.
The Ogre 3D samples
Ogre 3D comes with a lot of samples, which show all the kinds of different render effects and techniques Ogre 3D can do. Before we start working on our application, we will take a look at the samples to get a first impression of Ogre's capabilities.
Time for action building the Ogre 3D samples
To get a first impression of what Ogre 3D can do, we will build the samples and take a look at them.
- Go to the
Ogre3D
folder. - Open the
Ogre3d.sln
solution file. - Right-click on the solution and select
Build Solution
. - Visual Studio should now start building the samples. This might take some time, so get yourself a cup of tea until the compile process is finished.
- If everything went well, go into the
Ogre3D/bin
folder. - Execute the
SampleBrowser.exe
. - You should see the following on your screen:
- Try the different samples to see all the nice features Ogre 3D offers.
What just happened?
We built the Ogre 3D samples using our own Ogre 3D SDK. After this, we are sure to have a working copy of Ogre 3D.