Avogadro::Rendering::VolumeGeometry#

class VolumeGeometry : public Drawable#

Demonstrates volume rendering with an offscreen pass and a fullscreen quad.

Public Functions

VolumeGeometry()#
VolumeGeometry(const VolumeGeometry &other)#
~VolumeGeometry() override#
VolumeGeometry &operator=(VolumeGeometry)#
virtual void accept(Visitor&) override#

Accept a visit from our friendly visitor.

virtual void render(const Camera &camera) override#

Render the volume.

void end()#

Destroy all GL resources (FBO, textures, etc.).

virtual void clear() override#

Clear the contents of the node.

void initialize()#

Call once to initialize all GL objects/shaders.

void resizeFBO(int width, int height)#
inline void setPositiveColor(const Vector3ub &c)#

Colors for positive/negative isovalues (for real volume rendering).

inline Vector3ub positiveColor() const#
inline void setNegativeColor(const Vector3ub &c)#
inline Vector3ub negativeColor() const#
void setCube(const Core::Cube &cube)#

Assign which Cube to render.

inline const Core::Cube *cube() const#

Protected Attributes

float m_boundingVertices[24]#
Vector3ub m_positiveColor#
Vector3ub m_negativeColor#
const Core::Cube *m_cube = nullptr#
bool m_dirty = false#
Private *d#
int m_width#
int m_height#

Friends

friend void swap(VolumeGeometry &lhs, VolumeGeometry &rhs)#