BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Public Member Functions | List of all members
BALL::VIEW::RTfactRenderer Class Reference

#include <BALL/VIEW/RENDERING/RENDERERS/rtfactRenderer.h>

Inheritance diagram for BALL::VIEW::RTfactRenderer:
BALL::VIEW::RaytracingRenderer BALL::VIEW::BufferedRenderer BALL::VIEW::Renderer

Classes

class  RTfactData
 

Public Member Functions

 RTfactRenderer ()
 Default Constructor. More...
 
virtual ~RTfactRenderer ()
 Destructor. More...
 
virtual bool hasFPScounter ()
 
virtual double getFPS ()
 
virtual bool init (Scene &scene)
 
virtual String getRenderer ()
 
virtual void formatUpdated ()
 
virtual GeometricObjectpickObject (Position x, Position y)
 
virtual void pickObjects (Position x1, Position y1, Position x2, Position y2, std::list< GeometricObject * > &objects)
 
virtual void setSize (float width, float height)
 Set the size of the display. More...
 
virtual void setupStereo (float eye_separation, float focal_length)
 
virtual void getFrustum (float &near_f, float &far_f, float &left_f, float &right_f, float &top_f, float &bottom_f)
 
virtual void setFrustum (float near_f, float far_f, float left_f, float right_f, float top_f, float bottom_f)
 
virtual void prepareBufferedRendering (const Stage &stage)
 
virtual void renderToBufferImpl (FrameBufferPtr buffer)
 
virtual void useContinuousLoop (bool use_loop)
 
void bufferRepresentation (const Representation &rep)
 
void bufferRepresentationDynamic (const Representation &rep)
 
void removeRepresentation (const Representation &rep)
 
void setLights (bool reset_all=false)
 Set the light sources according to the stage. More...
 
void updateCamera (const Camera *camera=0)
 
void updateBackgroundColor ()
 Update the background color from the stage. More...
 
void setupEnvironmentMap (const QImage &image)
 Setup an environment map. More...
 
void updateMaterialForRepresentation (Representation const *rep)
 
void transformTube (const TwoColoredTube &tube, float *trafo)
 
void transformLine (const TwoColoredLine &line, float *trafo)
 
void updateMaterialFromStage (RTpieCpp::AppearanceHandle &material)
 
void convertMaterial (Stage::Material const &rt_material, RTpieCpp::AppearanceHandle &material)
 
virtual std::vector< floatintersectRaysWithGeometry (const std::vector< Vector3 > &origins, const std::vector< Vector3 > &directions)
 
- Public Member Functions inherited from BALL::VIEW::RaytracingRenderer
virtual bool supports (const PixelFormat &format) const
 
virtual Resolution getSupportedResolution (const Resolution &min, const Resolution &max, const PixelFormat &format) const throw (BALL::Exception::FormatUnsupported)
 
- Public Member Functions inherited from BALL::VIEW::BufferedRenderer
 BufferedRenderer ()
 
bool setFrameBufferFormat (const FrameBufferFormat &format)
 
void renderToBuffer (RenderTarget *renderTarget, const Stage &stage)
 
virtual void setOffset (Size offset)
 
virtual void setStride (Size stride)
 
- Public Member Functions inherited from BALL::VIEW::Renderer
 Renderer ()
 
 Renderer (const Renderer &renderer)
 
virtual ~Renderer ()
 
virtual void clear ()
 
virtual bool init (const Stage &stage, float height, float width)
 
bool isContinuous ()
 
virtual bool finish ()
 
virtual Vector3 mapViewportTo3D (Position x, Position y)
 
virtual Vector2 map3DToViewport (const Vector3 &vec)
 
virtual bool renderOneRepresentation (const Representation &representation)
 
virtual const StagegetStage () const
 
virtual void setStage (const Stage &stage)
 
bool hasStage () const
 Test if a Stage was assigned to the Renderer. More...
 
virtual float getWidth () const
 
virtual float getHeight () const
 
virtual void setPreviewMode (bool show_preview)
 
virtual void showLightSources (bool show_light_sources)
 
virtual void renderRuler ()
 
virtual void setStereoMode (StereoMode state)
 
virtual StereoMode getStereoMode () const
 
virtual void setStereoFrustumConversion (int width_factor, int height_factor)
 
bool operator== (const Renderer &) const
 
virtual void render_ (const GeometricObject *object)
 Wrapper for the renderering of special GeometricObjects. More...
 

