|
Blender
V2.93
|
#include <string.h>#include "BLI_math.h"#include "ED_view3d_offscreen.h"#include "GHOST_C-api.h"#include "GPU_viewport.h"#include "WM_api.h"#include "wm_surface.h"#include "wm_xr_intern.h"Go to the source code of this file.
Functions | |
Window-Manager XR Drawing | |
Implements Blender specific drawing functionality for use with the Ghost-XR API. | |
| void | wm_xr_pose_to_viewmat (const GHOST_XrPose *pose, float r_viewmat[4][4]) |
| static void | wm_xr_draw_matrices_create (const wmXrDrawData *draw_data, const GHOST_XrDrawViewInfo *draw_view, const XrSessionSettings *session_settings, float r_view_mat[4][4], float r_proj_mat[4][4]) |
| static void | wm_xr_draw_viewport_buffers_to_active_framebuffer (const wmXrRuntimeData *runtime_data, const wmXrSurfaceData *surface_data, const GHOST_XrDrawViewInfo *draw_view) |
| void | wm_xr_draw_view (const GHOST_XrDrawViewInfo *draw_view, void *customdata) |
| Draw a viewport for a single eye. More... | |
|
static |
Definition at line 48 of file wm_xr_draw.c.
References wmXrDrawData::base_pose, XrSessionSettings::clip_end, XrSessionSettings::clip_start, copy_qt_qt(), copy_v3_v3(), wmXrDrawData::eye_position_ofs, XrSessionSettings::flag, mul_m4_m4m4(), perspective_m4_fov(), sub_v3_v3(), wm_xr_pose_to_viewmat(), and XR_SESSION_USE_POSITION_TRACKING.
Referenced by wm_xr_draw_view().
| 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().
|
static |
Definition at line 81 of file wm_xr_draw.c.
References wmXrRuntimeData::context, GPU_viewport_draw_to_screen_ex(), SWAP, wmXrSurfaceData::viewport, wmViewport(), rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by wm_xr_draw_view().
| 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().