#ifndef R2C2_3D_VIEW_H_
#define R2C2_3D_VIEW_H_
+#include <msp/gl/ambientocclusion.h>
#include <msp/gl/camera.h>
+#include <msp/gl/colorcurve.h>
#include <msp/gl/pipeline.h>
+#include <msp/gl/shadowmap.h>
#include "sky.h"
namespace R2C2 {
Msp::GL::Camera camera;
Msp::GL::Pipeline pipeline;
Sky3D sky;
+ Msp::GL::ShadowMap shadow;
+ Msp::GL::ColorCurve colorcurve;
+ Msp::GL::AmbientOcclusion ambient_occlusion;
public:
View3D(Layout3D &, unsigned, unsigned);
Ray create_ray(int, int) const;
Ray create_ray(float, float) const;
+private:
+ void compute_bounds(Vector &, Vector &);
+public:
void view_all(bool = false);
void render();
+
+private:
+ void update_shadow_area();
};
} // namespace R2C2