BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 
42  virtual Resolution getSupportedResolution(
43  const Resolution &min, const Resolution &max,
44  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
#define BALL_VIEW_EXPORT
Definition: COMMON/global.h:52
T max(const T &a, const T &b)
Definition: MATHS/common.h:79
T min(const T &a, const T &b)
Definition: MATHS/common.h:106