QarRenderSenderInit Struct
Rendering stream sender configuration. More...
Declaration
Included Headers
Public Member Attributes Index
| const QarAppVolumeId * | app_volume_id |
| QarPixelFormat | color_format |
|
Color pixel format. More... | |
| QarPixelFormat | depth_format |
|
Depth pixel format. More... | |
| bool | enable_auto_reconnects |
| QarRenderFrameView | frame_views[QAR_MAX_FRAME_VIEWS] |
| size_t | frame_views_count |
| QarGraphicsAPI | graphics_api |
| QarStructureHeader | header |
|
Extensible header; see the backend-specific stream parameter structs. More... | |
| QarPeerId | peer_id |
| QarFrameLayout | texture_layout |
|
Frame layout configuration. More... | |
Description
Rendering stream sender configuration.
Backend-specific graphics context/device configuration is supplied through header.next. Exactly one extension is required for a GPU API:
- QAR_GRAPHICS_API_D3D11 requires QarStreamParamsD3D11.
- QAR_GRAPHICS_API_OPENGL requires exactly one of QarStreamParamsOpenGlEgl, QarStreamParamsOpenGlWgl or QarStreamParamsOpenGlGlx, whichever matches the context you own.
- QAR_GRAPHICS_API_VULKAN requires QarStreamParamsVulkan. QAR_GRAPHICS_API_CPU supports no extension and requires header.next to be null. The selected extension's header.next must also be null.
Definition at line 1761 of file qar_streaming.h.
Public Member Attributes
app_volume_id
|
Required. The app volume this stream is displayed in, which is what places it in the session's shared 3D scene. Create the volume first with qar_app_volumes_get_or_create() and pass the id it wrote out; a stream without one is not positioned in the scene and no viewer can show it.
It also defines the sender's app content space: every pose, hand joint, radius and velocity the sender hands the application is in it. While the volume does not resolve, the sender hands out nothing: begin-frame fails with QAR_STATUS_RENDERING_PRODUCER_APP_VOLUME_UNRESOLVED and the hands are reported untracked.
NULL is rejected with QAR_STATUS_APP_VOLUME_INVALID_ID.
Definition at line 1809 of file qar_streaming.h.
color_format
|
Color pixel format.
Definition at line 1812 of file qar_streaming.h.
depth_format
|
Depth pixel format.
Definition at line 1815 of file qar_streaming.h.
enable_auto_reconnects
|
In case of stream failure caused by network issue or other side crash we will automatically restart stream and try to recreate a stream transparently in the background
Definition at line 1777 of file qar_streaming.h.
frame_views
|
Array of views in the single video frame.
The order is guaranteed. The views of the layout (qar_render_sender_layout()) and of every frame this sender hands back (qar_render_sender_frame_*()) come in exactly the order declared here, each with the eye and data_type declared at its position. Textures come in the order the views first use them: one per view for QAR_FRAME_LAYOUT_SEPARATED_TEXTURES, one per data type for side by side and layered, and each view's texture_index names its texture. A view the frame layout provides but you did not declare follows the declared ones.
Definition at line 1793 of file qar_streaming.h.
frame_views_count
|
Definition at line 1794 of file qar_streaming.h.
graphics_api
|
Selects the backend and therefore the matching optional header extension.
Definition at line 1819 of file qar_streaming.h.
header
|
Extensible header; see the backend-specific stream parameter structs.
Definition at line 1764 of file qar_streaming.h.
peer_id
|
Required. The peer this stream renders for - the headset or viewer that will receive these frames, never this process' own peer id. See "Basic flow" in api.h for how to find target peer ids.
qar_peer_id_unique() does not produce a usable value here: it mints a fresh id belonging to no peer, so a stream created with one is negotiated with nobody and never produces a frame.
Definition at line 1772 of file qar_streaming.h.
texture_layout
|
Frame layout configuration.
Definition at line 1780 of file qar_streaming.h.
The documentation for this struct was generated from the following file:
Generated via doxygen2docusaurus 2.2.1 by Doxygen 1.9.8.