Files
funnygame/public/ixr.h
2026-05-30 20:43:02 +03:00

50 lines
912 B
C++

#ifndef IXR_H
#define IXR_H
#include "tier1/interface.h"
#include "tier2/iappsystem.h"
#include "materialsystem/imaterialsystem.h"
#include "trig.h"
struct XRRenderSurface_t
{
uint32_t m_uWidth;
uint32_t m_uHeight;
Vector m_vPosition;
Quat m_vRotation;
float m_fFov;
};
abstract_class IXRHeadset
{
public:
virtual uint32_t GetSurfaceCount() = 0;
virtual XRRenderSurface_t GetSurface( uint32_t i ) = 0;
virtual void SetSurfaceImage( uint32_t i, IImage *pImage ) = 0;
};
abstract_class IXRController
{
public:
};
abstract_class IXRManager: public IAppSystem2
{
public:
virtual void Frame() = 0;
virtual void PreRender() = 0;
virtual void PostRender() = 0;
virtual void CopySwapchain() = 0;
virtual uint32_t GetHeadsetCount() = 0;
virtual IXRHeadset *GetHeadset( uint32_t i ) = 0;
};
#define XR_INTERFACE_VERSION "XR001"
#define OPEN_XR_INTERFACE_VERSION "Open" XR_INTERFACE_VERSION
#endif