Struct TextureTransform
Represents settings for converting between textures and tensors.
Create an instance of TextureTransform
using the constructor, then use the TextureTransform
object as a parameter in TextureConverter
methods.
For example: TextureTransform settings = new TextureTransform().SetDimensions(256, 256, 4).SetTensorLayout(TensorLayout.NHWC);
Inherited Members
Namespace: Unity.Sentis
Assembly: Unity.Sentis.dll
Syntax
public struct TextureTransform
Methods
SetBroadcastChannels(bool)
Sets the default behaviour when the output texture has more channels than the input tensor.
When broadcastChannels
is true
, Sentis broadcasts the tensor values to additional channels in the render texture. For example, a tensor with a single channel R maps to (R, R, R, R) if the number of channels is 4.
When broadcastChannels
is false
, Sentis applies a (0, 0, 0, 1) color mask to additional channels in the render texture. For example, a tensor with a single channel R becomes (R, 0, 0, 1) if the number of channels is 4.
Declaration
public TextureTransform SetBroadcastChannels(bool broadcastChannels)
Parameters
Type | Name | Description |
---|---|---|
bool | broadcastChannels | Whether to broadcast the input channels across output channels. |
Returns
Type | Description |
---|---|
TextureTransform |
|
SetChannelColorMask(bool, bool, bool, bool, Color)
Sets which channels in the output texture ignore input tensor values and write a specific color
instead.
The method returns a TextureTransform
that you can use to chain other methods.
Declaration
public TextureTransform SetChannelColorMask(bool maskR, bool maskG, bool maskB, bool maskA, Color color)
Parameters
Type | Name | Description |
---|---|---|
bool | maskR | The mask value for the red channel. |
bool | maskG | The mask value for the green channel. |
bool | maskB | The mask value for the blue channel. |
bool | maskA | The mask value for the alpha channel. |
Color | color | The color value to use when masking. |
Returns
Type | Description |
---|---|
TextureTransform |
|
SetChannelColorMask(Channel, bool, float)
Sets a specific texture channel, for example Channel.R
, to a specific color
. The channel ignores input tensor values.
Declaration
public TextureTransform SetChannelColorMask(Channel c, bool mask, float color)
Parameters
Type | Name | Description |
---|---|---|
Channel | c | The color channel to set. |
bool | mask | When the value is |
float | color | The color value to use. |
Returns
Type | Description |
---|---|
TextureTransform |
|
SetChannelSwizzle(int, int, int, int)
Sets which channels in the tensor map to which RGBA channels in the texture, using four channel position values.
A color mask for tensor to texture conversions might override this setting.
Declaration
public TextureTransform SetChannelSwizzle(int channelSwizzleR = 0, int channelSwizzleG = 1, int channelSwizzleB = 2, int channelSwizzleA = 3)
Parameters
Type | Name | Description |
---|---|---|
int | channelSwizzleR | Index in tensor channel axis for red texture channel. |
int | channelSwizzleG | Index in tensor channel axis for green texture channel. |
int | channelSwizzleB | Index in tensor channel axis for blue texture channel. |
int | channelSwizzleA | Index in tensor channel axis for alpha texture channel. |
Returns
Type | Description |
---|---|
TextureTransform |
|
SetChannelSwizzle(Channel, int)
Sets a specific texture channel, for example Channel.R
, to a specific position in the tensor.
A color mask for tensor to texture conversions might override this setting.
Declaration
public TextureTransform SetChannelSwizzle(Channel c, int swizzle)
Parameters
Type | Name | Description |
---|---|---|
Channel | c | The color channel to set. |
int | swizzle | The index in the channel tensor axis. |
Returns
Type | Description |
---|---|
TextureTransform |
|
SetChannelSwizzle(ChannelSwizzle)
Sets which channels in the tensor map to which RGBA channels in the texture, using a ChannelSwizzle
enum value.
A color mask for tensor to texture conversions might override this setting.
Declaration
public TextureTransform SetChannelSwizzle(ChannelSwizzle channelSwizzle)
Parameters
Type | Name | Description |
---|---|---|
ChannelSwizzle | channelSwizzle | The channel swizzle enum to use. |
Returns
Type | Description |
---|---|
TextureTransform |
|
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | Thrown if unknown |
SetCoordOrigin(CoordOrigin)
Sets the position of the origin (0, 0) in the tensor.
Declaration
public TextureTransform SetCoordOrigin(CoordOrigin coordOrigin)
Parameters
Type | Name | Description |
---|---|---|
CoordOrigin | coordOrigin | The position of the texture origin in the tensor. |
Returns
Type | Description |
---|---|
TextureTransform |
|
SetDimensions(int, int, int)
Sets the dimensions of the output texture or tensor. The default value is -1, which means Sentis infers the dimensions from the input texture or tensor.
If the width and height of the input don't match the width and height of the output, Sentis applies linear resampling.
If you use SetDimensions
in a blit to an existing texture, Sentis ignores width
, height
, and channels
.
The method returns a TextureTransform
that you can use to chain other methods.
Declaration
public TextureTransform SetDimensions(int width = -1, int height = -1, int channels = -1)
Parameters
Type | Name | Description |
---|---|---|
int | width | The width to use for the output. |
int | height | The height to use for the output. |
int | channels | The channel count to use for the output. |
Returns
Type | Description |
---|---|
TextureTransform |
|
SetTensorLayout(int, int, int, int)
Sets the layout of the input tensor with four int values.
Declaration
public TextureTransform SetTensorLayout(int tensorLayoutAxisN, int tensorLayoutAxisC, int tensorLayoutAxisH, int tensorLayoutAxisW)
Parameters
Type | Name | Description |
---|---|---|
int | tensorLayoutAxisN | The axis in the tensor for the batch size of the texture. |
int | tensorLayoutAxisC | The axis in the tensor for the channel count of the texture. |
int | tensorLayoutAxisH | The axis in the tensor for the height of the texture. |
int | tensorLayoutAxisW | The axis in the tensor for the width of the texture. |
Returns
Type | Description |
---|---|
TextureTransform |
|
SetTensorLayout(TensorLayout)
Sets the layout of the input tensor with a TensorLayout
object, for example TensorLayout.NHWC
. The default is TensorLayout.NCHW
.
Declaration
public TextureTransform SetTensorLayout(TensorLayout tensorLayout)
Parameters
Type | Name | Description |
---|---|---|
TensorLayout | tensorLayout |
Returns
Type | Description |
---|---|
TextureTransform |
|
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | Thrown if unknown |