Blender  V2.93
Classes | Typedefs | Functions
wm_xr_intern.h File Reference
#include "CLG_log.h"
#include "wm_xr.h"

Go to the source code of this file.

Classes

struct  wmXrSessionState
 
struct  wmXrRuntimeData
 
struct  wmXrSurfaceData
 
struct  wmXrDrawData
 

Typedefs

typedef struct wmXrSessionState wmXrSessionState
 
typedef struct wmXrRuntimeData wmXrRuntimeData
 
typedef struct wmXrDrawData wmXrDrawData
 

Functions

wmXrRuntimeDatawm_xr_runtime_data_create (void)
 
void wm_xr_runtime_data_free (wmXrRuntimeData **runtime)
 
void wm_xr_session_draw_data_update (const wmXrSessionState *state, const XrSessionSettings *settings, const GHOST_XrDrawViewInfo *draw_view, wmXrDrawData *draw_data)
 
void wm_xr_session_state_update (const XrSessionSettings *settings, const wmXrDrawData *draw_data, const GHOST_XrDrawViewInfo *draw_view, wmXrSessionState *state)
 
bool wm_xr_session_surface_offscreen_ensure (wmXrSurfaceData *surface_data, const GHOST_XrDrawViewInfo *draw_view)
 
void * wm_xr_session_gpu_binding_context_create (void)
 
void wm_xr_session_gpu_binding_context_destroy (GHOST_ContextHandle context)
 
void wm_xr_pose_to_viewmat (const GHOST_XrPose *pose, float r_viewmat[4][4])
 
void wm_xr_draw_view (const GHOST_XrDrawViewInfo *draw_view, void *customdata)
 Draw a viewport for a single eye. More...
 

Typedef Documentation

◆ wmXrDrawData

typedef struct wmXrDrawData wmXrDrawData

◆ wmXrRuntimeData

◆ wmXrSessionState

Function Documentation

◆ wm_xr_draw_view()

void wm_xr_draw_view ( const GHOST_XrDrawViewInfo *  draw_view,
void *  customdata 
)

◆ wm_xr_pose_to_viewmat()

void wm_xr_pose_to_viewmat ( const GHOST_XrPose *  pose,
float  r_viewmat[4][4] 
)

◆ wm_xr_runtime_data_create()

wmXrRuntimeData* wm_xr_runtime_data_create ( void  )

Definition at line 143 of file wm_xr.c.

References MEM_callocN.

Referenced by wm_xr_init().

◆ wm_xr_runtime_data_free()

void wm_xr_runtime_data_free ( wmXrRuntimeData **  runtime)

Definition at line 149 of file wm_xr.c.

References context, GHOST_XrContextDestroy(), MEM_SAFE_FREE, and NULL.

Referenced by wm_xr_error_handler(), wm_xr_exit(), and wm_xr_session_exit_cb().

◆ wm_xr_session_draw_data_update()

void wm_xr_session_draw_data_update ( const wmXrSessionState state,
const XrSessionSettings settings,
const GHOST_XrDrawViewInfo *  draw_view,
wmXrDrawData draw_data 
)

◆ wm_xr_session_gpu_binding_context_create()

void* wm_xr_session_gpu_binding_context_create ( void  )

◆ wm_xr_session_gpu_binding_context_destroy()

void wm_xr_session_gpu_binding_context_destroy ( GHOST_ContextHandle  context)

Referenced by wm_xr_init().

◆ wm_xr_session_state_update()

void wm_xr_session_state_update ( const XrSessionSettings settings,
const wmXrDrawData draw_data,
const GHOST_XrDrawViewInfo *  draw_view,
wmXrSessionState state 
)

Update information that is only stored for external state queries. E.g. for Python API to request the current (as in, last known) viewer pose.

Definition at line 293 of file wm_xr_session.c.

References wmXrDrawData::base_pose, XrSessionSettings::base_pose_object, XrSessionSettings::base_pose_type, copy_qt_qt(), copy_v3_v3(), DEFAULT_SENSOR_WIDTH, wmXrDrawData::eye_position_ofs, XrSessionSettings::flag, fov_to_focallength(), mul_qt_qtqt(), state, wm_xr_pose_to_viewmat(), and XR_SESSION_USE_POSITION_TRACKING.

Referenced by wm_xr_draw_view().

◆ wm_xr_session_surface_offscreen_ensure()

bool wm_xr_session_surface_offscreen_ensure ( wmXrSurfaceData surface_data,
const GHOST_XrDrawViewInfo *  draw_view 
)