work on basic VR

This commit is contained in:
2026-05-30 20:43:02 +03:00
parent 4811ad0820
commit 3b128315e7
18 changed files with 716 additions and 29 deletions

View File

@@ -3,12 +3,47 @@
#include "tier1/interface.h"
#include "tier2/iappsystem.h"
#include "materialsystem/imaterialsystem.h"
#include "trig.h"
abstract_class IXrManager: public IAppSystem
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