Basic Tutorial Introduction        

Introduction

This is where you should first start when learning Ogre. This tutorial series will explain the core elements of an Ogre scene starting from the very basics. The only requirement is an understanding of writing and compiling c++ programs. A basic knowledge of mathematics will also be very helpful, but is not necessary.

Every tutorial will begin with an introduction and a screenshot to demonstrate the final product. Each tutorial will also provide links to the completed source code.

Setup

IMPORTANT: This framework is meant to be used with old releases of Ogre. For Ogre 1.10+, rather use OgreBites::ApplicationContext.


Before you can begin this series, you have to set up a basic Ogre project. If you need help with this, then you can read Setting Up An Application. It has setup information for each OS, a number of different IDEs, and a section about building with cmake. It also has a section that covers the framework we will be using for the tutorial.

To start this series, you will need four files that can be downloaded here. Copy these files into your project (make sure to get the files that match your version/OS):

BaseApplication.h
BaseApplication.cpp
TutorialApplication.h
TutorialApplication.cpp

Compile and run your application with these new files included. You should see the overlay displaying information about the rendering statistics. If you're still having trouble, then refer to the Troubleshooting section of Setting Up An Application.

first_visual.png

Notes

When the tutorial shifts to a new method it will always be mentioned explicitly. For example, you will see: "Add the following to the beginning of createScene:" If a new code section is reached and nothing has been mentioned, then you can assume the code continues exactly where the last section left off. If you spot any cases where this isn't true, then please leave a comment or make the change yourself.

During these tutorials, when a block of code (i.e. something between brackets { }) is broken up over more than one code section, a ^ will be used as a reminder that the code is continuing an unfinished block. This should not be included in your project. It is soley for formatting.

An example:

if (skyIsBlue)
{
  sunshineOnMyFace = true;

Later...

^ if (seeThunderCloud)
  {
    takeCover();
  }
}

These should be read as one single if statement.

Next

Basic Tutorial 1