Class D3D12UVRemapMap
- Namespace
- VisioForge.Core.Types.X.VideoEffects
- Assembly
- VisioForge.Core.dll
A UV remap map for the Direct3D 12 remap block: for every point of the output frame, the point of the input frame it shows. The map is stretched over the output frame, so its size does not have to match the video's. The map is copied when it is created; changing the source array afterwards does not change the map.
[JsonConverter(typeof(D3D12UVRemapMapJsonConverter))]
public class D3D12UVRemapMapInheritance
Inherited Members
Constructors
D3D12UVRemapMap(int, int, ushort[])
Initializes a new instance of the VisioForge.Core.Types.X.VideoEffects.D3D12UVRemapMap class.
public D3D12UVRemapMap(int width, int height, ushort[] data)Parameters
widthint-
The width of the map, from 1 to VisioForge.Core.Types.X.VideoEffects.D3D12UVRemapMap.MaxSize.
heightint-
The height of the map, from 1 to VisioForge.Core.Types.X.VideoEffects.D3D12UVRemapMap.MaxSize.
dataushort[]-
Four values per map point, row by row from the top left: U, V, unused and mask. U and V are the horizontal and vertical position in the input frame, 0 to 65535 for 0 to 1 of its width and height. A mask of 32768 or more shows the input at U, V; a smaller one shows the background (black). The length must be
width*height* 4.
Exceptions
- ArgumentNullException
-
dataisnull. - ArgumentOutOfRangeException
-
widthorheightis out of range. - ArgumentException
-
datadoes not havewidth*height* 4 values.
Fields
MaxSize
The largest width or height of a map: the Direct3D 12 limit for a 2D texture. A map takes 8 bytes per
point, and the copy made at creation as many again: a 16384x16384 map is 2 GB, beyond the .NET
Framework's array limit unless gcAllowVeryLargeObjects is set. A map the size of the video is plenty.
public const int MaxSize = 16384Field Value
Properties
Height
Gets the height of the map.
public int Height { get; }Property Value
Width
Gets the width of the map.
public int Width { get; }