Go to the source code of this file.
Data Structures | |
struct | varjo_StreamConfig |
Data stream configuration. More... | |
struct | varjo_CameraIntrinsics |
Camera intrinsics parameter for undistorting a distorted camera frame. More... | |
struct | varjo_BufferMetadata |
Buffer for data streams. More... | |
struct | varjo_WBNormalizationData |
White balance normalization data for color matching VR content with camera image. More... | |
struct | varjo_DistortedColorFrameMetadata |
Metadata for distorted color stream. More... | |
struct | varjo_EnvironmentCubemapFrameMetadata |
Metadata for environment cubemap stream. More... | |
struct | varjo_EyeCameraFrameMetadata |
Metadata for eye camera stream. More... | |
union | varjo_StreamFrameMetadata |
Wrapper union for different types of streams. More... | |
struct | varjo_StreamFrame |
A single frame that will arrive to FrameListener callback after the user has subscribed to a stream. More... | |
Typedefs | |
typedef uint64_t | varjo_ChannelFlag |
Bitfield for different data stream channels. More... | |
typedef int64_t | varjo_ChannelIndex |
Values for indexing buffers and settings of data streams. More... | |
typedef int64_t | varjo_IntrinsicsModel |
Camera intrinsics model type. More... | |
typedef int64_t | varjo_BufferType |
Memory buffer type. More... | |
typedef uint64_t | varjo_DataFlag |
Frame data flag buffer type. More... | |
typedef int64_t | varjo_StreamType |
Data stream types. More... | |
typedef int64_t | varjo_StreamId |
Stream ID to identify a data stream configuration. More... | |
typedef int64_t | varjo_BufferId |
Buffer ID to lock and use a data stream buffer. More... | |
typedef void() | varjo_FrameListener(const struct varjo_StreamFrame *frame, struct varjo_Session *session, void *userData) |
Camera frame stream callback function. More... | |
Variables | |
static const varjo_ChannelFlag | varjo_ChannelFlag_None = 0 |
Disables data buffers and only provides metadata. More... | |
static const varjo_ChannelFlag | varjo_ChannelFlag_First = 1 << 0 |
First channel. More... | |
static const varjo_ChannelFlag | varjo_ChannelFlag_Second = 1 << 1 |
Second channel. More... | |
static const varjo_ChannelFlag | varjo_ChannelFlag_Left = 1 << 0 |
Helper aliases and aggregates for varjo_ChannelFlag. More... | |
static const varjo_ChannelFlag | varjo_ChannelFlag_Right = 1 << 1 |
Right camera channel. Alias for varjo_ChannelFlag_Second. More... | |
static const varjo_ChannelFlag | varjo_ChannelFlag_All = ~0ull |
Aggregate of every available channel. More... | |
static const varjo_ChannelIndex | varjo_ChannelIndex_First = 0 |
First channel. More... | |
static const varjo_ChannelIndex | varjo_ChannelIndex_Second = 1 |
Second channel. More... | |
static const varjo_ChannelIndex | varjo_ChannelIndex_Left = 0 |
Helper aliases for varjo_ChannelIndex. More... | |
static const varjo_ChannelIndex | varjo_ChannelIndex_Right = 1 |
Right camera channel. Alias for varjo_ChannelIndex_Second. More... | |
static const varjo_IntrinsicsModel | varjo_IntrinsicsModel_Omnidir = 1 |
OpenCV compatible Omnidir calibration model. More... | |
static const varjo_BufferType | varjo_BufferType_CPU = 1 |
Data is available in a CPU memory buffer. More... | |
static const varjo_BufferType | varjo_BufferType_GPU = 2 |
Data is available in a GPU memory buffer. More... | |
static const varjo_DataFlag | varjo_DataFlag_Buffer = 1 << 0 |
static const varjo_DataFlag | varjo_DataFlag_Intrinsics = 1 << 1 |
static const varjo_DataFlag | varjo_DataFlag_Extrinsics = 1 << 2 |
static const varjo_StreamType | varjo_StreamType_DistortedColor = 1 |
Distorted (i.e. More... | |
static const varjo_StreamType | varjo_StreamType_EnvironmentCubemap = 2 |
HDR lighting estimate stream as a cubemap. More... | |
static const varjo_StreamType | varjo_StreamType_EyeCamera = 3 |
Distorted (i.e. More... | |
static const int64_t | varjo_InvalidId = -1 |
Invalid id for any ID type (e.g. More... | |
struct varjo_StreamConfig |
Data stream configuration.
Data Fields | ||
---|---|---|
varjo_BufferType | bufferType | Buffer type: CPU or GPU memory buffer. |
varjo_ChannelFlag | channelFlags | Bitfield of provided camera channels. |
varjo_TextureFormat | format | Texture format. |
int32_t | frameRate | Frame rate in frames per second. |
int32_t | height | Texture height;. |
int32_t | rowStride | Buffer row stride in bytes. |
varjo_StreamId | streamId | Id. |
struct varjo_Matrix | streamTransform | Transform from HMD pose center to stream origin in view coordinates. |
varjo_StreamType | streamType | Stream type. |
int32_t | width | Texture width. |
struct varjo_CameraIntrinsics |
Camera intrinsics parameter for undistorting a distorted camera frame.
Data Fields | ||
---|---|---|
double | distortionCoefficients[6] | Intrinsics model coefficients. For omnidir: 2 radial, skew, xi, 2 tangential. |
double | focalLengthX | Camera focal length X. |
double | focalLengthY | Camera focal length Y. |
varjo_IntrinsicsModel | model | Intrisics calibration model. |
double | principalPointX | Camera principal point X. |
double | principalPointY | Camera principal point Y. |
struct varjo_BufferMetadata |
Buffer for data streams.
Data Fields | ||
---|---|---|
int32_t | byteSize | Buffer size in bytes. |
varjo_TextureFormat | format | Texture format. |
int32_t | height | Image height. |
int32_t | rowStride | Buffer row stride in bytes. |
varjo_BufferType | type | CPU or GPU. |
int32_t | width | Image width. |
struct varjo_WBNormalizationData |
White balance normalization data for color matching VR content with camera image.
It is assumed that VR content is rendered as if it uses a fixed 6500K white balance. Color conversion to camera white balance color temperature is done with the following formula:
finalColor = saturate(color * invCCM * diag(whiteBalanceColorGains)) * ccm
where saturate(x) means clamping out-of-bounds values to [0, 2^B-1] range assuming B-bit image and diag(x) is a diagonal matrix with x values on the diagonal.
Data Fields | ||
---|---|---|
struct varjo_Matrix3x3 | ccm | CCM for VST color temperature. |
struct varjo_Matrix3x3 | invCCM | Inverse CCM for 6500K color temperature. |
double | whiteBalanceColorGains[3] | White balance RGB gains to convert from 6500K to VST color temperature. |
struct varjo_DistortedColorFrameMetadata |
Metadata for distorted color stream.
This metadata is available in varjo_StreamFrameMetadata structure when varjo_StreamFrame::type equals varjo_StreamType_DistortedColor.
Data Fields | ||
---|---|---|
double | cameraCalibrationConstant | The luminance (in cd/m^2) which saturates a pixel is equal to 2^ev * cameraCalibrationConstant. |
double | ev | EV (exposure value) at ISO100. |
double | exposureTime | Exposure time in seconds. |
varjo_Nanoseconds | timestamp | Timestamp at the middle of frame exposure. |
struct varjo_WBNormalizationData | wbNormalizationData | White balance normalization data. |
double | whiteBalanceTemperature | Camera white balance color temperature in Kelvin degrees. |
struct varjo_EnvironmentCubemapFrameMetadata |
Metadata for environment cubemap stream.
This metadata is available in varjo_StreamFrameMetadata structure when varjo_StreamFrame::type equals varjo_StreamType_EnvironmentCubemap.
Data Fields | ||
---|---|---|
double | brightnessNormalizationGain | Gain to convert cubemap to VST image brightness. |
varjo_EnvironmentCubemapMode | mode | Cubemap mode which defines the color and brightness of the cubemap data. |
varjo_Nanoseconds | timestamp | Timestamp when the cubemap was last updated. |
struct varjo_WBNormalizationData | wbNormalizationData | White balance normalization data. |
double | whiteBalanceTemperature | Cubemap white balance color temperature in Kelvin degrees. |
struct varjo_EyeCameraFrameMetadata |
Metadata for eye camera stream.
This metadata is available in varjo_StreamFrameMetadata structure when varjo_StreamFrame::type equals varjo_StreamType_EyeCamera.
Glint LEDs are numbered in clockwise direction for left eye and counter clockwise for right eye starting from middle nose side glint LED. Refer to developer documentation for more information.
Data Fields | ||
---|---|---|
uint32_t | glintMaskLeft | Bit mask of enabled glint LEDs of left chamber. |
uint32_t | glintMaskRight | Bit mask of enabled glint LEDs of right chamber. |
varjo_Nanoseconds | timestamp | Timestamp when the frame was captured (start of frame). |
union varjo_StreamFrameMetadata |
Wrapper union for different types of streams.
Data Fields | ||
---|---|---|
struct varjo_DistortedColorFrameMetadata | distortedColor | |
struct varjo_EnvironmentCubemapFrameMetadata | environmentCubemap | |
struct varjo_EyeCameraFrameMetadata | eyeCamera | |
int64_t | reserved[64] |
struct varjo_StreamFrame |
A single frame that will arrive to FrameListener callback after the user has subscribed to a stream.
Data Fields | ||
---|---|---|
varjo_ChannelFlag | channels | Channels that this frame contains. |
varjo_DataFlag | dataFlags | Data that this frame contains. |
int64_t | frameNumber | Monotonically increasing frame number. |
struct varjo_Matrix | hmdPose | HMD world pose. Invert the pose, if you need the HMD center view matrix. |
varjo_StreamId | id | Id of the stream. |
union varjo_StreamFrameMetadata | metadata | Frame data. Use 'type' to determine which element to access. |
varjo_StreamType | type | Type of the stream. |
typedef int64_t varjo_BufferId |
Buffer ID to lock and use a data stream buffer.
typedef int64_t varjo_BufferType |
Memory buffer type.
typedef uint64_t varjo_ChannelFlag |
Bitfield for different data stream channels.
typedef int64_t varjo_ChannelIndex |
Values for indexing buffers and settings of data streams.
typedef uint64_t varjo_DataFlag |
Frame data flag buffer type.
typedef void() varjo_FrameListener(const struct varjo_StreamFrame *frame, struct varjo_Session *session, void *userData) |
Camera frame stream callback function.
frame | Incoming frame. |
session | Varjo session pointer for this callback. |
userData | User controlled pointer that can be supplied when subscribing to a data stream. |
typedef int64_t varjo_IntrinsicsModel |
Camera intrinsics model type.
typedef int64_t varjo_StreamId |
Stream ID to identify a data stream configuration.
typedef int64_t varjo_StreamType |
Data stream types.
|
static |
Data is available in a CPU memory buffer.
|
static |
Data is available in a GPU memory buffer.
|
static |
Aggregate of every available channel.
|
static |
First channel.
|
static |
Helper aliases and aggregates for varjo_ChannelFlag.
Left camera channel. Alias for varjo_ChannelFlag_First.
|
static |
Disables data buffers and only provides metadata.
|
static |
Right camera channel. Alias for varjo_ChannelFlag_Second.
|
static |
Second channel.
|
static |
First channel.
|
static |
Helper aliases for varjo_ChannelIndex.
Left camera channel. Alias for varjo_ChannelIndex_First.
|
static |
Right camera channel. Alias for varjo_ChannelIndex_Second.
|
static |
Second channel.
|
static |
|
static |
|
static |
|
static |
OpenCV compatible Omnidir calibration model.
|
static |
Invalid id for any ID type (e.g.
StreamId, BufferId).
|
static |
Distorted (i.e.
uncorrected) color data stream from visible light RGB camera.
Color data frames contain the following additional data for each channel:
|
static |
HDR lighting estimate stream as a cubemap.
Values are linear, RGB=(1, 1, 1) corresponds to a luminance of 100 cd/m^2. Alpha channel indicates cubemap coverage.
Contains a single frame with the following additional data:
Cubemap layout:
CPU buffer contains the faces packed into a single column:
|
static |
Distorted (i.e.
uncorrected) luminance data stream from eye tracking monochrome camera.
Frames contain the following additional data for each channel: