Classes | Public Types | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes
rve_render_server::RenderTarget Class Reference

#include <render_target.h>

Inheritance diagram for rve_render_server::RenderTarget:
Inheritance graph
[legend]

List of all members.

Classes

struct  MRT
struct  PickRequest

Public Types

typedef boost::function< void(V_PickRenderValues &)> PickCallback
enum  Type { Texture, Window }

Public Member Functions

void attachCamera (Camera *cam)
virtual void beginRender ()
ScreenRectcreateScreenRect (const rve_common::UUID &id, uint32_t zorder, float x0, float y0, float x1, float y1)
void destroyScreenRect (const rve_common::UUID &id)
virtual void finishRender ()
CameragetCamera ()
uint32_t getHeight ()
const rve_common::UUIDgetID ()
const
rve_msgs::RenderTargetFrameStats
getLastFrameStats ()
Ogre::RenderTarget * getOgreRenderTarget ()
ScreenRectgetScreenRect (const rve_common::UUID &id)
virtual Type getTargetType ()=0
uint32_t getWidth ()
void pick (uint32_t x0, uint32_t y0, uint32_t x1, uint32_t y1, const PickCallback &cb)
bool renderNeeded ()
 RenderTarget (const rve_common::UUID &id, Renderer *rend, uint32_t width, uint32_t height)
void requestRender ()
virtual void resize (uint32_t width, uint32_t height)=0
virtual ~RenderTarget ()

Protected Member Functions

void setTarget (Ogre::RenderTarget *target)

Private Types

typedef boost::shared_ptr
< RenderTargetToROSImage
RenderTargetToROSImagePtr
typedef std::vector
< Ogre::RenderTexture * > 
V_OgreRenderTexture
typedef std::vector
< Ogre::TexturePtr > 
V_OgreTexture
typedef std::vector< PickRequestV_PickRequest
typedef std::vector
< RenderTargetToROSImagePtr
V_RenderTargetToROSImage
typedef std::vector< ScreenRect * > V_ScreenRect

Private Member Functions

void createMRT (MRT &mrt, const std::string &name, const std::string &scheme, uint32_t format)
void createResources ()
void destroyMRT (MRT &mrt)
void destroyResources ()
void pick (const PickRequest &pr)
void processPickRequests ()
void setupRT (Ogre::RenderTarget *rt)
void updatePickBuffer ()

Private Attributes

Cameracam_
Ogre::RenderTarget * final_target_
RenderTargetToROSImagePtr final_target_out_
MRT gbuffer_target_
uint32_t height_
rve_common::UUID id_
V_PickRequest new_pick_requests_
boost::shared_array< uint32_t > pick_buffer_
bool pick_buffer_valid_
V_PickRequest pick_requests_
Ogre::PlaneBoundedVolumeListSceneQuery * pick_scene_query_
bool pick_target_updated_this_frame_
bool picked_
MRT picking_target_
bool recreate_resources_
Ogre::MaterialPtr rect_material_
bool render_in_progress_
bool render_needed_
Rendererrenderer_
Ogre::Rectangle2D * screen_rect_
V_ScreenRect screen_rects_
rve_msgs::RenderTargetFrameStats stats_
MRT weighted_average_alpha_target_
uint32_t width_

Detailed Description

Definition at line 64 of file render_target.h.


Member Typedef Documentation

Definition at line 83 of file render_target.h.

Definition at line 134 of file render_target.h.

typedef std::vector<Ogre::RenderTexture*> rve_render_server::RenderTarget::V_OgreRenderTexture [private]

Definition at line 132 of file render_target.h.

typedef std::vector<Ogre::TexturePtr> rve_render_server::RenderTarget::V_OgreTexture [private]

Definition at line 133 of file render_target.h.

Definition at line 130 of file render_target.h.

Definition at line 135 of file render_target.h.

Definition at line 185 of file render_target.h.


Member Enumeration Documentation

Enumerator:
Texture 
Window 

Definition at line 67 of file render_target.h.


Constructor & Destructor Documentation

