FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
Public Types | Public Member Functions | Public Attributes | List of all members
Wizt::SplatRenderObject::Renderer Struct Reference

A Vertex Buffer Render object for making splats. More...

#include <SplatRenderObject.hpp>

Inheritance diagram for Wizt::SplatRenderObject::Renderer:
GL::ElementRenderer Wizt::VBO::Renderer MemCore::ReferenceBase< Renderer > MemCore::Ageable

Public Types

enum  mode {
  accumulative , depthsorted , alphaclamped , alphaToCoverage ,
  accumulative_absorption , starlike = accumulative , particles = depthsorted , massive = alphaclamped
}
 The rendering parameters for the point sets. More...
 
- Public Types inherited from GL::ElementRenderer
typedef MemCore::RefPtr< Wizt::IndexBufferObjectIBO_t
 An index buffer object.
 
typedef Fiber::MemArray< 3, IBO_tViewBufferArray_t
 Type to be used for storing index arrays for view-dependent rendering via depth-sorting.
 
- Public Types inherited from MemCore::ReferenceBase< Renderer >
typedef Object reference_domain_t
 
typedef WeakPtr< Object, Object > SelfPtr_t
 

Public Member Functions

 Renderer (const RefPtr< MemBase > &FieldCoordinates, const RefPtr< FragmentSelector > &FS)
 
void prefix () override
 
bool draw () override
 Override of the draw() function that might do double-rendering, first with darkening, then with overriding.
 
void postfix () override
 
- Public Member Functions inherited from GL::ElementRenderer
IBO_t sortByDepth (Wizt::VRenderContext &Context, const MemCore::RefPtr< Fiber::CreativeArrayBase > &VertexCoordinates, unsigned Discretization=2)
 
 ElementRenderer (const MemCore::RefPtr< Fiber::MemBase > &FieldCoordinates, const MemCore::RefPtr< Fiber::FragmentSelector > &FS)
 Construct a partial element renderer by giving an array of coordinates and a fragment selector.
 
 ~ElementRenderer ()
 Destructor, does nothing particular.
 
- Public Member Functions inherited from MemCore::ReferenceBase< Renderer >
auto getObjectCountID () const noexcept
 
bool isIdentical (const WeakPtr< Object, Object > &PossibleSelf) const noexcept
 
void mkAutoDestructive ()
 
refcount_t refcount () const noexcept
 
 ReferenceBase (Object *that) noexcept
 
const auto & self () const
 
refcount_t wrefcount () const noexcept
 
- Public Member Functions inherited from MemCore::Ageable
constexpr Ageable (age_t t) noexcept
 
constexpr Ageable (const Ageable &A) noexcept
 
 Ageable (const volatile Ageable &A) noexcept
 
constexpr const AgeablegetAge () const
 
bool isNewerThan (const Ageable &a) const noexcept
 
bool isOlderThan (const Ageable &a) const noexcept
 
bool isYoungerThan (const Ageable &a) const noexcept
 
bool operator!= (const Ageable &a) const noexcept
 
bool operator< (const Ageable &a) const noexcept
 
bool operator<= (const Ageable &a) const noexcept
 
bool operator<= (const volatile Ageable &a) const volatile noexcept
 
bool operator== (const Ageable &a) const noexcept
 
bool operator> (const Ageable &a) const noexcept
 
bool operator> (const volatile Ageable &a) const volatile
 
bool operator>= (const Ageable &a) const noexcept
 
bool operator>= (const volatile Ageable &a) const volatile noexcept
 
constexpr void resetAge () noexcept
 
void setInfinitelyNew () noexcept
 
age_t time_value () const noexcept
 
age_t time_value () const volatile noexcept
 
Ageabletouch () noexcept
 
age_t update (age_t age) noexcept
 
age_t update (const Ageable &Other) noexcept
 
age_t update (const volatile Ageable &Other) volatile noexcept
 

Public Attributes

RefPtr< Iris::PointShapeShape
 
mode render_mode
 
double AlphaThreshold
 Treshold for alphaclamped mode.
 
GLenum AlphaClampMode
 Mode for alpha clamping.
 
- Public Attributes inherited from GL::ElementRenderer
MemCore::RefPtr< ViewBufferArray_tSortedIndices
 Storage of view-dependent index arrays.
 
IBO_t CurrentIBO
 Index Buffer Object that is supposed to be used.
 
MemCore::RefPtr< ElementSorterMyElementSorter
 
GLenum draw_mode
 
GLsizei offset
 
GLsizei npoints
 
GLsizei count
 

Additional Inherited Members

- Static Public Member Functions inherited from MemCore::Ageable
static const AgeableInfinitelyNew () noexcept
 
static constexpr const AgeableInfinitelyOld () noexcept
 
static age_t now () noexcept
 
- Protected Member Functions inherited from MemCore::ReferenceBase< Renderer >
virtual void extremeUnction ()
 
ReferenceBaseoperator= (const ReferenceBase &R)
 
void suicide ()
 

Detailed Description

A Vertex Buffer Render object for making splats.

Member Enumeration Documentation

◆ mode

The rendering parameters for the point sets.

Enumerator
accumulative 

Just add colors accumulative.

depthsorted 

Do rendering via depth-sorting (might be slow)

alphaclamped 

Do rendering via alpha-clamping.

alphaToCoverage 

Alpha to coverage (dithering)

accumulative_absorption 

Do two-pass rendering, absorption first, then emission.

Member Function Documentation

◆ draw()

bool Wizt::SplatRenderObject::Renderer::draw ( )
overridevirtual

Override of the draw() function that might do double-rendering, first with darkening, then with overriding.

Reimplemented from GL::ElementRenderer.

References GL::ElementRenderer::draw().

◆ postfix()

void Wizt::SplatRenderObject::Renderer::postfix ( )
overridevirtual

Reimplemented from Wizt::VBO::Renderer.

◆ prefix()

void Wizt::SplatRenderObject::Renderer::prefix ( )
overridevirtual

Reimplemented from Wizt::VBO::Renderer.

Member Data Documentation

◆ AlphaClampMode

GLenum Wizt::SplatRenderObject::Renderer::AlphaClampMode

Mode for alpha clamping.

Default is GEQUAL .

Specifies the alpha comparison function. Symbolic constants GL_NEVER, GL_LESS, GL_EQUAL, GL_LEQUAL, GL_GREATER, GL_NOTEQUAL, GL_GEQUAL, and GL_ALWAYS are accepted.

◆ AlphaThreshold

double Wizt::SplatRenderObject::Renderer::AlphaThreshold

Treshold for alphaclamped mode.

Default is 0.5 .