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

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

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

Public Member Functions

virtual bool supports (const PixelFormat &format) const
 
virtual Resolution getSupportedResolution (const Resolution &min, const Resolution &max, const PixelFormat &format) const throw (BALL::Exception::FormatUnsupported)
 
virtual String getRenderer ()=0
 
virtual void updateMaterialForRepresentation (Representation const *rep)=0
 
virtual std::vector< floatintersectRaysWithGeometry (const std::vector< Vector3 > &origins, const std::vector< Vector3 > &directions)
 
- 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 (Scene &scene)
 
virtual bool init (const Stage &stage, float height, float width)
 
virtual void setLights (bool reset_all=false)
 Set the light sources according to the stage. More...
 
virtual void updateCamera (const Camera *camera=0)
 
virtual void updateBackgroundColor ()
 Update the background color from the stage. More...
 
virtual void setupEnvironmentMap (const QImage &image)
 Setup an environment map. More...
 
virtual void setupStereo (float eye_separation, float focal_length)
 
virtual void useContinuousLoop (bool use_loop)
 
bool isContinuous ()
 
virtual bool hasFPScounter ()
 
virtual double getFPS ()
 
virtual bool finish ()
 
virtual Vector3 mapViewportTo3D (Position x, Position y)
 
virtual Vector2 map3DToViewport (const Vector3 &vec)
 
virtual void pickObjects (Position x1, Position y1, Position x2, Position y2, std::list< GeometricObject * > &objects)
 
virtual void getFrustum (float &near_f, float &far_f, float &left_f, float &right_f, float &top_f, float &bottom_f)
 
virtual bool renderOneRepresentation (const Representation &representation)
 
virtual void bufferRepresentation (const Representation &)
 
virtual void removeRepresentation (const 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 void setSize (float width, float height)
 Set the size of the display. 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...
 

Protected Member Functions

virtual bool supports (const FrameBufferFormat &format) const
 
- Protected Member Functions inherited from BALL::VIEW::BufferedRenderer
virtual void formatUpdated ()=0
 
virtual void prepareBufferedRendering (const Stage &stage)=0
 
virtual void renderToBufferImpl (FrameBufferPtr buffer)=0
 
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...
 

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 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

RaytracingRenderer General interface for renderer, which provides raytracing instead of regular rendering.

Definition at line 32 of file raytracingRenderer.h.

Member Function Documentation

virtual String BALL::VIEW::RaytracingRenderer::getRenderer ( )
pure virtual
virtual Resolution BALL::VIEW::RaytracingRenderer::getSupportedResolution ( const Resolution min,
const Resolution max,
const PixelFormat format 
) const
throw (BALL::Exception::FormatUnsupported
)
virtual

Returns a supported resolution within the given limits. The x resolution will be between min.x and max.x and the y resolution will be between min.y and max.y. The returned resolution must be supported by the renderer with the requested PixelFormat.

Exceptions
Exception::FormatUnsupportedif the FrameBufferFormat is not supported by the renderer

Implements BALL::VIEW::BufferedRenderer.

virtual std::vector<float> BALL::VIEW::RaytracingRenderer::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 in BALL::VIEW::RTfactRenderer.

virtual bool BALL::VIEW::RaytracingRenderer::supports ( const PixelFormat format) const
virtual

Checks if a particular PixelFormat is supported by the renderer.

Implements BALL::VIEW::BufferedRenderer.

virtual bool BALL::VIEW::RaytracingRenderer::supports ( const FrameBufferFormat format) const
protectedvirtual

Checks if a particular FrameBufferFormat is supported by the renderer. This checks the combination of pixel format and resolution. If this returns true, the renderer is able to write to a buffer in this format.

Implements BALL::VIEW::BufferedRenderer.

virtual void BALL::VIEW::RaytracingRenderer::updateMaterialForRepresentation ( Representation const *  )
pure virtual

Updates the material for the current representation

Reimplemented from BALL::VIEW::Renderer.

Implemented in BALL::VIEW::RTfactRenderer.