rve_render_server::RenderTarget::RenderTarget ( const rve_common::UUID id,
Renderer rend,
uint32_t  width,
uint32_t  height 
)

Definition at line 129 of file render_target.cpp.

Definition at line 160 of file render_target.cpp.


Member Function Documentation

Definition at line 302 of file render_target.cpp.

Reimplemented in rve_render_server::RenderTexture.

Definition at line 354 of file render_target.cpp.

void rve_render_server::RenderTarget::createMRT ( MRT mrt,
const std::string &  name,
const std::string &  scheme,
uint32_t  format 
) [private]

Definition at line 222 of file render_target.cpp.

Definition at line 256 of file render_target.cpp.

ScreenRect * rve_render_server::RenderTarget::createScreenRect ( const rve_common::UUID id,
uint32_t  zorder,
float  x0,
float  y0,
float  x1,
float  y1 
)

Definition at line 648 of file render_target.cpp.

Definition at line 191 of file render_target.cpp.

Definition at line 210 of file render_target.cpp.

Definition at line 673 of file render_target.cpp.

Definition at line 509 of file render_target.cpp.

Definition at line 78 of file render_target.h.

Definition at line 96 of file render_target.h.

Definition at line 289 of file render_target.cpp.

Definition at line 81 of file render_target.h.

Ogre::RenderTarget* rve_render_server::RenderTarget::getOgreRenderTarget ( ) [inline]

Definition at line 80 of file render_target.h.

Definition at line 662 of file render_target.cpp.

Definition at line 95 of file render_target.h.

void rve_render_server::RenderTarget::pick ( uint32_t  x0,
uint32_t  y0,
uint32_t  x1,
uint32_t  y1,
const PickCallback cb 
)

Definition at line 605 of file render_target.cpp.

void rve_render_server::RenderTarget::pick ( const PickRequest pr) [private]

Definition at line 545 of file render_target.cpp.

Definition at line 637 of file render_target.cpp.

Definition at line 86 of file render_target.h.

Definition at line 349 of file render_target.cpp.

void rve_render_server::RenderTarget::resize ( uint32_t  width,
uint32_t  height 
) [pure virtual]
void rve_render_server::RenderTarget::setTarget ( Ogre::RenderTarget *  target) [protected]

Definition at line 180 of file render_target.cpp.

void rve_render_server::RenderTarget::setupRT ( Ogre::RenderTarget *  rt) [private]

Definition at line 274 of file render_target.cpp.

Definition at line 583 of file render_target.cpp.


Member Data Documentation

Definition at line 164 of file render_target.h.

Ogre::RenderTarget* rve_render_server::RenderTarget::final_target_ [private]

Definition at line 161 of file render_target.h.

Definition at line 162 of file render_target.h.

Definition at line 171 of file render_target.h.

Definition at line 166 of file render_target.h.

Definition at line 160 of file render_target.h.

Definition at line 180 of file render_target.h.

boost::shared_array<uint32_t> rve_render_server::RenderTarget::pick_buffer_ [private]

Definition at line 178 of file render_target.h.

Definition at line 177 of file render_target.h.

Definition at line 179 of file render_target.h.

Ogre::PlaneBoundedVolumeListSceneQuery* rve_render_server::RenderTarget::pick_scene_query_ [private]

Definition at line 181 of file render_target.h.

Definition at line 176 of file render_target.h.

Definition at line 174 of file render_target.h.

Definition at line 175 of file render_target.h.

Definition at line 167 of file render_target.h.

Definition at line 169 of file render_target.h.

Definition at line 189 of file render_target.h.

Definition at line 188 of file render_target.h.

Definition at line 163 of file render_target.h.

Ogre::Rectangle2D* rve_render_server::RenderTarget::screen_rect_ [private]

Definition at line 168 of file render_target.h.

Definition at line 186 of file render_target.h.

Definition at line 183 of file render_target.h.

Definition at line 172 of file render_target.h.

Definition at line 165 of file render_target.h.


The documentation for this class was generated from the following files:


rve_render_server
Author(s): Josh Faust
autogenerated on Wed Dec 11 2013 14:31:15