Monado OpenXR Runtime
comp_render_view_data Struct Reference

The input data needed for a single view, it shared between both GFX and CS paths. More...

#include <util/comp_render.h>

Collaboration diagram for comp_render_view_data:

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...
 
VkImage image
 The layer image for this view (aka scratch image), used for barrier operations. More...
 
VkImageView srgb_view
 View into layer image (aka scratch image), used for both GFX (read/write) and CS (read) paths. More...
 
struct render_viewport_data layer_viewport_data
 Pre-view layer target viewport_data (where in the image we should render the view). More...
 
struct xrt_normalized_rect layer_norm_rect
 When sampling from the layer image (aka scratch image), how should we transform it to get to the pixels correctly. More...
 
struct xrt_normalized_rect target_pre_transform
 Go from UV to tanangle for the target, this needs to match fov. More...
 
struct render_viewport_data target_viewport_data
 
struct {
   struct render_gfx_target_resources *   rtr
 Per-view layer target resources. More...
 
   struct xrt_matrix_2x2   vertex_rot
 Distortion target vertex rotation information. More...
 
gfx
 
struct {
   VkImageView   unorm_view
 Only used on compute path. More...
 
cs
 

Detailed Description

The input data needed for a single view, it 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.

Field Documentation

◆ eye_pose

struct xrt_pose comp_render_view_data::eye_pose

New eye pose of this view.

◆ fov

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.

◆ image

VkImage comp_render_view_data::image

The layer image for this view (aka scratch image), used for barrier operations.

◆ layer_norm_rect

struct xrt_normalized_rect comp_render_view_data::layer_norm_rect

When sampling from the layer image (aka scratch image), how should we transform it to get to the pixels correctly.

◆ layer_viewport_data

struct render_viewport_data comp_render_view_data::layer_viewport_data

Pre-view layer target viewport_data (where in the image we should render the view).

◆ rtr

struct render_gfx_target_resources* comp_render_view_data::rtr

Per-view layer target resources.

◆ srgb_view

VkImageView comp_render_view_data::srgb_view

View into layer image (aka scratch image), used for both GFX (read/write) and CS (read) paths.

◆ target_pre_transform

struct xrt_normalized_rect comp_render_view_data::target_pre_transform

Go from UV to tanangle for the target, this needs to match fov.

◆ unorm_view

VkImageView comp_render_view_data::unorm_view

Only used on compute path.

◆ vertex_rot

struct xrt_matrix_2x2 comp_render_view_data::vertex_rot

Distortion target vertex rotation information.

◆ world_pose

struct xrt_pose comp_render_view_data::world_pose

New world pose of this view.


The documentation for this struct was generated from the following file: