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.