/// <summary> /// Creates a new one-dimensional complex FFT. /// </summary> /// <param name="context">Pointer to the <see cref="SharpDX.Direct3D11.DeviceContext"/> interface to use for the FFT. </param> /// <param name="x">Length of the first dimension of the FFT. </param> /// <param name="flags">Flag affecting the behavior of the FFT, can be 0 or a combination of flags from <see cref="SharpDX.Direct3D11.FastFourierTransformCreationFlags"/>. </param> /// <returns>an <see cref="SharpDX.Direct3D11.FastFourierTransform"/> interface reference.</returns> /// <unmanaged>HRESULT D3DX11CreateFFT1DComplex([None] ID3D11DeviceContext* pDeviceContext,[None] int X,[None] int Flags,[Out] D3DX11_FFT_BUFFER_INFO* pBufferInfo,[Out] ID3DX11FFT** ppFFT)</unmanaged> public static FastFourierTransform Create1DComplex(DeviceContext context, int x, FastFourierTransformCreationFlags flags) { FastFourierTransformBufferRequirements info; FastFourierTransform temp; D3DCSX.CreateFFT1DComplex(context, x, (int)flags, out info, out temp); temp.BufferRequirements = info; return(temp); }
/// <summary> /// Creates a new three-dimensional real FFT. /// </summary> /// <param name="context">Pointer to the <see cref="SharpDX.Direct3D11.DeviceContext"/> interface to use for the FFT. </param> /// <param name="x">Length of the first dimension of the FFT.</param> /// <param name="y">Length of the second dimension of the FFT.</param> /// <param name="z">Length of the third dimension of the FFT.</param> /// <param name="flags">Flag affecting the behavior of the FFT, can be 0 or a combination of flags from <see cref="SharpDX.Direct3D11.FastFourierTransformCreationFlags"/>. </param> /// <returns>an <see cref="SharpDX.Direct3D11.FastFourierTransform"/> interface reference.</returns> /// <unmanaged>HRESULT D3DX11CreateFFT1DReal([None] ID3D11DeviceContext* pDeviceContext,[None] int X,[None] int Flags,[Out] D3DX11_FFT_BUFFER_INFO* pBufferInfo,[Out] ID3DX11FFT** ppFFT)</unmanaged> public static FastFourierTransform Create3DReal(DeviceContext context, int x, int y, int z, FastFourierTransformCreationFlags flags) { FastFourierTransformBufferRequirements info; FastFourierTransform temp; D3DCSX.CreateFFT3DReal(context, x, y, z, (int)flags, out info, out temp); temp.BufferRequirements = info; return(temp); }
/// <summary> /// Initializes a new instance of the <see cref="T:SharpDX.Direct3D11.FastFourierTransform" /> class. /// </summary> /// <param name="context">The device context used to create the FFT.</param> /// <param name="description">Information that describes the shape of the FFT data as well as the scaling factors that should be used for forward and inverse transforms.</param> /// <param name="flags">Flag affecting the behavior of the FFT.</param> public FastFourierTransform(DeviceContext context, FastFourierTransformDescription description, FastFourierTransformCreationFlags flags) : base(IntPtr.Zero) { D3DCSX.CreateFFT(context, ref description, (int)flags, out _bufferRequirements, this); }
/// <summary> /// Creates a segmented scan context. /// </summary> /// <param name="deviceContext">Pointer to an <see cref="SharpDX.Direct3D11.DeviceContext"/> interface. </param> /// <param name="maxElementScanSize">Maximum single scan size, in elements (FLOAT, UINT, or INT). </param> /// <unmanaged>HRESULT D3DX11CreateSegmentedScan([In] ID3D11DeviceContext* pDeviceContext,[None] int MaxElementScanSize,[Out] ID3DX11SegmentedScan** ppScan)</unmanaged> public SegmentedScan(DeviceContext deviceContext, int maxElementScanSize) { D3DCSX.CreateSegmentedScan(deviceContext, maxElementScanSize, this); }
/// <summary> /// Creates a scan context. /// </summary> /// <param name="deviceContext">The <see cref="SharpDX.Direct3D11.DeviceContext"/> the scan is associated with. </param> /// <param name="maxElementScanSize">Maximum single scan size, in elements (FLOAT, UINT, or INT) </param> /// <param name="maxScanCount">Maximum number of scans in multiscan. </param> /// <unmanaged>HRESULT D3DX11CreateScan([In] ID3D11DeviceContext* pDeviceContext,[None] int MaxElementScanSize,[None] int MaxScanCount,[Out] ID3DX11Scan** ppScan)</unmanaged> public Scan(DeviceContext deviceContext, int maxElementScanSize, int maxScanCount) { D3DCSX.CreateScan(deviceContext, maxElementScanSize, maxScanCount, this); }