Monado OpenXR Runtime
render_compute_layer_ubo_data Struct Reference

UBO data that is sent to the compute layer shaders. More...

#include <render/render_interface.h>

Collaboration diagram for render_compute_layer_ubo_data:

Data Fields

struct render_viewport_data view
 
struct {
   uint32_t   value
 
   uint32_t   padding0
 
   uint32_t   padding1
 
   uint32_t   padding2
 
layer_count
 
struct xrt_normalized_rect pre_transform
 
struct {
   struct xrt_normalized_rect   post_transforms
 
   struct {
      uint32_t   layer_type
 
      uint32_t   unpremultiplied_alpha
 
      uint32_t   _padding0
 
      uint32_t   _padding1
 
   }   layer_data
 Corresponds to enum xrt_layer_type and unpremultiplied alpha. More...
 
   struct {
      uint32_t   color_image_index
 
      uint32_t   depth_image_index
 
      uint32_t   _padding0
 
      uint32_t   _padding1
 
   }   image_info
 Which image/sampler(s) correspond to each layer. More...
 
   struct xrt_matrix_4x4   mv_inverse
 Shared between cylinder and equirect2. More...
 
   struct {
      float   radius
 
      float   central_angle
 
      float   aspect_ratio
 
      float   padding
 
   }   cylinder_data
 For cylinder layer. More...
 
   struct {
      float   radius
 
      float   central_horizontal_angle
 
      float   upper_vertical_angle
 
      float   lower_vertical_angle
 
   }   eq2_data
 For equirect2 layers. More...
 
   struct xrt_matrix_4x4   transforms_timewarp
 For projection layers. More...
 
   struct {
      struct xrt_vec3   val
 
      float   padding
 
   }   quad_position
 For quad layers. More...
 
   struct {
      struct xrt_vec3   val
 
      float   padding
 
   }   quad_normal
 
   struct xrt_matrix_4x4   inverse_quad_transform
 
   struct {
      struct xrt_vec2   val
 
      float   padding0
 
      float   padding1
 
   }   quad_extent
 Quad extent in world scale. More...
 
   struct xrt_colour_rgba_f32   color_scale
 Color scale and bias for all layers. More...
 
   struct xrt_colour_rgba_f32   color_bias
 
layers [(XRT_MAX_LAYERS)]
 

Detailed Description

UBO data that is sent to the compute layer shaders.

Field Documentation

◆ _padding0

uint32_t render_compute_layer_ubo_data::_padding0
Todo:
Implement separated samplers and images (and change to samplers[2])

◆ color_scale

struct xrt_colour_rgba_f32 render_compute_layer_ubo_data::color_scale

Color scale and bias for all layers.

◆ 

struct { ... } render_compute_layer_ubo_data::cylinder_data

For cylinder layer.

◆ 

struct { ... } render_compute_layer_ubo_data::eq2_data

For equirect2 layers.

◆ 

struct { ... } render_compute_layer_ubo_data::image_info

Which image/sampler(s) correspond to each layer.

std140 uvec2, because it is an array it gets padded to vec4.

◆ 

struct { ... } render_compute_layer_ubo_data::layer_data

Corresponds to enum xrt_layer_type and unpremultiplied alpha.

std140 uvec2, because it is an array it gets padded to vec4.

◆ mv_inverse

struct xrt_matrix_4x4 render_compute_layer_ubo_data::mv_inverse

Shared between cylinder and equirect2.

◆ 

struct { ... } render_compute_layer_ubo_data::quad_extent

Quad extent in world scale.

◆ 

struct { ... } render_compute_layer_ubo_data::quad_position

For quad layers.

All quad transforms and coordinates are in view space

◆ transforms_timewarp

struct xrt_matrix_4x4 render_compute_layer_ubo_data::transforms_timewarp

For projection layers.

Timewarp matrices


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