X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fovr%2Foculusriftcombiner.h;fp=source%2Fovr%2Foculusriftcombiner.h;h=65809a3a2c6827c79d1d529d234b4f95d30d0181;hb=12044b218363bdd93f9fc1b3c71167d700144e45;hp=0000000000000000000000000000000000000000;hpb=8d1197440f07062a1020d902619ae8e9a494baa0;p=libs%2Fvr.git diff --git a/source/ovr/oculusriftcombiner.h b/source/ovr/oculusriftcombiner.h new file mode 100644 index 0000000..65809a3 --- /dev/null +++ b/source/ovr/oculusriftcombiner.h @@ -0,0 +1,37 @@ +#ifndef MSP_VR_OCULUSRIFTCOMBINER_H_ +#define MSP_VR_OCULUSRIFTCOMBINER_H_ + +#include +#include +#include +#include + +namespace Msp { +namespace VR { + +class OculusRiftDevice; + +/** +Presents a stereo view in a way suitable for an Oculus Rift HMD. All distances +are specified in multiples of the screen width. +*/ +class OculusRiftCombiner: public StereoCombiner +{ +private: + const OculusRiftDevice &device; + GL::Mesh left_mesh; + GL::Mesh right_mesh; + GL::Program shprog; + mutable GL::ProgramData left_shdata; + mutable GL::ProgramData right_shdata; + +public: + OculusRiftCombiner(const OculusRiftDevice &); + + virtual void render(const GL::Texture2D &, const GL::Texture2D &) const; +}; + +} // namespace VR +} // namespace Msp + +#endif