SoOpenCLArithmetic Class Reference
[OpenCL algorithms]

VSG extension Arithmetic functions for OpenCL buffers More...

#include <Inventor/OpenCL/algorithms/SoArithmetic.h>

Inheritance diagram for SoOpenCLArithmetic:
SoArithmetic

List of all members.

Public Member Functions

 SoOpenCLArithmetic ()
virtual int add (SoBufferObject *inputBufferA, const SbDataType typeA, SoBufferObject *inputBufferB, const SbDataType typeB, SoBufferObject *outputBufferC, const SbDataType typeC)
int add (SoOpenCLBufferObject *inputBufferA, const SbDataType typeA, SoOpenCLBufferObject *inputBufferB, const SbDataType typeB, SoOpenCLBufferObject *outputBufferC, const SbDataType typeC)
virtual int mult (SoBufferObject *intpuBufferA, const SbDataType typeA, SoBufferObject *intpuBufferB, const SbDataType typeB, SoBufferObject *outputBufferC, const SbDataType typeC)
int mult (SoOpenCLBufferObject *inputBufferA, const SbDataType typeA, SoOpenCLBufferObject *inputBufferB, const SbDataType typeB, SoOpenCLBufferObject *outputBufferC, const SbDataType typeC)
virtual int scale (SoBufferObject *inputBufferA, const SbDataType typeA, SoBufferObject *outputBufferB, const SbDataType typeB, const float scaleValue)
int scale (SoOpenCLBufferObject *inputBufferA, const SbDataType typeA, SoOpenCLBufferObject *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 (SoOpenCLBufferObject *inputBufferA, const SbDataType typeA, SoOpenCLBufferObject *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 (SoOpenCLBufferObject *inputBufferA, const SbDataType typeA, SoOpenCLBufferObject *inputBufferB, const SbDataType typeB, SoOpenCLBufferObject *outputBufferC, const SbDataType typeC, const float scaleValue)

Detailed Description

VSG extension Arithmetic functions for OpenCL 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:


Constructor & Destructor Documentation

SoOpenCLArithmetic::SoOpenCLArithmetic (  ) 

Constructor.


Member Function Documentation

int SoOpenCLArithmetic::add ( SoOpenCLBufferObject inputBufferA,
const SbDataType  typeA,
SoOpenCLBufferObject inputBufferB,
const SbDataType  typeB,
SoOpenCLBufferObject outputBufferC,
const SbDataType  typeC 
)

Add two buffers into a third one.


OpenCL input version.

virtual int SoOpenCLArithmetic::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 SoOpenCLArithmetic::madd ( SoOpenCLBufferObject inputBufferA,
const SbDataType  typeA,
SoOpenCLBufferObject inputBufferB,
const SbDataType  typeB,
SoOpenCLBufferObject outputBufferC,
const SbDataType  typeC,
const float  scaleValue 
)

C = A * scale + B
OpenCL input version.

virtual int SoOpenCLArithmetic::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 SoOpenCLArithmetic::mult ( SoOpenCLBufferObject inputBufferA,
const SbDataType  typeA,
SoOpenCLBufferObject inputBufferB,
const SbDataType  typeB,
SoOpenCLBufferObject outputBufferC,
const SbDataType  typeC 
)

Multiply two buffers into a third one.


OpenCL input version.

virtual int SoOpenCLArithmetic::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 SoOpenCLArithmetic::scale ( SoOpenCLBufferObject inputBufferA,
const SbDataType  typeA,
SoOpenCLBufferObject outputBufferB,
const SbDataType  typeB,
const float  scaleValue 
)

B = A * scaleFactor
OpenCL input version.

virtual int SoOpenCLArithmetic::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 SoOpenCLArithmetic::shift ( SoOpenCLBufferObject inputBufferA,
const SbDataType  typeA,
SoOpenCLBufferObject outputBufferB,
const SbDataType  typeB,
const float  shiftFactor 
)

B = A + shiftFactor
OpenCL input version.

virtual int SoOpenCLArithmetic::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.


The documentation for this class was generated from the following file:

Open Inventor by FEI reference manual, generated on 19 Aug 2019
Copyright © FEI S.A.S. All rights reserved.
http://www.openinventor.com/