]> git.tdb.fi Git - libs/gl.git/blobdiff - source/stereocombiner.h
Add classes for stereographic rendering
[libs/gl.git] / source / stereocombiner.h
diff --git a/source/stereocombiner.h b/source/stereocombiner.h
new file mode 100644 (file)
index 0000000..1017930
--- /dev/null
@@ -0,0 +1,32 @@
+#ifndef MSP_GL_STEREOCOMBINER_H_
+#define MSP_GL_STEREOCOMBINER_H_
+
+namespace Msp {
+namespace GL {
+
+class Texture2D;
+
+class StereoCombiner
+{
+protected:
+       unsigned width_div;
+       unsigned height_div;
+       bool keep_aspect;
+       float fov;
+
+       StereoCombiner();
+public:
+       virtual ~StereoCombiner() { }
+
+       unsigned get_width_divisor() const { return width_div; }
+       unsigned get_height_divisor() const { return height_div; }
+       bool is_aspect_kept() const { return keep_aspect; }
+       float get_field_of_view() const { return fov; }
+
+       virtual void render(const Texture2D &, const Texture2D &) const = 0;
+};
+
+} // namespace GL
+} // namespace Msp
+
+#endif