VAPOR3 3.9.4
|
Strategy pattern for volume rendering algorithms. More...
#include <VolumeAlgorithm.h>
Public Types | |
enum class | Type { Any , DVR , Iso } |
Public Member Functions | |
VolumeAlgorithm (GLManager *gl, VolumeRenderer *renderer) | |
virtual | ~VolumeAlgorithm () |
virtual void | SaveDepthBuffer (bool fast) |
virtual int | Render (bool fast)=0 |
virtual int | LoadData (const Grid *grid)=0 |
virtual int | LoadSecondaryData (const Grid *grid)=0 |
virtual void | DeleteSecondaryData ()=0 |
virtual void | GetFinalBlendingMode (int *src, int *dst)=0 |
virtual bool | RequiresChunkedRendering ()=0 |
virtual float | GuestimateFastModeSpeedupFactor () const |
virtual int | CheckHardwareSupport (const Grid *grid) const |
Static Public Member Functions | |
static VolumeAlgorithm * | NewAlgorithm (const std::string &name, GLManager *gl, VolumeRenderer *renderer) |
static void | Register (VolumeAlgorithmFactory *f) |
Protected Member Functions | |
VolumeParams * | GetParams () const |
ViewpointParams * | GetViewpointParams () const |
AnnotationParams * | GetAnnotationParams () const |
Transform * | GetDatasetTransform () const |
void | GetExtents (glm::vec3 *dataMin, glm::vec3 *dataMax, glm::vec3 *userMin, glm::vec3 *userMax) const |
Protected Attributes | |
GLManager * | _glManager |
Strategy pattern for volume rendering algorithms.
Instances are created with a Factory pattern
Definition at line 30 of file VolumeAlgorithm.h.
|
strong |
Enumerator | |
---|---|
Any | |
DVR | |
Iso |
Definition at line 32 of file VolumeAlgorithm.h.
VAPoR::VolumeAlgorithm::VolumeAlgorithm | ( | GLManager * | gl, |
VolumeRenderer * | renderer | ||
) |
|
inlinevirtual |
Definition at line 35 of file VolumeAlgorithm.h.
|
inlinevirtual |
Reimplemented in VAPoR::VolumeCellTraversal, and VAPoR::VolumeRegular.
Definition at line 49 of file VolumeAlgorithm.h.
|
pure virtual |
Implemented in VAPoR::VolumeAlgorithmNull, and VAPoR::VolumeRegular.
|
protected |
|
protected |
|
protected |
|
pure virtual |
Implemented in VAPoR::VolumeAlgorithmNull, and VAPoR::VolumeGLSL.
|
protected |
|
protected |
|
inlinevirtual |
Reimplemented in VAPoR::VolumeCellTraversal, and VAPoR::VolumeRegular.
Definition at line 48 of file VolumeAlgorithm.h.
|
pure virtual |
|
pure virtual |
Implemented in VAPoR::VolumeAlgorithmNull, and VAPoR::VolumeRegular.
|
static |
|
static |
|
pure virtual |
Implemented in VAPoR::VolumeAlgorithmNull, and VAPoR::VolumeGLSL.
|
pure virtual |
On OSX, some shaders can run for a long time without problems while others will crash if the run too long. It seems to correlate with complexity. Chunked rendering splits the rendering into smaller tasks so they won't crash
Implemented in VAPoR::VolumeAlgorithmNull, VAPoR::VolumeCellTraversal, and VAPoR::VolumeRegular.
|
inlinevirtual |
Reimplemented in VAPoR::VolumeGLSL.
Definition at line 36 of file VolumeAlgorithm.h.
|
protected |
Definition at line 56 of file VolumeAlgorithm.h.