2022-07-24 13:25:17 +02:00
|
|
|
#pragma once
|
2022-07-12 18:53:46 +02:00
|
|
|
|
|
|
|
|
#include "VRFramebuffer.h"
|
2022-08-01 17:11:23 +02:00
|
|
|
#include "VRMath.h"
|
2022-07-12 18:53:46 +02:00
|
|
|
|
2022-07-27 19:47:11 +02:00
|
|
|
enum VRConfig {
|
2023-06-17 16:33:21 +02:00
|
|
|
//switching between mode
|
2023-07-12 19:33:29 +02:00
|
|
|
VR_CONFIG_MODE, VR_CONFIG_PASSTHROUGH, VR_CONFIG_CANVAS_6DOF,
|
2022-09-01 18:08:08 +02:00
|
|
|
//mouse cursor
|
|
|
|
|
VR_CONFIG_MOUSE_SIZE, VR_CONFIG_MOUSE_X, VR_CONFIG_MOUSE_Y,
|
2022-09-01 19:43:43 +02:00
|
|
|
//viewport setup
|
|
|
|
|
VR_CONFIG_VIEWPORT_WIDTH, VR_CONFIG_VIEWPORT_HEIGHT, VR_CONFIG_VIEWPORT_VALID,
|
2022-09-04 12:36:52 +02:00
|
|
|
//render status
|
|
|
|
|
VR_CONFIG_CURRENT_FBO,
|
2022-09-01 18:08:08 +02:00
|
|
|
|
|
|
|
|
//end
|
2022-07-27 19:47:11 +02:00
|
|
|
VR_CONFIG_MAX
|
|
|
|
|
};
|
|
|
|
|
|
2022-11-06 11:30:27 +01:00
|
|
|
enum VRConfigFloat {
|
2022-11-06 11:39:41 +01:00
|
|
|
// 2D canvas positioning
|
2022-11-06 22:30:35 +01:00
|
|
|
VR_CONFIG_CANVAS_DISTANCE, VR_CONFIG_MENU_PITCH, VR_CONFIG_MENU_YAW, VR_CONFIG_RECENTER_YAW,
|
2022-11-17 17:30:29 +01:00
|
|
|
VR_CONFIG_CANVAS_ASPECT,
|
2022-11-06 11:30:27 +01:00
|
|
|
|
|
|
|
|
VR_CONFIG_FLOAT_MAX
|
|
|
|
|
};
|
|
|
|
|
|
2022-07-24 14:14:21 +02:00
|
|
|
enum VRMode {
|
2022-10-16 20:28:45 +02:00
|
|
|
VR_MODE_MONO_SCREEN,
|
|
|
|
|
VR_MODE_STEREO_SCREEN,
|
|
|
|
|
VR_MODE_MONO_6DOF,
|
|
|
|
|
VR_MODE_STEREO_6DOF
|
2022-07-24 14:14:21 +02:00
|
|
|
};
|
|
|
|
|
|
2022-07-12 18:53:46 +02:00
|
|
|
void VR_GetResolution( engine_t* engine, int *pWidth, int *pHeight );
|
2022-08-29 22:06:59 +02:00
|
|
|
void VR_InitRenderer( engine_t* engine, bool multiview );
|
2022-07-12 18:53:46 +02:00
|
|
|
void VR_DestroyRenderer( engine_t* engine );
|
2022-07-24 14:14:21 +02:00
|
|
|
|
2022-09-04 12:36:52 +02:00
|
|
|
bool VR_InitFrame( engine_t* engine );
|
|
|
|
|
void VR_BeginFrame( engine_t* engine, int fboIndex );
|
2022-07-24 14:14:21 +02:00
|
|
|
void VR_EndFrame( engine_t* engine );
|
2022-09-04 12:36:52 +02:00
|
|
|
void VR_FinishFrame( engine_t* engine );
|
2022-07-24 14:14:21 +02:00
|
|
|
|
2022-07-27 19:47:11 +02:00
|
|
|
int VR_GetConfig( VRConfig config );
|
|
|
|
|
void VR_SetConfig( VRConfig config, int value);
|
2022-11-06 11:30:27 +01:00
|
|
|
float VR_GetConfigFloat( VRConfigFloat config );
|
|
|
|
|
void VR_SetConfigFloat( VRConfigFloat config, float value );
|
|
|
|
|
|
2022-10-12 16:21:54 +02:00
|
|
|
void* VR_BindFramebuffer(engine_t *engine);
|
2022-11-06 22:06:27 +01:00
|
|
|
XrView VR_GetView(int eye);
|
2023-01-28 11:50:46 +01:00
|
|
|
XrVector3f VR_GetHMDAngles();
|