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   padding [3]
 
layer_count
 
struct xrt_normalized_rect pre_transform
 
struct xrt_normalized_rect post_transforms [(XRT_MAX_LAYERS)]
 
struct {
   uint32_t   val
 
   uint32_t   unpremultiplied
 
   uint32_t   padding [XRT_MAX_VIEWS]
 
layer_type [(XRT_MAX_LAYERS)]
 std140 uvec2, corresponds to enum xrt_layer_type and unpremultiplied alpha. More...
 
struct {
   uint32_t   images [XRT_MAX_VIEWS]
 
   uint32_t   padding [XRT_MAX_VIEWS]
 
images_samplers [(XRT_MAX_LAYERS)]
 Which image/sampler(s) correspond to each layer. More...
 
struct xrt_matrix_4x4 mv_inverse [(XRT_MAX_LAYERS)]
 Shared between cylinder and equirect2. More...
 
struct {
   float   radius
 
   float   central_angle
 
   float   aspect_ratio
 
   float   padding
 
cylinder_data [(XRT_MAX_LAYERS)]
 For cylinder layer. More...
 
struct {
   float   radius
 
   float   central_horizontal_angle
 
   float   upper_vertical_angle
 
   float   lower_vertical_angle
 
eq2_data [(XRT_MAX_LAYERS)]
 For equirect2 layers. More...
 
struct xrt_matrix_4x4 transforms [(XRT_MAX_LAYERS)]
 For projection layers. More...
 
struct {
   struct xrt_vec3   val
 
   float   padding
 
quad_position [(XRT_MAX_LAYERS)]
 For quad layers. More...
 
struct {
   struct xrt_vec3   val
 
   float   padding
 
quad_normal [(XRT_MAX_LAYERS)]
 
struct xrt_matrix_4x4 inverse_quad_transform [(XRT_MAX_LAYERS)]
 
struct {
   struct xrt_vec2   val
 
   float   padding [XRT_MAX_VIEWS]
 
quad_extent [(XRT_MAX_LAYERS)]
 Quad extent in world scale. More...
 

Detailed Description

UBO data that is sent to the compute layer shaders.

Used in render_compute

Field Documentation

◆ 

struct { ... } render_compute_layer_ubo_data::cylinder_data[ (XRT_MAX_LAYERS) ]

For cylinder layer.

◆ 

struct { ... } render_compute_layer_ubo_data::eq2_data[ (XRT_MAX_LAYERS) ]

For equirect2 layers.

◆ 

struct { ... } render_compute_layer_ubo_data::images_samplers[ (XRT_MAX_LAYERS) ]

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

◆ 

struct { ... } render_compute_layer_ubo_data::layer_type[ (XRT_MAX_LAYERS) ]

std140 uvec2, corresponds to enum xrt_layer_type and unpremultiplied alpha.

◆ mv_inverse

struct xrt_matrix_4x4 render_compute_layer_ubo_data::mv_inverse[(XRT_MAX_LAYERS)]

Shared between cylinder and equirect2.

◆ padding

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

◆ 

struct { ... } render_compute_layer_ubo_data::quad_extent[ (XRT_MAX_LAYERS) ]

Quad extent in world scale.

◆ 

struct { ... } render_compute_layer_ubo_data::quad_position[ (XRT_MAX_LAYERS) ]

For quad layers.

All quad transforms and coordinates are in view space

◆ transforms

struct xrt_matrix_4x4 render_compute_layer_ubo_data::transforms[(XRT_MAX_LAYERS)]

For projection layers.

Timewarp matrices


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