Arithmetic functions for CUDA buffers
More...
#include <Inventor/cuda/algorithms/SoArithmetic.h>
Public Member Functions | |
| SoCudaArithmetic () | |
| virtual int | add (SoBufferObject *inputBufferA, const SbDataType typeA, SoBufferObject *inputBufferB, const SbDataType typeB, SoBufferObject *outputBufferC, const SbDataType typeC) |
| int | add (SoCudaBufferObject *inputBufferA, const SbDataType typeA, SoCudaBufferObject *inputBufferB, const SbDataType typeB, SoCudaBufferObject *outputBufferC, const SbDataType typeC) |
| virtual int | mult (SoBufferObject *intpuBufferA, const SbDataType typeA, SoBufferObject *intpuBufferB, const SbDataType typeB, SoBufferObject *outputBufferC, const SbDataType typeC) |
| int | mult (SoCudaBufferObject *inputBufferA, const SbDataType typeA, SoCudaBufferObject *inputBufferB, const SbDataType typeB, SoCudaBufferObject *outputBufferC, const SbDataType typeC) |
| virtual int | scale (SoBufferObject *inputBufferA, const SbDataType typeA, SoBufferObject *outputBufferB, const SbDataType typeB, const float scaleValue) |
| int | scale (SoCudaBufferObject *inputBufferA, const SbDataType typeA, SoCudaBufferObject *outputBufferB, const SbDataType typeB, const float scaleValue) |
| virtual int | shift (SoBufferObject *inputBufferA, const SbDataType typeA, SoBufferObject *outputBufferB, const SbDataType typeB, const float shiftFactor) |
| int | shift (SoCudaBufferObject *inputBufferA, const SbDataType typeA, SoCudaBufferObject *outputBufferB, const SbDataType typeB, const float shiftFactor) |
| virtual int | madd (SoBufferObject *inputBufferA, const SbDataType typeA, SoBufferObject *inputBufferB, const SbDataType typeB, SoBufferObject *outputBufferC, const SbDataType typeC, const float scaleValue) |
| int | madd (SoCudaBufferObject *inputBufferA, const SbDataType typeA, SoCudaBufferObject *inputBufferB, const SbDataType typeB, SoCudaBufferObject *outputBufferC, const SbDataType typeC, const float scaleValue) |
Arithmetic functions for CUDA buffers
The Arithmetic module provides basic Add, Multiply, etc functions that operate on buffers.
NOTE: The classes in this module do not exist in Open Inventor 10.0 and later.Examples:
| SoCudaArithmetic::SoCudaArithmetic | ( | ) |
Constructor.
| int SoCudaArithmetic::add | ( | SoCudaBufferObject * | inputBufferA, | |
| const SbDataType | typeA, | |||
| SoCudaBufferObject * | inputBufferB, | |||
| const SbDataType | typeB, | |||
| SoCudaBufferObject * | outputBufferC, | |||
| const SbDataType | typeC | |||
| ) |
Add two buffers into a third one.
Cuda input version.
| virtual int SoCudaArithmetic::add | ( | SoBufferObject * | inputBufferA, | |
| const SbDataType | typeA, | |||
| SoBufferObject * | inputBufferB, | |||
| const SbDataType | typeB, | |||
| SoBufferObject * | outputBufferC, | |||
| const SbDataType | typeC | |||
| ) | [virtual] |
Add two buffers into a third one.
C = A + B
Note: C can be a reference to A or B.
Limitation: typeA and typeB must be the same as typeC.
Reimplemented from SoArithmetic.
| int SoCudaArithmetic::madd | ( | SoCudaBufferObject * | inputBufferA, | |
| const SbDataType | typeA, | |||
| SoCudaBufferObject * | inputBufferB, | |||
| const SbDataType | typeB, | |||
| SoCudaBufferObject * | outputBufferC, | |||
| const SbDataType | typeC, | |||
| const float | scaleValue | |||
| ) |
C = A * scale + B
Cuda input version.
| virtual int SoCudaArithmetic::madd | ( | SoBufferObject * | inputBufferA, | |
| const SbDataType | typeA, | |||
| SoBufferObject * | inputBufferB, | |||
| const SbDataType | typeB, | |||
| SoBufferObject * | outputBufferC, | |||
| const SbDataType | typeC, | |||
| const float | scaleValue | |||
| ) | [virtual] |
C = A * scale + B
Note: C can be a reference to A or B
Limitation: typeA and typeB must be the same as typeC.
Reimplemented from SoArithmetic.
| int SoCudaArithmetic::mult | ( | SoCudaBufferObject * | inputBufferA, | |
| const SbDataType | typeA, | |||
| SoCudaBufferObject * | inputBufferB, | |||
| const SbDataType | typeB, | |||
| SoCudaBufferObject * | outputBufferC, | |||
| const SbDataType | typeC | |||
| ) |
Multiply two buffers into a third one.
Cuda input version.
| virtual int SoCudaArithmetic::mult | ( | SoBufferObject * | intpuBufferA, | |
| const SbDataType | typeA, | |||
| SoBufferObject * | intpuBufferB, | |||
| const SbDataType | typeB, | |||
| SoBufferObject * | outputBufferC, | |||
| const SbDataType | typeC | |||
| ) | [virtual] |
Multiply two buffers into a third one.
C = A * B Note: C can be a reference to A or B
Limitation: typeA and typeB must be the same as typeC
Reimplemented from SoArithmetic.
| int SoCudaArithmetic::scale | ( | SoCudaBufferObject * | inputBufferA, | |
| const SbDataType | typeA, | |||
| SoCudaBufferObject * | outputBufferB, | |||
| const SbDataType | typeB, | |||
| const float | scaleValue | |||
| ) |
B = A * scaleFactor
Cuda input version.
| virtual int SoCudaArithmetic::scale | ( | SoBufferObject * | inputBufferA, | |
| const SbDataType | typeA, | |||
| SoBufferObject * | outputBufferB, | |||
| const SbDataType | typeB, | |||
| const float | scaleValue | |||
| ) | [virtual] |
B = A * scaleFactor
Note: B can be a reference to A
Limitation: typeA must be the same as typeC.
Reimplemented from SoArithmetic.
| int SoCudaArithmetic::shift | ( | SoCudaBufferObject * | inputBufferA, | |
| const SbDataType | typeA, | |||
| SoCudaBufferObject * | outputBufferB, | |||
| const SbDataType | typeB, | |||
| const float | shiftFactor | |||
| ) |
B = A + shiftFactor
Cuda input version.
| virtual int SoCudaArithmetic::shift | ( | SoBufferObject * | inputBufferA, | |
| const SbDataType | typeA, | |||
| SoBufferObject * | outputBufferB, | |||
| const SbDataType | typeB, | |||
| const float | shiftFactor | |||
| ) | [virtual] |
B = A + shiftFactor
Note: B can be a reference to A
Limitation: typeA must be the same as typeC.
Reimplemented from SoArithmetic.