CCS is a camera control system plugin for Ogre, one of the most popular open-source 3D graphics rendering engines. Ogre provides a powerful camera system, supporting both perspective projection and orthographic projection, different styles of rendering, field of view, etc. but its control (or animation) relies completely on the programmer.

Although some users have designed some specific camera systems (3rd person, first person, …) I found interesting the development of a more general camera control system.

It's key features are:

  • Plug&play: it should be easily incorporated to Ogre projects without the need of modifying the underlying architecture of the projects.
  • Expandable: it should be easily customizable, incorporating user defined/contributed camera control modes.

At the moment some basic camera modes have been implemented in CCS (free, orbital, chase, through target, etc.) and they works fine but it should still be considered to be in an early stage.

This project is hosted on SourceForge and its source code is available under the MIT license.

The subversion repository tree has been restructured to facilitate contributions of developers. "trunk" becomes the development branch and tag "0.5.2" contains a copy of it.

I’ve just committed the version 0.5.2 of CCS to the repository. I’ve just made some minor project configuration changes in order to be able to use CCS with OGRE 1.8. No modifications in the code have been made except a small change in the preprocessor definition that has to do with the Ogre version being used. You just need to add the preprocessor definition "CCS_OGRE_1_6" in the case you are using Ogre 1.6. Users who are using Ogre 1.7 or Ogre 1.8 (and hopefully Ogre 1.9) do not need to add any other preprocessor definition to the project configuration.

I've released a new version with some minor changes. You can get the new version through SVN repository.

I've been also trying to find a solution for the jittering problem with the "chase" camera mode. It's experimental and it may not properly work. Set the “fixedStep” parameter to true in the constructor to give it a try.

I have modified both plugin and demo projects configuration files so you can compile them against the prior (1.6) or the current version of Ogre (1.7). You just need to remove the CCS_OGRE_1_7 value in the Preprocessor Definitions in “project properties -> C/C++ -> Preprocessor option” if you are using 1.6. Remember to remove this value for both configuration (debug and release).

The demo is still based on the ExampleApplication framework of 1.6, so you will need to manually put the OgreCore.zip file inside the media/packs directory to be able to run it with 1.7 version. You will also need to add the following line in the resources.cfc file.

Zip=../../media/packs/OgreCore.zip

I’m working in a new demo version that uses the new framework.

Thanks to Mukik182, who has spent some time fixing some errors he have found when using the library on Linux and creating the CMake configuration files, CCS is now platform independent. Many, many thanks Mukik182!

User login