Additional Inherited Members

- Public Types inherited from BALL::VIEW::Renderer
enum  StereoMode {
  NO_STEREO = 0, ACTIVE_STEREO, DUAL_VIEW_STEREO, DUAL_VIEW_DIFFERENT_DISPLAY_STEREO,
  TOP_BOTTOM_STEREO, INTERLACED_STEREO
}
 
- Protected Member Functions inherited from BALL::VIEW::RaytracingRenderer
virtual bool supports (const FrameBufferFormat &format) const
 
- Protected Member Functions inherited from BALL::VIEW::BufferedRenderer
const FrameBufferFormatgetFrameBufferFormat () const
 
- Protected Member Functions inherited from BALL::VIEW::Renderer
virtual void renderClippingPlane_ (const ClippingPlane &)
 
virtual void renderLabel_ (const Label &)
 
virtual void renderLine_ (const Line &)
 Render a line. More...
 
virtual void renderMultiLine_ (const MultiLine &)
 Render an illuminated line. More...
 
virtual void renderMesh_ (const Mesh &)
 Render a surface mesh. More...
 
virtual void renderPoint_ (const Point &)
 Render a single point. More...
 
virtual void renderBox_ (const Box &)
 Render a box. More...
 
virtual void renderSimpleBox_ (const SimpleBox &)
 Render a simple box (parallel to the axes) More...
 
virtual void renderSphere_ (const Sphere &)
 Render a sphere. More...
 
virtual void renderDisc_ (const Disc &)
 Render a disc. More...
 
virtual void renderTube_ (const Tube &)
 Render a tube. More...
 
virtual void renderTwoColoredLine_ (const TwoColoredLine &)
 Render a line with two colors. More...
 
virtual void renderTwoColoredTube_ (const TwoColoredTube &)
 Render a tube with two colors. More...
 
virtual void renderGridVisualisation_ (const GridVisualisation &)
 Render a grid. More...
 
virtual void renderQuadMesh_ (const QuadMesh &)
 Render a quad mesh. More...
 
- Protected Attributes inherited from BALL::VIEW::BufferedRenderer
Size offset_
 
Size stride_
 
- Protected Attributes inherited from BALL::VIEW::Renderer
Scenescene_
 
const Stagestage_
 
float width_
 
float height_
 
bool show_preview_
 
float volume_width_
 
bool show_light_sources_
 
Camera camera_
 
Vector3 camera_offset_
 
bool use_continuous_loop_
 
Size stereo_frustum_conversion_width_
 
Size stereo_frustum_conversion_height_
 
StereoMode stereo_
 

Detailed Description

RTfactRenderer Provides ray tracing through RTfact-RTRemote

Definition at line 70 of file rtfactRenderer.h.

Constructor & Destructor Documentation

BALL::VIEW::RTfactRenderer::RTfactRenderer ( )
inline

Default Constructor.

Definition at line 110 of file rtfactRenderer.h.

virtual BALL::VIEW::RTfactRenderer::~RTfactRenderer ( )
inlinevirtual

Destructor.

Definition at line 117 of file rtfactRenderer.h.

Member Function Documentation

void BALL::VIEW::RTfactRenderer::bufferRepresentation ( const Representation )
virtual

Buffer a Representation for later rendering.

Reimplemented from BALL::VIEW::Renderer.

void BALL::VIEW::RTfactRenderer::bufferRepresentationDynamic ( const Representation rep)
void BALL::VIEW::RTfactRenderer::convertMaterial ( Stage::Material const &  rt_material,
RTpieCpp::AppearanceHandle &  material 
)
virtual void BALL::VIEW::RTfactRenderer::formatUpdated ( )
inlinevirtual

This is called once the FrameBufferFormat has been set so the renderer can perform any initialization steps that are needed.

Implements BALL::VIEW::BufferedRenderer.

Definition at line 135 of file rtfactRenderer.h.

virtual double BALL::VIEW::RTfactRenderer::getFPS ( )
virtual

Internal renderer FPS if available, otherwise returns 0.

Reimplemented from BALL::VIEW::Renderer.

virtual void BALL::VIEW::RTfactRenderer::getFrustum ( float near_f,
float far_f,
float left_f,
float right_f,
float top_f,
float bottom_f 
)
virtual

Return the frustum used by this renderer.

Reimplemented from BALL::VIEW::Renderer.

virtual String BALL::VIEW::RTfactRenderer::getRenderer ( )
inlinevirtual

