aboutsummaryrefslogtreecommitdiff
path: root/src/client/render/stereo.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/render/stereo.h')
-rw-r--r--src/client/render/stereo.h27
1 files changed, 15 insertions, 12 deletions
diff --git a/src/client/render/stereo.h b/src/client/render/stereo.h
index c8b07e146..f0fa6accc 100644
--- a/src/client/render/stereo.h
+++ b/src/client/render/stereo.h
@@ -20,19 +20,22 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#pragma once
#include "core.h"
+#include "plain.h"
+#include "pipeline.h"
-class RenderingCoreStereo : public RenderingCore
-{
-protected:
- scene::ICameraSceneNode *cam;
- core::matrix4 base_transform;
- float eye_offset;
-
- void beforeDraw() override;
- virtual void useEye(bool right);
- virtual void resetEye();
- void renderBothImages();
+/**
+ * Offset camera for a specific eye in stereo rendering mode
+ */
+class OffsetCameraStep : public TrivialRenderStep
+{
public:
- RenderingCoreStereo(IrrlichtDevice *_device, Client *_client, Hud *_hud);
+ OffsetCameraStep(float eye_offset);
+ OffsetCameraStep(bool right_eye);
+
+ void run(PipelineContext &context) override;
+ void reset(PipelineContext &context) override;
+private:
+ core::matrix4 base_transform;
+ core::matrix4 move;
};