VAPOR3 3.9.4
|
Regular grid rendering algorithm. More...
#include <VolumeRegular.h>
Public Member Functions | |
VolumeRegular (GLManager *gl, VolumeRenderer *renderer) | |
~VolumeRegular () | |
virtual bool | RequiresChunkedRendering () |
virtual int | LoadData (const Grid *grid) |
virtual int | LoadSecondaryData (const Grid *grid) |
virtual void | DeleteSecondaryData () |
virtual ShaderProgram * | GetShader () const |
virtual void | SetUniforms (const ShaderProgram *shader) const |
virtual float | GuestimateFastModeSpeedupFactor () const |
virtual int | CheckHardwareSupport (const Grid *grid) const |
Public Member Functions inherited from VAPoR::VolumeGLSL | |
VolumeGLSL (GLManager *gl, VolumeRenderer *renderer) | |
~VolumeGLSL () | |
virtual void | SaveDepthBuffer (bool fast) |
virtual int | Render (bool fast) |
virtual int | LoadData (const Grid *grid) |
virtual ShaderProgram * | GetShader () const =0 |
virtual void | SetUniforms (const ShaderProgram *shader) const =0 |
virtual void | GetFinalBlendingMode (int *src, int *dst) |
Public Member Functions inherited from VAPoR::VolumeAlgorithm | |
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 std::string | GetName () |
static Type | GetType () |
Static Public Member Functions inherited from VAPoR::VolumeAlgorithm | |
static VolumeAlgorithm * | NewAlgorithm (const std::string &name, GLManager *gl, VolumeRenderer *renderer) |
static void | Register (VolumeAlgorithmFactory *f) |
Protected Member Functions | |
int | _loadDataDirect (const Grid *grid, Texture3D *dataTexture, Texture3D *missingTexture, bool *hasMissingData) |
virtual std::string | _addDefinitionsToShader (std::string shaderName) const |
Protected Member Functions inherited from VAPoR::VolumeAlgorithm | |
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 | |
Texture3D | _data |
Texture3D | _missing |
bool | _hasMissingData |
std::vector< size_t > | _dataDimensions |
bool | _hasSecondData |
Texture3D | _data2 |
Texture3D | _missing2 |
bool | _hasMissingData2 |
Protected Attributes inherited from VAPoR::VolumeAlgorithm | |
GLManager * | _glManager |
Additional Inherited Members | |
Public Types inherited from VAPoR::VolumeAlgorithm | |
enum class | Type { Any , DVR , Iso } |
Regular grid rendering algorithm.
Renders a regular grid by ray tracing. The CPU side just loads the scalar data and missing values as well as secondary data if needed
The glsl code does a standard sampled ray tracing of the volume.
Definition at line 21 of file VolumeRegular.h.
VAPoR::VolumeRegular::VolumeRegular | ( | GLManager * | gl, |
VolumeRenderer * | renderer | ||
) |
VAPoR::VolumeRegular::~VolumeRegular | ( | ) |
|
protectedvirtual |
Reimplemented in VAPoR::VolumeCellTraversal.
|
protected |
|
virtual |
Reimplemented from VAPoR::VolumeAlgorithm.
Reimplemented in VAPoR::VolumeCellTraversal.
|
virtual |
Implements VAPoR::VolumeAlgorithm.
|
inlinestatic |
Definition at line 26 of file VolumeRegular.h.
|
virtual |
Implements VAPoR::VolumeGLSL.
Reimplemented in VAPoR::VolumeCellTraversal, VAPoR::VolumeCellTraversalIso, VAPoR::VolumeRegularIso, VAPoR::VolumeTest, and VAPoR::VolumeTest2.
|
inlinestatic |
Definition at line 27 of file VolumeRegular.h.
References VAPoR::VolumeAlgorithm::DVR.
|
virtual |
Reimplemented from VAPoR::VolumeAlgorithm.
Reimplemented in VAPoR::VolumeCellTraversal.
|
virtual |
Reimplemented from VAPoR::VolumeGLSL.
Reimplemented in VAPoR::VolumeCellTraversal, VAPoR::VolumeResampled, VAPoR::VolumeTest, and VAPoR::VolumeTest2.
|
virtual |
Implements VAPoR::VolumeAlgorithm.
|
inlinevirtual |
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
Implements VAPoR::VolumeAlgorithm.
Reimplemented in VAPoR::VolumeCellTraversal.
Definition at line 28 of file VolumeRegular.h.
|
virtual |
Implements VAPoR::VolumeGLSL.
Reimplemented in VAPoR::VolumeCellTraversal, VAPoR::VolumeCellTraversalIso, and VAPoR::VolumeRegularIso.
|
protected |
Definition at line 39 of file VolumeRegular.h.
|
protected |
Definition at line 46 of file VolumeRegular.h.
|
protected |
Definition at line 43 of file VolumeRegular.h.
|
protected |
Definition at line 41 of file VolumeRegular.h.
|
protected |
Definition at line 48 of file VolumeRegular.h.
|
protected |
Definition at line 45 of file VolumeRegular.h.
|
protected |
Definition at line 40 of file VolumeRegular.h.
|
protected |
Definition at line 47 of file VolumeRegular.h.