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 [(16)]
 
struct {
   uint32_t   val
 
   uint32_t   unpremultiplied
 
   uint32_t   padding [XRT_MAX_VIEWS]
 
layer_type [(16)]
 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 [(16)]
 Which image/sampler(s) correspond to each layer. More...
 
struct xrt_matrix_4x4 mv_inverse [(16)]
 Shared between cylinder and equirect2. More...
 
struct {
   float   radius
 
   float   central_angle
 
   float   aspect_ratio
 
   float   padding
 
cylinder_data [(16)]
 For cylinder layer. More...
 
struct {
   float   radius
 
   float   central_horizontal_angle
 
   float   upper_vertical_angle
 
   float   lower_vertical_angle
 
eq2_data [(16)]
 For equirect2 layers. More...
 
struct xrt_matrix_4x4 transforms [(16)]
 For projection layers. More...
 
struct {
   struct xrt_vec3   val
 
   float   padding
 
quad_position [(16)]
 For quad layers. More...
 
struct {
   struct xrt_vec3   val
 
   float   padding
 
quad_normal [(16)]
 
struct xrt_matrix_4x4 inverse_quad_transform [(16)]
 
struct {
   struct xrt_vec2   val
 
   float   padding [XRT_MAX_VIEWS]
 
quad_extent [(16)]
 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[ (16) ]

For cylinder layer.

◆ 

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

For equirect2 layers.

◆ 

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

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

◆ 

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

std140 uvec2, corresponds to enum xrt_layer_type and unpremultiplied alpha.

◆ mv_inverse

struct xrt_matrix_4x4 render_compute_layer_ubo_data::mv_inverse[(16)]

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[ (16) ]

Quad extent in world scale.

◆ 

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

For quad layers.

All quad transforms and coordinates are in view space

◆ transforms

struct xrt_matrix_4x4 render_compute_layer_ubo_data::transforms[(16)]

For projection layers.

Timewarp matrices


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