gramods
Loading...
Searching...
No Matches
Renderer.hh
1
2#ifndef GRAMODS_GRAPHICS_RENDERER
3#define GRAMODS_GRAPHICS_RENDERER
4
5#include <gmGraphics/config.hh>
6
7#include <gmGraphics/Node.hh>
8#include <gmGraphics/Camera.hh>
9
10#include <set>
11
12BEGIN_NAMESPACE_GMGRAPHICS;
13
17class Renderer : public gmGraphics::Node {
18
19public:
20
27 virtual void render(const Camera &camera, const Eigen::Affine3f &Mm) = 0;
28
35 virtual void getNearFar(const Camera &camera,
36 const Eigen::Affine3f &Mm,
37 float &near,
38 float &far) = 0;
39
44 void addEye(Eye e);
45
46 GM_OFI_DECLARE;
47
48protected:
53 std::set<Eye> eyes;
54};
55
56END_NAMESPACE_GMGRAPHICS;
57
58#endif
The base of graphics Camera implementations.
Definition Camera.hh:19
The scenegraph node base.
Definition Node.hh:20
The base of graphics Renderer implementations.
Definition Renderer.hh:17
std::set< Eye > eyes
Eyes to render.
Definition Renderer.hh:53
virtual void render(const Camera &camera, const Eigen::Affine3f &Mm)=0
Performs rendering of 3D objects in the scene.
virtual void getNearFar(const Camera &camera, const Eigen::Affine3f &Mm, float &near, float &far)=0
Extracts the currently optimal near and far plane distances.
An indexed eye that can be rendered.
Definition Eye.hh:20