Voxellancer  0.3
A game about voxels in space
 All Classes Functions Pages
stereovieweye.h
1 #pragma once
2 
3 #include <string>
4 #include <memory>
5 
6 #include <glm/glm.hpp>
7 
8 #include "eyeside.h"
9 #include "property/property.h"
10 
11 namespace glow {
12  class FrameBufferObject;
13 }
14 
15 class Scene;
16 class Camera;
17 class CameraHead;
18 class StereoRenderInfo;
19 class FrameBuffer;
20 
22 public:
23  StereoViewEye(const glm::ivec2& viewportResolution, const StereoRenderInfo& stereoRenderInfo, EyeSide side);
24  ~StereoViewEye();
25 
26  FrameBuffer& fbo();
27 
28  const Camera& camera() const;
29 
30  void setViewportResolution(const glm::ivec2& viewportResolution);
31 
32  void draw(const Scene& scene, const CameraHead& cameraHead);
33 
34 
35 protected:
36  glm::vec3 m_offset;
37  EyeSide m_side;
38  Property<std::string> m_antialiasing;
39 
40  float m_distortionScale;
41  glm::ivec2 m_textureSize;
42  std::unique_ptr<Camera> m_camera;
43  std::unique_ptr<FrameBuffer> m_fbo;
44 };
45 
Definition: camerahead.h:12
Definition: camera.h:10
Definition: framebuffer.h:17
Definition: stereorenderinfo.h:14
Definition: stereovieweye.h:21
Definition: scene.h:14