Struct ILLIXR::data_format::stereo_frame
ClassList > ILLIXR > data_format > stereo_frame
#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