Monado OpenXR Runtime
|
The input data needed for a single view, shared between both GFX and CS paths. More...
#include <util/comp_render.h>
Data Fields | |
struct xrt_pose | world_pose |
New world pose of this view. More... | |
struct xrt_pose | eye_pose |
New eye pose of this view. More... | |
struct xrt_fov | fov |
New fov of this view, used for the layer scratch image. More... | |
struct xrt_normalized_rect | pre_transform |
Go from UV to tanangle for both the target and layer image since they share the same fov, this needs to match fov . More... | |
struct { | |
VkImage image | |
The layer image for this view (aka scratch image), used for barrier operations. More... | |
struct render_viewport_data viewport_data | |
Pre-view layer target viewport_data (where in the image we should render the view). More... | |
struct { | |
struct render_gfx_target_resources * rtr | |
Per-view layer target resources. More... | |
} gfx | |
struct { | |
VkImageView storage_view | |
View into layer image (aka scratch image), for used as a storage tagert of the CS (write) path. More... | |
} cs | |
} | squash |
struct { | |
struct xrt_normalized_rect norm_rect | |
When sampling from the layer image (aka scratch image), how should we transform it to get to the pixels correctly. More... | |
VkImageView sample_view | |
View into layer image (aka scratch image) when sampling the image, used for both GFX (read) and CS (read) paths. More... | |
} | squash_as_src |
struct { | |
struct render_viewport_data viewport_data | |
struct { | |
struct xrt_matrix_2x2 vertex_rot | |
Distortion target vertex rotation information. More... | |
} gfx | |
} | target |
The input data needed for a single view, shared between both GFX and CS paths.
To fully render a single view two "rendering" might be needed, the first being the layer squashing, and the second is the distortion step. The target for the layer squashing is referred to as "layer" or "scratch" and prefixed with layer
if needs be. The other final step is referred to as "distortion target" or just "target", and is prefixed with target
.
struct xrt_pose comp_render_view_data::eye_pose |
New eye pose of this view.
Referenced by comp_render_cs_layers().
struct xrt_fov comp_render_view_data::fov |
New fov of this view, used for the layer scratch image.
Needs to match distortion parameters if distortion is used.
Referenced by crg_distortion_after_squash().
VkImage comp_render_view_data::image |
The layer image for this view (aka scratch image), used for barrier operations.
Referenced by comp_render_cs_layers().
struct xrt_normalized_rect comp_render_view_data::norm_rect |
When sampling from the layer image (aka scratch image), how should we transform it to get to the pixels correctly.
Ignored when doing a fast path and reading directly from the app projection layer.
Referenced by crg_distortion_after_squash().
struct xrt_normalized_rect comp_render_view_data::pre_transform |
Go from UV to tanangle for both the target and layer image since they share the same fov, this needs to match fov
.
Referenced by comp_render_cs_layers().
struct render_gfx_target_resources* comp_render_view_data::rtr |
Per-view layer target resources.
VkImageView comp_render_view_data::sample_view |
View into layer image (aka scratch image) when sampling the image, used for both GFX (read) and CS (read) paths.
Ignored when doing a fast path and reading directly from the app projection layer.
Referenced by crg_distortion_after_squash().
VkImageView comp_render_view_data::storage_view |
View into layer image (aka scratch image), for used as a storage tagert of the CS (write) path.
Referenced by comp_render_cs_layers().
struct xrt_matrix_2x2 comp_render_view_data::vertex_rot |
Distortion target vertex rotation information.
struct render_viewport_data comp_render_view_data::viewport_data |
Pre-view layer target viewport_data (where in the image we should render the view).
Referenced by comp_render_cs_layers().
struct xrt_pose comp_render_view_data::world_pose |
New world pose of this view.
Referenced by comp_render_cs_layers(), and crg_distortion_after_squash().