/// <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> /// 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 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> /// 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> /// 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 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); }