|
Blender
V2.93
|
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 | |
| wmXrRuntimeData * | wm_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 struct wmXrDrawData wmXrDrawData |
| typedef struct wmXrRuntimeData wmXrRuntimeData |
| typedef struct wmXrSessionState wmXrSessionState |
| void wm_xr_draw_view | ( | const GHOST_XrDrawViewInfo * | draw_view, |
| void * | customdata | ||
| ) |
Draw a viewport for a single eye.
This is the main viewport drawing function for VR sessions. It's assigned to Ghost-XR as a callback (see GHOST_XrDrawViewFunc()) and executed for each view (read: eye).
Definition at line 105 of file wm_xr_draw.c.
References BLI_assert, XrSessionSettings::clip_end, XrSessionSettings::clip_start, wmXrDrawData::depsgraph, XrSessionSettings::draw_flags, ED_view3d_draw_offscreen_simple(), GPU_clear_depth(), GPU_framebuffer_restore(), GPU_offscreen_bind(), NULL, wmXrSurfaceData::offscreen, wmXrData::runtime, wmXrDrawData::scene, wmXrData::session_settings, wmXrRuntimeData::session_state, XrSessionSettings::shading, wmXrDrawData::surface_data, View3DShading::type, V3D_OFSDRAW_OVERRIDE_SCENE_SETTINGS, wmXrSurfaceData::viewport, wm_xr_draw_matrices_create(), wm_xr_draw_viewport_buffers_to_active_framebuffer(), wm_xr_session_draw_data_update(), WM_xr_session_is_ready(), wm_xr_session_state_update(), wm_xr_session_surface_offscreen_ensure(), and wmXrDrawData::xr_data.
Referenced by wm_xr_init().
| void wm_xr_pose_to_viewmat | ( | const GHOST_XrPose * | pose, |
| float | r_viewmat[4][4] | ||
| ) |
Definition at line 40 of file wm_xr_draw.c.
References invert_qt_qt_normalized(), quat_to_mat4(), and translate_m4().
Referenced by wm_xr_draw_matrices_create(), and wm_xr_session_state_update().
| wmXrRuntimeData* wm_xr_runtime_data_create | ( | void | ) |
| 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().
| void wm_xr_session_draw_data_update | ( | const wmXrSessionState * | state, |
| const XrSessionSettings * | settings, | ||
| const GHOST_XrDrawViewInfo * | draw_view, | ||
| wmXrDrawData * | draw_data | ||
| ) |
Definition at line 243 of file wm_xr_session.c.
References copy_v3_fl(), copy_v3_v3(), wmXrDrawData::eye_position_ofs, XrSessionSettings::flag, SESSION_STATE_EVENT_NONE, SESSION_STATE_EVENT_POSITON_TRACKING_TOGGLE, SESSION_STATE_EVENT_RESET_TO_BASE_POSE, SESSION_STATE_EVENT_START, state, wm_xr_session_state_to_event(), and XR_SESSION_USE_POSITION_TRACKING.
Referenced by wm_xr_draw_view().
| void* wm_xr_session_gpu_binding_context_create | ( | void | ) |
Definition at line 493 of file wm_xr_session.c.
References NC_WM, ND_XR_DATA_CHANGED, NULL, surface, WM_main_add_notifier(), wm_surface_add(), and wm_xr_session_surface_create().
Referenced by wm_xr_init().
| void wm_xr_session_gpu_binding_context_destroy | ( | GHOST_ContextHandle | context | ) |
Referenced by wm_xr_init().
| 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().
| bool wm_xr_session_surface_offscreen_ensure | ( | wmXrSurfaceData * | surface_data, |
| const GHOST_XrDrawViewInfo * | draw_view | ||
| ) |
Definition at line 412 of file wm_xr_session.c.
References BLI_assert, CLOG_ERROR, GPU_offscreen_create(), GPU_offscreen_free(), GPU_offscreen_height(), GPU_offscreen_width(), GPU_viewport_create(), GPU_viewport_free(), LOG, wmXrSurfaceData::offscreen, and wmXrSurfaceData::viewport.
Referenced by wm_xr_draw_view().