SoConvolutionDoSeparateConvolution2D Method (SoBufferObject, SoBufferObject, Single, Int32, Int32) |
This function performs a 2D convolution on a two dimensional buffer using a 1D kernel.
Namespace: OIV.Inventor.Algorithms
public int DoSeparateConvolution2D( SoBufferObject sourceBufferObject, SoBufferObject targetBufferObject, float[] kernelData, int width, int height )
The input float buffer.
The output float buffer.
The kernel values.
The width of the two dimensional buffer.
The height of the two dimensional buffer.
Returns 0 if there is no error, 1 if one of the buffers is two small.
The data in the input buffer must contain floats.
The function puts float values in the output buffer.
The 2D convolution performs a row convolution followed by a column convolution using the same kernel for the two passes.
To do a 2D convolution with two different 1D kernels use the row/column methods OIV.Inventor.Algorithms.SoConvolution.DoSeparateConvolutionRow(OIV.Inventor.Devices.SoBufferObject, OIV.Inventor.Devices.SoBufferObject, System.Single[], System.Int32, System.Int32) and OIV.Inventor.Algorithms.SoConvolution.DoSeparateConvolutionColumn(OIV.Inventor.Devices.SoBufferObject, OIV.Inventor.Devices.SoBufferObject, System.Single[], System.Int32, System.Int32).