BALL  1.5.0
raytracingRenderer.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 
5 #ifndef BALL_VIEW_RENDERING_RENDERERS_RAYTRACINGRENDERER_H
6 #define BALL_VIEW_RENDERING_RENDERERS_RAYTRACINGRENDERER_H
7 
8 #ifndef BALL_VIEW_RENDERING_RENDERERS_RENDERER_H
10 #endif
11 
12 #ifndef BALL_VIEW_KERNEL_STAGE_H
13 # include <BALL/VIEW/KERNEL/stage.h>
14 #endif
15 
16 #ifndef BALL_VIEW_RENDERING_RENDERERS_BUFFEREDRENDERER_H
18 #endif
19 
20 #include <vector>
21 
22 namespace BALL
23 {
24  namespace VIEW
25  {
26  class Scene;
27 
33  : public BufferedRenderer
34  {
35  public:
36 
37  /*
38  * \link BufferedRenderer \endlink public methods
39  */
40  virtual bool supports(const PixelFormat &format) const;
41 
43  virtual Resolution getSupportedResolution(
44  const Resolution &min, const Resolution &max,
45  const PixelFormat &format) const;
46 
47  /*
48  * Get description of the renderer int textual form
49  */
50  virtual String getRenderer() = 0;
51 
52  virtual void updateMaterialForRepresentation(Representation const* rep) = 0;
53 
64  virtual std::vector<float> intersectRaysWithGeometry(const std::vector<Vector3>& origins,
65  const std::vector<Vector3>& directions);
66 
68  protected:
69 
70  /* BufferedRender protected methods */
71  virtual bool supports(const FrameBufferFormat &format) const;
72  };
73 
74  } // namespace VIEW
75 
76 } // namespace BALL
77 
78 #endif // BALL_VIEW_RENDERING_RAYTRACINGRENDERER_H
BALL::VIEW::Resolution
Definition: renderTarget.h:24
BALL::VIEW::Representation
Definition: representation.h:57
BALL::String
Definition: string.h:56
BALL
Definition: constants.h:12
BALL::VIEW::PixelFormat
Definition: pixelFormat.h:61
BALL::Maths::min
T min(const T &a, const T &b)
Definition: MATHS/common.h:102
renderer.h
stage.h
bufferedRenderer.h
BALL::VIEW::RaytracingRenderer
Definition: raytracingRenderer.h:32
BALL_VIEW_EXPORT
#define BALL_VIEW_EXPORT
Definition: COMMON/global.h:52
BALL::Maths::max
T max(const T &a, const T &b)
Definition: MATHS/common.h:75
BALL::VIEW::FrameBufferFormat
Definition: renderTarget.h:44
BALL::VIEW::BufferedRenderer
Definition: bufferedRenderer.h:29