Skip to content

Struct ILLIXR::data_format::stereo_frame

ClassList > ILLIXR > data_format > stereo_frame

More...

  • #include <stereo_frame.hpp>

Inherits the following classes: ILLIXR::switchboard::event

Public Attributes

Type Name
stereo_pixel_format format = {stereo\_pixel\_format::rgba8\_unorm}
stereo_shared_image left
stereo_overlay_command_range left_overlay_commands
stereo_render_view left_render_view
stereo_modal_overlay modal
std::string modal_buffer_path
std::uint64_t modal_generation_offset = {0}
stereo_image_origin origin = {stereo\_image\_origin::upper\_left}
std::string overlay_buffer_path
std::uint64_t overlay_generation_offset = {0}
std::string pixel_buffer_path
std::uint64_t pixel_generation_offset = {0}
stereo_presentation_mode presentation_mode = {stereo\_presentation\_mode::stereo\_fullscreen}
stereo_shared_image right
stereo_overlay_command_range right_overlay_commands
stereo_render_view right_render_view
time_point sample_time = {}
std::uint64_t sequence = {0}
std::uint64_t source_frame_id = {0}

Public Functions inherited from ILLIXR::switchboard::event

See ILLIXR::switchboard::event

Type Name
void serialize (Archive & ar, const unsigned int version)
virtual ~event () = default

Detailed Description

Stereo render result published on the stereo_frame switchboard topic.

Plugins exchanging this event must use the same pose representation (USING_OPENXR in the Boba pipeline), since switchboard passes it in memory.

To avoid retaining hundreds of multi-megabyte image copies in switchboard's history, the images are zero-copy references into a producer-owned mmap ring. A consumer should map pixel_buffer_path once, verify that the uint64 value at pixel_generation_offset equals source_frame_id, consume the image promptly, and verify it again afterward. A mismatch means the ring slot was recycled and the frame must be dropped. Overlay and modal rings use the same rule.

Public Attributes Documentation

variable format

stereo_pixel_format ILLIXR::data_format::stereo_frame::format;

variable left

stereo_shared_image ILLIXR::data_format::stereo_frame::left;

variable left_overlay_commands

stereo_overlay_command_range ILLIXR::data_format::stereo_frame::left_overlay_commands;

variable left_render_view

stereo_render_view ILLIXR::data_format::stereo_frame::left_render_view;

variable modal

stereo_modal_overlay ILLIXR::data_format::stereo_frame::modal;

variable modal_buffer_path

std::string ILLIXR::data_format::stereo_frame::modal_buffer_path;

Optional modal-bitmap ring synchronized to source_frame_id.


variable modal_generation_offset

std::uint64_t ILLIXR::data_format::stereo_frame::modal_generation_offset;

variable origin

stereo_image_origin ILLIXR::data_format::stereo_frame::origin;

variable overlay_buffer_path

std::string ILLIXR::data_format::stereo_frame::overlay_buffer_path;

Optional vector-overlay ring synchronized to source_frame_id.


variable overlay_generation_offset

std::uint64_t ILLIXR::data_format::stereo_frame::overlay_generation_offset;

variable pixel_buffer_path

std::string ILLIXR::data_format::stereo_frame::pixel_buffer_path;

Required pixel ring and generation marker for the selected slot.


variable pixel_generation_offset

std::uint64_t ILLIXR::data_format::stereo_frame::pixel_generation_offset;

variable presentation_mode

stereo_presentation_mode ILLIXR::data_format::stereo_frame::presentation_mode;

variable right

stereo_shared_image ILLIXR::data_format::stereo_frame::right;

variable right_overlay_commands

stereo_overlay_command_range ILLIXR::data_format::stereo_frame::right_overlay_commands;

variable right_render_view

stereo_render_view ILLIXR::data_format::stereo_frame::right_render_view;

variable sample_time

time_point ILLIXR::data_format::stereo_frame::sample_time;

variable sequence

std::uint64_t ILLIXR::data_format::stereo_frame::sequence;

Producer sequence and capture time; source_frame_id is the ring generation.


variable source_frame_id

std::uint64_t ILLIXR::data_format::stereo_frame::source_frame_id;


The documentation for this class was generated from the following file /home/friedel/devel/ILLIXR/illixr_release/ILLIXR/include/illixr/data_format/stereo_frame.hpp