![]() |
VR-Vantage 2.7 API Documentation
|
Public Member Functions | |
| seGpuProcessor (seDetector *detector, seOptics *optics, seElectronics *electronics, seNoise *noise, seGainLevel *gainLevel, seFilter *filter) | |
| constructor Sensor Effects RT Gpu processing main image processing engine. | |
| ~seGpuProcessor () | |
| destructor | |
| void | initialize () |
| description: initialize CG programs for sensor effects | |
| void | applyGpuSensorEffects (GLint inputTextureId, float *inputImage=NULL, bool swapBuffer=false, bool useTextureRect=false, GLuint outputTextureId=0) |
| description: applies all of the enabled sensor effects using the Gpu. | |
| void | setUseTexFilter (bool flag) |
| set use Texure Filtering flag. | |
| void | setUseTexture2D (bool flag) |
| set use Texure 2D vs texture rectangle flag. | |
| void | setUseLooping (bool flag) |
| set use NV40 Looping flag. | |
| void | setUse888InputEncoding (bool flag) |
| set use 888 floating point encoded input data In order to use HW AA, a rgba8 framebuffer is currently required but that does not provide enough dynamic range for sensor effects such as gain/level and halos. | |
| void | setInputSize (int width, int height, bool use888Encoding=false) |
| set input size in width and height When the input size changes everything is initialized to work with the new resolution. | |
| void | setInputOffset (int x, int y) |
| set input offset | |
| int | getInputWidth () const |
| get input window width | |
| int | getInputHeight () const |
| get input window height | |
| void | setSaveImage (char *saveFileName, bool preAperture=false, bool continuous=false, bool flip=true) |
| setup saving the radiance image output of sensim into a raw floating point format. | |
| void | setStopContinuous () |
| Set the flag to stop writing out continuous fpf data. | |
| void | setSaveImageFileName (char *saveFileName) |
| setup file name for saving the radiance image output of sensim into a raw floating point format. | |
| void | setSavePreApertureImage (bool preAperture) |
| setup saving the radiance image output of sensim before the sensor effects are added (pre-aperture). | |
| void | setSaveContinuousImages (bool continuous) |
| setup saving the radiance image output into a continuous image stream. | |
| void | setFlipSaveImages (bool flip) |
| setup to flip the image that is saved to match ImageJ. | |
| void | setSaveRadianceImageEnable () |
| Cause the saving the radiance image(s) output of sensim to begin. | |
| void | setSaveRadianceImageArrayEnable (bool enable) |
| Cause the saving the radiance image(s) output of sensim to begin without saving files to disk. | |
| float * | getRadianceImageArray () const |
| get image array containing radiance image. | |
| float * | getDownSampledRadianceImageArray () const |
| get image array containing radiance image. | |
| float * | getObjectIDImageArray () const |
| get image array containing object ID image. | |
| float * | getDownSampledObjectIDImageArray () const |
| get image array containing object ID image. | |
| void | getDownSampledImageSize (int &width, int &height) const |
| get image size of the downsampled image array | |
| void | writeWidthHeightFile (char *fileName) |
| Write out a file describing the width and height of the fpf file. | |
| void | setDisplayTextureID (GLuint textureID, bool enable=true) |
| void | setDownSampledImagesEnable (bool bEnable) |
| Enables or disables down sample image capture capability. | |
| bool | getDownSampledImagesEnable () const |
| Returns the state of whether down sampled image capture is enabled or not. | |
| void | setObjectIDRenderingEnable (bool bEnable) |
| Enables or disables rendering object IDs to the buffer. | |
| bool | getObjectIDRenderingEnable () const |
| Returns the state of whether object ID rendering is enabled or not. | |
Protected Member Functions | |
| double | getResolutionRatio () |
| returns ratio of the input resolution to the detector resolution | |
| void | createFBObuffers (int w, int h) |
| create the framebuffer_object buffers | |
| void | initConvolutionProg () |
| initialize fragment programs for convolution | |
| void | initDownSampleProg () |
| initialize down sampling fragment program for AC coupling/AGC histogram | |
| void | initHaloProg (bool sizeChange) |
| initialize fragment programs for halo generation | |
| void | initNoiseTexture (bool fullTexture, float gain, float xOffset=0.0, float yOffset=0.0) |
| void | initScanMaskTexture () |
| void | DrawQuad (imageArea destArea, imageArea srcArea, bool rect) |
| void | doQuadPass (fbObject *srcBuffer, fbObject *destBuffer, imageArea srcArea, imageArea destArea, CGprogram prog) |
| perform convolution from source to destination buffer using given fragment program | |
| void | doConvolution (fbObject *src, fbObject *dest, fbObject *temp) |
| void | doDopplerConvolution (fbObject *src, fbObject *dest, fbObject *temp) |
| void | doDownSample (fbObject *src, fbObject *dest, fbObject *temp) |
| perform convolution based on current settings using an optimized technique | |
| void | doOptimizedFilter (fbObject *src, fbObject *dest, fbObject *temp) |
| generate alll the mip levels and place them in the destination pbuffer | |
| void | makeMipLevels (fbObject *src, fbObject *dest, fbObject *temp) |
| generate alll the mip levels and place them in the destination pbuffer | |
| void | addHalos (fbObject *src, fbObject *dest, fbObject *temp) |
| Add halos based on pixels that exceed a given threshold. | |
| void | initMotionBlurProg () |
| void | doMotionBlur (fbObject *src, fbObject *dest, fbObject *prev) |
| void | getImageFromTexture (double radScale, double radOffset, double gain, double level) |
| read the image from the pbuffer texture and place in the image array | |
| bool | isOptimizeFiltering () |
| are the conditions set up for optimized filtering. | |
| void | applyInputSize (bool useTextureRect) |
| void | initializeGraphicsResources () |
| seGpuProcessor::seGpuProcessor | ( | seDetector * | detector, |
| seOptics * | optics, | ||
| seElectronics * | electronics, | ||
| seNoise * | noise, | ||
| seGainLevel * | gainLevel, | ||
| seFilter * | filter | ||
| ) |
constructor Sensor Effects RT Gpu processing main image processing engine.
| *detector | - pointer to detector data object |
| *optics | - pointer to optics data object |
| *electronics | - pointer to electronics data object |
| *noise | - pointer to noise processing object |
| *gainLevel | - pointer to gain and level processing object |
| *filter | - pointer to filter processing object |
| seGpuProcessor::~seGpuProcessor | ( | ) |
destructor
| void seGpuProcessor::initialize | ( | ) |
description: initialize CG programs for sensor effects
| void seGpuProcessor::applyGpuSensorEffects | ( | GLint | inputTextureId, |
| float * | inputImage = NULL, |
||
| bool | swapBuffer = false, |
||
| bool | useTextureRect = false, |
||
| GLuint | outputTextureId = 0 |
||
| ) |
description: applies all of the enabled sensor effects using the Gpu.
| inputTextureId | - optional texture to read the input from instead of the framebuffer |
| inputImage | - no longer used - now saveImage API is used |
| swapBuffer | |
| useTextureRect | |
| outputTextureId | - optional texture to save the SensorFX output to instead of the framebuffer |
set use Texure Filtering flag.
Using the GPU's texture filtering in parallel with the pixel shader increases performance. Normally set true.
| flag |
References m_useTexFilter.
set use Texure 2D vs texture rectangle flag.
The texture rectangle is 32 bit float vs 16 bit float on NV40 Normally set true.
| flag |
References m_useTexture2D.
set use NV40 Looping flag.
Use the NV40 ability to loop within a pixel shader. Looping is slower than unrolling the loops. Normally set false unless a large filter is needed.
| flag |
References m_useLooping.
set use 888 floating point encoded input data In order to use HW AA, a rgba8 framebuffer is currently required but that does not provide enough dynamic range for sensor effects such as gain/level and halos.
So the floating point result of the rendering is converted into the 3 8bit channels and then reverted before sensor effects are applied.
| flag |
References m_use888InputEncoding.
set input size in width and height When the input size changes everything is initialized to work with the new resolution.
| width | - width of input texture |
| height | - height of input texture |
| use888Encoding | - use if 888 encoding is changing in real-time |
set input offset
| x | - offset in the x direction |
| y | - offset in the y direction |
|
inline |
|
inline |
| void seGpuProcessor::setSaveImage | ( | char * | saveFileName, |
| bool | preAperture = false, |
||
| bool | continuous = false, |
||
| bool | flip = true |
||
| ) |
setup saving the radiance image output of sensim into a raw floating point format.
| char | *saveFileName |
| bool | preAperture |
| void seGpuProcessor::setStopContinuous | ( | ) |
Set the flag to stop writing out continuous fpf data.
| void seGpuProcessor::setSaveImageFileName | ( | char * | saveFileName | ) |
setup file name for saving the radiance image output of sensim into a raw floating point format.
| char | *saveFileName |
setup saving the radiance image output of sensim before the sensor effects are added (pre-aperture).
| bool | preAperture |
setup saving the radiance image output into a continuous image stream.
| bool | continuous |
setup to flip the image that is saved to match ImageJ.
| bool | flip |
| void seGpuProcessor::setSaveRadianceImageEnable | ( | ) |
Cause the saving the radiance image(s) output of sensim to begin.
Cause the saving the radiance image(s) output of sensim to begin without saving files to disk.
| float* seGpuProcessor::getRadianceImageArray | ( | ) | const |
get image array containing radiance image.
| float* seGpuProcessor::getDownSampledRadianceImageArray | ( | ) | const |
get image array containing radiance image.
| float* seGpuProcessor::getObjectIDImageArray | ( | ) | const |
get image array containing object ID image.
| float* seGpuProcessor::getDownSampledObjectIDImageArray | ( | ) | const |
get image array containing object ID image.
get image size of the downsampled image array
References m_downSampleHeight, and m_downSampleWidth.
| void seGpuProcessor::writeWidthHeightFile | ( | char * | fileName | ) |
Write out a file describing the width and height of the fpf file.
Enables or disables down sample image capture capability.
References m_bDownSampledImagesEnable.
|
inline |
Returns the state of whether down sampled image capture is enabled or not.
References m_bDownSampledImagesEnable.
Enables or disables rendering object IDs to the buffer.
References m_bObjectIDRenderingEnable.
|
inline |
Returns the state of whether object ID rendering is enabled or not.
References m_bObjectIDRenderingEnable.
|
inlineprotected |
returns ratio of the input resolution to the detector resolution
References dmax(), seDetector::getNumDetectors(), m_detector, m_inHeight, and m_inWidth.
create the framebuffer_object buffers
| w | |
| h |
|
protected |
initialize fragment programs for convolution
|
protected |
initialize down sampling fragment program for AC coupling/AGC histogram
initialize fragment programs for halo generation
|
protected |
| fullTexture | |
| gain | |
| xOffset | |
| yOffset |
|
protected |
| destArea | |
| srcArea | |
| rect |
|
protected |
perform convolution from source to destination buffer using given fragment program
| *srcBuffer | |
| *destBuffer | |
| srcArea | |
| destArea | |
| prog |
| *src | |
| *dest | |
| *temp |
|
protected |
| *src | |
| *dest | |
| *temp |
perform convolution based on current settings using an optimized technique
| *src | |
| *dest | |
| *temp |
|
protected |
generate alll the mip levels and place them in the destination pbuffer
| *src | |
| *dest | |
| *temp |
generate alll the mip levels and place them in the destination pbuffer
| *src | |
| *dest | |
| *temp |
Add halos based on pixels that exceed a given threshold.
| *src | |
| *dest | |
| *temp |
|
protected |
|
protected |
read the image from the pbuffer texture and place in the image array
| *inputImage | |
| gain | |
| level |
|
protected |
are the conditions set up for optimized filtering.
|
protected |
|
protected |
pointer to detector object
Referenced by getResolutionRatio().
|
protected |
pointer to optics object
|
protected |
pointer to electronics object
|
protected |
pointer to noise object
|
protected |
pointer to gain/level object
|
protected |
pointer to filter object
|
protected |
render targets
|
protected |
data array for noise texture data
|
protected |
|
protected |
data array for scan mask texture data
|
protected |
Cg context.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
for halo processing
|
protected |
|
protected |
|
protected |
for downsampling for Ac coupling and AGC
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by setUseTexFilter().
|
protected |
Referenced by setUseTexture2D().
|
protected |
Referenced by setUseLooping().
|
protected |
Referenced by setUse888InputEncoding().
|
protected |
Referenced by getObjectIDRenderingEnable(), and setObjectIDRenderingEnable().
|
protected |
Referenced by getDownSampledImagesEnable(), and setDownSampledImagesEnable().
|
protected |
Referenced by getInputWidth(), and getResolutionRatio().
|
protected |
Referenced by getInputHeight(), and getResolutionRatio().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
protected |
|
mutableprotected |
|
protected |
Referenced by getDownSampledImageSize().
|
protected |
Referenced by getDownSampledImageSize().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
protected |
|
mutableprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |