All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
MergeCP.hh
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012-2014 Open Source Robotics Foundation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16 */
17 #ifndef _MERGE_CP_HH_
18 #define _MERGE_CP_HH_
19 
20 #include <OgreCompositorInstance.h>
21 #include <OgreCustomCompositionPass.h>
22 #include "gazebo/util/system.hh"
23 
24 
25 namespace gazebo
26 {
27  namespace rendering
28  {
30  // composition pass. This is the class that will send the actual render
31  // calls of the spheres (point lights), cones (spotlights) and quads
32  // (directional lights) after the GBuffer has been constructed
34  public Ogre::CompositorInstance::RenderSystemOperation
35  {
36  public: MergeRenderOperation(Ogre::CompositorInstance *_instance,
37  const Ogre::CompositionPass *_pass);
38 
40  public: virtual void execute(Ogre::SceneManager *_sm,
41  Ogre::RenderSystem *_rs);
42 
43  public: virtual ~MergeRenderOperation();
44  };
45 
49  public Ogre::CustomCompositionPass
50  {
52  public: virtual Ogre::CompositorInstance::RenderSystemOperation *
53  CreateOperation(Ogre::CompositorInstance *_instance,
54  const Ogre::CompositionPass *_pass)
55  {
56  return OGRE_NEW MergeRenderOperation(instance, pass);
57  }
58 
59  protected: virtual ~MergeCompositionPass() {}
60  };
61  }
62 }
63 #endif
virtual Ogre::CompositorInstance::RenderSystemOperation * CreateOperation(Ogre::CompositorInstance *_instance, const Ogre::CompositionPass *_pass)
Definition: MergeCP.hh:53
virtual ~MergeCompositionPass()
Definition: MergeCP.hh:59
The custom composition pass that is used for rendering the light geometry.
Definition: MergeCP.hh:48
The render operation that will be called each frame in the custom.
Definition: MergeCP.hh:33
#define GAZEBO_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system.hh:48