Blender V5.0
wm_xr_intern.hh File Reference
#include "CLG_log.h"
#include "GHOST_Types.h"
#include "DNA_listBase.h"
#include "DNA_xr_types.h"
#include "wm_xr.hh"

Go to the source code of this file.

Classes

struct  wmXrSessionState
struct  wmXrRuntimeData
struct  wmXrViewportPair
struct  wmXrSurfaceData
struct  wmXrDrawData
struct  wmXrController
struct  wmXrAction
struct  wmXrHapticAction
struct  wmXrActionSet
struct  wmXrVignetteData

Functions

wmXrRuntimeDatawm_xr_runtime_data_create ()
void wm_xr_runtime_data_free (wmXrRuntimeData **runtime)
void wm_xr_session_data_free (wmXrSessionState *state)
wmWindowwm_xr_session_root_window_or_fallback_get (const wmWindowManager *wm, const wmXrRuntimeData *runtime_data)
void wm_xr_session_draw_data_update (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 wm_xr_session_gpu_binding_context_destroy (GHOST_ContextHandle context)
void wm_xr_session_actions_init (wmXrData *xr)
void wm_xr_session_actions_update (wmWindowManager *wm)
void wm_xr_session_controller_data_populate (const wmXrAction *grip_action, const wmXrAction *aim_action, wmXrData *xr)
void wm_xr_session_controller_data_clear (wmXrSessionState *state)
void wm_xr_pose_to_mat (const GHOST_XrPose *pose, float r_mat[4][4])
void wm_xr_pose_scale_to_mat (const GHOST_XrPose *pose, float scale, float r_mat[4][4])
void wm_xr_pose_to_imat (const GHOST_XrPose *pose, float r_imat[4][4])
void wm_xr_pose_scale_to_imat (const GHOST_XrPose *pose, float scale, float r_imat[4][4])
void wm_xr_draw_view (const GHOST_XrDrawViewInfo *draw_view, void *customdata)
 Draw a viewport for a single eye.
void wm_xr_draw_controllers (const bContext *C, ARegion *region, void *customdata)
bool wm_xr_passthrough_enabled (void *customdata)
 Check if XR passthrough is enabled.
void wm_xr_disable_passthrough (void *customdata)
 Disable XR passthrough if not supported.

Function Documentation

◆ wm_xr_disable_passthrough()

void wm_xr_disable_passthrough ( void * customdata)

Disable XR passthrough if not supported.

In case passthrough is not supported by the XR runtime, force un-check the toggle in the GUI. It's assigned to Ghost-XR as a callback (see GHOST_XrDisablePassthroughFunc()).

Definition at line 216 of file wm_xr_draw.cc.

References XrSessionSettings::draw_flags, RPT_INFO, wmXrData::session_settings, V3D_OFSDRAW_XR_SHOW_PASSTHROUGH, WM_global_report(), and wmXrDrawData::xr_data.

Referenced by wm_xr_init().

◆ wm_xr_draw_controllers()

◆ wm_xr_draw_view()

◆ wm_xr_passthrough_enabled()

bool wm_xr_passthrough_enabled ( void * customdata)

Check if XR passthrough is enabled.

Needed to add or not the passthrough composition layer. It's assigned to Ghost-XR as a callback (see GHOST_XrPassthroughEnabledFunc()).

Definition at line 207 of file wm_xr_draw.cc.

References XrSessionSettings::draw_flags, wmXrData::session_settings, V3D_OFSDRAW_XR_SHOW_PASSTHROUGH, and wmXrDrawData::xr_data.

Referenced by wm_xr_init().

◆ wm_xr_pose_scale_to_imat()

void wm_xr_pose_scale_to_imat ( const GHOST_XrPose * pose,
float scale,
float r_imat[4][4] )

◆ wm_xr_pose_scale_to_mat()

void wm_xr_pose_scale_to_mat ( const GHOST_XrPose * pose,
float scale,
float r_mat[4][4] )

◆ wm_xr_pose_to_imat()

void wm_xr_pose_to_imat ( const GHOST_XrPose * pose,
float r_imat[4][4] )

◆ wm_xr_pose_to_mat()

void wm_xr_pose_to_mat ( const GHOST_XrPose * pose,
float r_mat[4][4] )

◆ wm_xr_runtime_data_create()

wmXrRuntimeData * wm_xr_runtime_data_create ( )

Definition at line 164 of file wm_xr.cc.

References MEM_callocN().

Referenced by wm_xr_init().

◆ wm_xr_runtime_data_free()

◆ wm_xr_session_actions_init()

void wm_xr_session_actions_init ( wmXrData * xr)

Definition at line 654 of file wm_xr_session.cc.

References wmXrRuntimeData::context, and wmXrData::runtime.

Referenced by wm_xr_session_create_cb().

◆ wm_xr_session_actions_update()

◆ wm_xr_session_controller_data_clear()

◆ wm_xr_session_controller_data_populate()

◆ wm_xr_session_data_free()

◆ wm_xr_session_draw_data_update()

◆ wm_xr_session_gpu_binding_context_create()

void * wm_xr_session_gpu_binding_context_create ( )

◆ wm_xr_session_gpu_binding_context_destroy()

void wm_xr_session_gpu_binding_context_destroy ( GHOST_ContextHandle context)

◆ wm_xr_session_root_window_or_fallback_get()

wmWindow * wm_xr_session_root_window_or_fallback_get ( const wmWindowManager * wm,
const wmXrRuntimeData * runtime_data )

◆ 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 )

◆ wm_xr_session_surface_offscreen_ensure()