Class TexturesExtension
Subclass of CompositionLayerExtension to support defining textures, and the rects for rendering those textures for a CompositionLayer instance on the same game object.
Source rect is used to define the rectangle within the source texture that the layer provider should use when reading texture information for the layer.
Destination rect is used to define the rectangle within the source texture that the layer provider should use when writing texture information for the layer.
Support for this component is up the the instance of ILayerProvider currently assigned to the CompositionLayerManager.
If this extension is not added to a layer game object, it is expected that the provider will provide the necessary textures in some other way. This may occur in cases such as the rendering of protected content.
Inheritance
Inherited Members
Namespace: Unity.XR.CompositionLayers.Extensions
Assembly: solution.dll
Syntax
[ExecuteAlways]
[DisallowMultipleComponent]
[AddComponentMenu("XR/Composition Layers/Extensions/Source Textures")]
public class TexturesExtension : CompositionLayerExtension
Properties
CropToAspect
Crop to the texture's aspect ratio
If true, the hosting layer will crop its aspect ratio within the height/width bounds set in the layer properties.
Declaration
public bool CropToAspect { get; set; }
Property Value
Type | Description |
---|---|
bool |
CustomRects
When true the rect values for source and destination can be modified to custom values.
Declaration
public bool CustomRects { get; set; }
Property Value
Type | Description |
---|---|
bool |
InEditorEmulation
When 0 Emultion is used on left eye when 1 it is used on the right.
Declaration
public int InEditorEmulation { get; set; }
Property Value
Type | Description |
---|---|
int |
LeftEyeDestinationRect
Left eye destination rectangle.
Rects should always be clamped to be within the [0, 1] range.
Declaration
public Rect LeftEyeDestinationRect { get; set; }
Property Value
Type | Description |
---|---|
Rect |
LeftEyeSourceRect
Left eye source rectangle.
Rects should always be clamped to be within the [0, 1] range.
Declaration
public Rect LeftEyeSourceRect { get; set; }
Property Value
Type | Description |
---|---|
Rect |
LeftTexture
The texture instance to be used for the left eye. If TargetEye is not TargetEyeFlagsTargetEyeFlags or TargetEyeFlagsTargetEyeFlags then this should not be used.
Declaration
public Texture LeftTexture { get; set; }
Property Value
Type | Description |
---|---|
Texture |
Resolution
External texture resolution (Android Only).
Declaration
public Vector2 Resolution { get; set; }
Property Value
Type | Description |
---|---|
Vector2 |
RightEyeDestinationRect
Right eye destination rectangle.
Rects should always be clamped to be within the [0, 1] range.
Declaration
public Rect RightEyeDestinationRect { get; set; }
Property Value
Type | Description |
---|---|
Rect |
RightEyeSourceRect
Right eye source rectangle.
Rects should always be clamped to be within the [0, 1] range.
Declaration
public Rect RightEyeSourceRect { get; set; }
Property Value
Type | Description |
---|---|
Rect |
RightTexture
The texture instance to be used for the right eye. If TargetEye is not TargetEyeFlagsTargetEyeFlagst or TargetEyeFlagsTargetEyeFlags then this should not be used.
Declaration
public Texture RightTexture { get; set; }
Property Value
Type | Description |
---|---|
Texture |
Target
Options for which type of object this extension should be associated with.
Declaration
public override CompositionLayerExtension.ExtensionTarget Target { get; }
Property Value
Type | Description |
---|---|
CompositionLayerExtension.ExtensionTarget |
Overrides
TargetEye
Defines the eye range that this instance is defined to support.
Declaration
public TexturesExtension.TargetEyeEnum TargetEye { get; set; }
Property Value
Type | Description |
---|---|
TexturesExtension.TargetEyeEnum |
TextureAdded
Boolean value to track if layer's source texture be added during update
Declaration
public bool TextureAdded { get; set; }
Property Value
Type | Description |
---|---|
bool |
sourceTexture
When true the layer will be used for render Android external surface.
Declaration
public TexturesExtension.SourceTextureEnum sourceTexture { get; set; }
Property Value
Type | Description |
---|---|
TexturesExtension.SourceTextureEnum |
Methods
GetNativeStructPtr()
Return a pointer to this extension's native struct.
Declaration
public override void* GetNativeStructPtr()
Returns
Type | Description |
---|---|
void* | the pointer to texture extension's native struct. |