Implements BALL::VIEW::RaytracingRenderer.

Definition at line 130 of file rtfactRenderer.h.

virtual bool BALL::VIEW::RTfactRenderer::hasFPScounter ( )
virtual

Whether renderer has its own FPS counter.

Reimplemented from BALL::VIEW::Renderer.

virtual bool BALL::VIEW::RTfactRenderer::init ( Scene scene)
virtual

Initialization routines. This method is called by Scene::initializeGL.

Reimplemented from BALL::VIEW::Renderer.

virtual std::vector<float> BALL::VIEW::RTfactRenderer::intersectRaysWithGeometry ( const std::vector< Vector3 > &  origins,
const std::vector< Vector3 > &  directions 
)
virtual

Raytracing-related functionality Intersect a set of rays with the geometry buffered by this renderer.

This function will intersect the rays

origins[i] + l * directions[i]

with the geometry that has been buffered by this renderer previously.

Reimplemented from BALL::VIEW::RaytracingRenderer.

virtual GeometricObject* BALL::VIEW::RTfactRenderer::pickObject ( Position  x,
Position  y 
)
virtual
virtual void BALL::VIEW::RTfactRenderer::pickObjects ( Position  x1,
Position  y1,
Position  x2,
Position  y2,
std::list< GeometricObject * > &  objects 
)
virtual

Pick all objects in the given screen rectangle.

Reimplemented from BALL::VIEW::Renderer.

virtual void BALL::VIEW::RTfactRenderer::prepareBufferedRendering ( const Stage stage)
virtual

Prepare for the rendering, taking into account settings in Stage, eg. Camera, Lights, Background colors, etc.

Implements BALL::VIEW::BufferedRenderer.

void BALL::VIEW::RTfactRenderer::removeRepresentation ( const Representation )
virtual

Remove a representation from the buffer.

Reimplemented from BALL::VIEW::Renderer.

virtual void BALL::VIEW::RTfactRenderer::renderToBufferImpl ( FrameBufferPtr  buffer)
virtual

Render to the frame buffer.

Precondition
The frame buffer's format is the one stored in bufferFormat and prepareBufferedRendering() has been called.

Implements BALL::VIEW::BufferedRenderer.

virtual void BALL::VIEW::RTfactRenderer::setFrustum ( float  near_f,
float  far_f,
float  left_f,
float  right_f,
float  top_f,
float  bottom_f 
)
virtual
void BALL::VIEW::RTfactRenderer::setLights ( bool  reset_all = false)
virtual

Set the light sources according to the stage.

Reimplemented from BALL::VIEW::Renderer.

virtual void BALL::VIEW::RTfactRenderer::setSize ( float  width,
float  height 
)
virtual

Set the size of the display.

Reimplemented from BALL::VIEW::Renderer.

void BALL::VIEW::RTfactRenderer::setupEnvironmentMap ( const QImage &  image)
virtual

Setup an environment map.

Reimplemented from BALL::VIEW::Renderer.

virtual void BALL::VIEW::RTfactRenderer::setupStereo ( float  eye_separation,
float  focal_length 
)
virtual

Sets this renderer as a part of a stereo setup.

eye_separation denotes the distance along the right vector used by this "eye".

Reimplemented from BALL::VIEW::Renderer.

void BALL::VIEW::RTfactRenderer::transformLine ( const TwoColoredLine line,
float trafo 
)
void BALL::VIEW::RTfactRenderer::transformTube ( const TwoColoredTube tube,
float trafo 
)
void BALL::VIEW::RTfactRenderer::updateBackgroundColor ( )
virtual

Update the background color from the stage.

Reimplemented from BALL::VIEW::Renderer.

void BALL::VIEW::RTfactRenderer::updateCamera ( const Camera camera = 0)
virtual

Update the camera position either from a given Camera, or from the default Stage.

Reimplemented from BALL::VIEW::Renderer.

void BALL::VIEW::RTfactRenderer::updateMaterialForRepresentation ( Representation const *  )
virtual

Updates the material for the current representation

Implements BALL::VIEW::RaytracingRenderer.

void BALL::VIEW::RTfactRenderer::updateMaterialFromStage ( RTpieCpp::AppearanceHandle &  material)
virtual void BALL::VIEW::RTfactRenderer::useContinuousLoop ( bool  use_loop)
virtual

Decide between event based and (threaded) continuous loop rendering.

Reimplemented from BALL::VIEW::Renderer.