1 #ifndef R2C2_3D_VIEW_H_
2 #define R2C2_3D_VIEW_H_
4 #include <msp/gl/ambientocclusion.h>
5 #include <msp/gl/camera.h>
6 #include <msp/gl/colorcurve.h>
7 #include <msp/gl/pipeline.h>
8 #include <msp/gl/shadowmap.h>
15 class View3D: public sigc::trackable
21 Msp::GL::Camera camera;
22 Msp::GL::Pipeline pipeline;
24 Msp::GL::ShadowMap shadow;
25 Msp::GL::ColorCurve *colorcurve;
26 Msp::GL::AmbientOcclusion *ambient_occlusion;
29 View3D(Layout3D &, unsigned, unsigned);
32 Layout3D &get_layout() const { return layout; }
33 Msp::GL::Camera &get_camera() { return camera; }
34 Msp::GL::Pipeline &get_pipeline() { return pipeline; }
36 Ray create_ray(int, int) const;
37 Ray create_ray(float, float) const;
40 void compute_bounds(Vector &, Vector &);
42 void view_all(bool = false);
47 void update_shadow_area();