コード例 #1
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);
        }
コード例 #2
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);
        }
コード例 #3
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);
 }
コード例 #4
0
ファイル: SegmentedScan.cs プロジェクト: wpwen/SharpDX
 /// <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);
 }
コード例 #5
0
ファイル: Scan.cs プロジェクト: oeoen/SharpDX
 /// <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);
 }