API reference

OVRPassthroughLayer Class

Extends MonoBehaviour
A layer used for passthrough.

Member Enumerations

Enumeration ProjectionSurfaceType

The passthrough projection surface type: reconstructed | user defined.
Reconstructed
No description available
UserDefined
UserDefined allows you to define a surface.

Enumeration ColorMapEditorType

Unity editor enumerator to provide a dropdown in the inspector.
None
= 0
GrayscaleToColor
= 1
Controls
= GrayscaleToColor
Custom
= 2
Grayscale
= 3
ColorAdjustment
= 4
ColorLut
= 5
InterpolatedColorLut
= 6

Fields

ProjectionSurfaceType projectionSurfaceType[Get]
The type of the surface which passthrough textures are projected on: Automatic reconstruction or user-defined geometry.
This field can only be modified immediately after the component is instantiated (e.g. using AddComponent). Once the backing layer has been created, changes won't be reflected unless the layer is disabled and enabled again. Default is automatic reconstruction.
OVROverlay.OverlayType overlayType[Get]
Overlay type that defines the placement of the passthrough layer to appear on top as an overlay or beneath as an underlay of the application’s main projection layer.
By default, the passthrough layer appears as an overlay.
int compositionDepth[Get]
The compositionDepth defines the order of the layers in composition.
The layer with smaller compositionDepth would be composited in the front of the layer with larger compositionDepth. The default value is zero.
bool hidden[Get]
Property that can hide layers when required.
Should be false when present, true when hidden. By default, the value is set to false, which means the layers are present.
bool overridePerLayerColorScaleAndOffset[Get]
Specify whether colorScale and colorOffset should be applied to this layer.
By default, the color scale and offset are not applied to the layer.
Vector4 colorScale[Get]
Color scale is a factor applied to the pixel color values during compositing.
The four components of the vector correspond to the R, G, B, and A values, default set to {1,1,1,1}.
Vector4 colorOffset[Get]
Color offset is a value which gets added to the pixel color values during compositing.
The four components of the vector correspond to the R, G, B, and A values, default set to {0,0,0,0}.
Gradient colorMapEditorGradient[Get]
This field is not intended for public scripting.
Use SetColorMapControls() instead.
float colorMapEditorContrast[Get]
This field is not intended for public scripting.
float colorMapEditorBrightness[Get]
This field is not intended for public scripting.
float colorMapEditorPosterize[Get]
This field is not intended for public scripting.
Use SetColorMapControls() instead.
float colorMapEditorSaturation[Get]
This field is not intended for public scripting.

Properties

float textureOpacity[Get]
Float that defines the passthrough texture opacity.
Value range from 0f to 1f.
bool edgeRenderingEnabled[Get]
Enable or disable the Edge rendering.
Use this flag to enable or disable the edge rendering but retain the previously selected color (incl. alpha) in the UI when it is disabled.
Color edgeColor[Get]
Color for the edge rendering.
ColorMapEditorType colorMapEditorType[Get]
Editor attribute to get or set the selection in the inspector.
Using this selection will update the colorMapType and colorMapData if needed.
OVROverlay.OverlayShape overlayShape[Get]

Events

Action PassthroughLayerResumed
Occurs when a passthrough layer has been rendered and presented on the HMD screen for the first time after being restarted.

Member Functions

void AddSurfaceGeometry
( GameObject obj,
bool updateTransform )
Add a GameObject to the Insight Passthrough projection surface.
This is only applicable if the projection surface type is UserDefined. When updateTransform parameter is set to true, OVRPassthroughLayer will update the transform of the surface mesh every frame. Otherwise only the initial transform is recorded.
Parameters
obj
The Gameobject you want to add to the Insight Passthrough projection surface.
updateTransform
Indicate if the transform should be updated every frame
void RemoveSurfaceGeometry
( GameObject obj )
Removes a GameObject that was previously added using AddSurfaceGeometry from the projection surface.
Parameters
obj
The Gameobject to remove.
bool IsSurfaceGeometry
( GameObject obj )
Checks if the given gameobject is a surface geometry (If called with AddSurfaceGeometry).
Returns
True if the gameobject is a surface geometry.
void SetColorMap
( Color[] values )
This color map method allows to recolor the grayscale camera images by specifying a color lookup table.
Scripts should call the designated methods to set a color map. The fields and properties are only intended for the inspector UI.
Parameters
values
The color map as an array of 256 color values to map each grayscale input to a color.
void SetColorLut
float weight )
Applies a color LUT to the passthrough layer.
Parameters
lut
weight
Value between 0 and 1 which defines the blend between the original Passthrough colors and the LUT. If weight is 0, the appearance of Passthrough is unchanged. If weight is 1, the colors are fully taken from the LUT. Values between 0 and 1 lead to a linear interpolation between the original color and the LUT color. This value can be animated to create smooth transitions.
void SetColorLut
( OVRPassthroughColorLut lutSource,
float weight )
Applies the interpolation between two color LUTs to the passthrough layer.
Parameters
lutSource
lutTarget
weight
Value between 0 and 1 which defines the blend between lutSource and lutTarget. The output color is computed as C_result = (1 - weight) * lutSource[C_in] + weight * lutTarget[C_in], where C_in represents the original Passthrough color. This value can be animated to create smooth transitions.
void SetColorMapControls
( float contrast,
float brightness,
float posterize,
Gradient gradient,
ColorMapEditorType colorMapType )
This method allows to generate (and apply) a color map from the set of controls which is also available in inspector.
Parameters
contrast
The contrast value. Range from -1 (minimum) to 1 (maximum).
brightness
The brightness value. Range from 0 (minimum) to 1 (maximum).
posterize
The posterize value. Range from 0 to 1, where 0 = no posterization (no effect), 1 = reduce to two colors.
gradient
The gradient will be evaluated from 0 (no intensity) to 1 (maximum intensity). This parameter only has an effect if colorMapType is GrayscaleToColor.
colorMapType
Type of color map which should be generated. Supported values: Grayscale and GrayscaleToColor.
void SetColorMapMonochromatic
( byte[] values )
This method allows to specify the color map as an array of 256 8-bit intensity values.
Use this to map each grayscale input value to a grayscale output value.
Parameters
values
Array of 256 8-bit values.
void SetBrightnessContrastSaturation
( float brightness,
float contrast,
float saturation )
This method allows to configure brightness and contrast adjustment for Passthrough images.
Parameters
brightness
Modify the brightness of Passthrough. Valid range: [-1, 1]. A value of 0 means that brightness is left unchanged.
contrast
Modify the contrast of Passthrough. Valid range: [-1, 1]. A value of 0 means that contrast is left unchanged.
saturation
Modify the saturation of Passthrough. Valid range: [-1, 1]. A value of 0 means that saturation is left unchanged.
void DisableColorMap ( )
Disables color mapping.
Use this to remove any effects.
void SetStyleDirty ( )
This method is required for internal use only.