Book Image

OGRE 3D 1.7 Application Development Cookbook

By : Ilya Grinblat, Alex Peterson
Book Image

OGRE 3D 1.7 Application Development Cookbook

By: Ilya Grinblat, Alex Peterson

Overview of this book

<p>OGRE (Object-oriented Graphics Rendering Engine) 3D is a scene-oriented, flexible 3D engine written in C++ designed to make it easier and more intuitive for developers to produce applications utilizing hardware-accelerated 3D graphics.</p> <p>Graphics application development with OGRE 3D may start small, but may soon balloon into monstrously complex beasts, which just can't be all understood at once. This book will help you to easily develop applications using OGRE 3D.<br /><br /><i>OGRE 3D 1.7 Application Development Cookbook</i> will help solve common problems you may face while developing 3D graphics applications using OGRE 3D. You will learn to create various types of Windows applications, scene querying, and visibility analysis among other things from this book.</p> <p>This book includes some advanced recipes involved in developing applications with OGRE 3D. Each recipe deals with adding some specific feature to your application.</p> <p>The book first covers creating various types of Windows applications available for the OGRE developer, creating plugins for customization, and OGRE resources management. You will then learn to efficiently implement various input methods for OGRE applications followed by managing scenes and objects impressively. Lights, special effects, and materials that provide enhancing effects are covered next. Further, character motion and collision detection are included followed by animations and multimedia, which help in producing a thorough professional look. Finally, we wrap it up with scene queries and views.</p> <p><i>OGRE 3D 1.7 Application Development Cookbook</i> provides a great reference for your OGRE 3D application development needs and helps you to deliver impressive results more quickly and with greater ease.</p>
Table of Contents (15 chapters)
OGRE 3D 1.7 Application Development Cookbook
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface

Creating a mirror


One common use of render to texture is for creating flat-mirrored surfaces in 3D applications. In this recipe, we'll show you how to create a mirror, by extending on the techniques presented in the Render to texture recipe.

Getting ready

To follow this recipe, open the solution located in the Recipes/Chapter08 folder in the code bundle available on the Packt website.

How to do it...

  1. 1. First, create a new Ogre MFC application named Mirror, by following the Creating an MFC Ogre application recipe from Chapter 1.

  2. 2. Create a class called MirrorListener that derives from Ogre::RenderTargetListener. We will use this listener class to hide the mirror entity when the Render To Texture (RTT) camera renders the scene, and then unhide the mirror when the main camera renders the scene.

    class MirrorListener : public Ogre::RenderTargetListener
    {
      public:
    
        MirrorListener():Ogre::RenderTargetListener()
        {
          m_PlaneEntity = NULL;
        }
    
        void preRenderTargetUpdate(const Ogre...