/// <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;
 }
예제 #4
0
        /// <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);
        }
예제 #5
0
 /// <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);
 }
예제 #6
0
        /// <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);
        }