FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
Public Member Functions | List of all members

Common base class for objects that render information given on line sets, merely for grouping purposes. More...

#include <LineSetRenderer.hpp>

Inheritance diagram for Wizt::LineSetRenderer:
Wizt::FloatingSkeletonRenderer Wizt::SkeletonOperator< SkeletonProperty > Wizt::FloatingAnemone Wizt::Programmable Wizt::ShaderConditionals Wizt::GetSkeletonOperator Wizt::FloatingOriginAnemone Wizt::FloatOrigin Wizt::VStateCreatorBase

Public Member Functions

 LineSetRenderer (const string &name, int P, const RefPtr< VCreationPreferences > &VP)
 
RenderBasin::Primitive getPrimitiveMode () const override
 Override default primitive mode as line strip.
 
- Public Member Functions inherited from Wizt::FloatingSkeletonRenderer
 FloatingSkeletonRenderer (const string &name, int p, const RefPtr< VCreationPreferences > &VP)
 
RefPtr< GridAnemone::AnemoneExplorergetAnemoneExplorer (VRenderContext &Context) const override
 
bool updateAnemone (Anemone &RenderAnemone, const GridAnemone::AnemoneCreationContext &ARC, const RefPtr< GridAnemone::AnemoneExplorer > &AE) const override
 Updating a valid Render Anemone, which is setting a possibly modified translation vector.
 
bool isValidAnemone (const Anemone &RenderAnemone, const AnemoneCreationContext &ARC, const RefPtr< AnemoneExplorer > &AE) const override
 
virtual glsl getShaderPrefix (const GridAnemone::AnemoneCreationContext &ARC, const GridAnemone::AnemoneExplorer &AE) const
 
virtual glsl getShaderConditionals (Anemone &RenderAnemone, const GridAnemone::AnemoneCreationContext &ARC, const RefPtr< GridAnemone::AnemoneExplorer > &AE) const
 
bool feedAnemone (Anemone &RenderAnemone, RenderBasin::ElementAttribute &SkeletonBuffer, const AnemoneCreationContext &ARC, const RefPtr< AnemoneExplorer > &AE) const override
 
- Public Member Functions inherited from Wizt::FloatingAnemone
string WorldToScreen () const override
 
string getShaderPrefix (const GridAnemone::AnemoneCreationContext &ARC, const GridAnemone::AnemoneExplorer &AE) const
 
bool initializeTranslation (Anemone &RenderAnemone, const GridAnemone::AnemoneCreationContext &ARC, const RefPtr< GridAnemone::AnemoneExplorer > &AE) const
 
bool updateTranslation (Anemone &RenderAnemone, const GridAnemone::AnemoneCreationContext &ARC, const RefPtr< GridAnemone::AnemoneExplorer > &AE) const
 
RefPtr< GridAnemone::AnemoneExplorergetAnemoneExplorer (const WeakPtr< GridAnemone > &theGridAnemone, VRenderContext &Context) const
 
- Public Member Functions inherited from Wizt::FloatingOriginAnemone
RefPtr< GridAnemone::AnemoneExplorergetAnemoneExplorer (const WeakPtr< GridAnemone > &theGridAnemone, VRenderContext &Context) const
 
bool hasChangedAbsoluteTranslationVector (const RefPtr< GridAnemone::AnemoneExplorer > &AE) const
 
- Public Member Functions inherited from Wizt::FloatOrigin
RefPtr< Chunk< Eagle::point3 > > computeShiftedCoordinates (const RefPtr< Chunk< Eagle::point3 > > &RawCoordinates, const Eagle::tvector3 &TranslationVector) const
 
VRenderContext::ModelViewState getCoordinateTranslation (const VRenderContext &Context, Eagle::tvector3 &TranslationVector) const
 
VRenderContext::ModelViewState getCoordinateTranslation (const VRenderContext &Context, Intercube &IC, Eagle::tvector3 &TranslationVector) const
 
- Public Member Functions inherited from Wizt::VStateCreatorBase
RefPtr< State > & getState (const WeakPtr< ValuePool > &VP) const
 
RefPtr< InterfaceBasehasLocalInterface (const type_info &InterfaceType) const
 
RefPtr< State > myState (const WeakPtr< ValuePool > &Context) const
 
virtual RefPtr< State > newState () const
 
void setState (const WeakPtr< ValuePool > &, const RefPtr< State > &st) const
 
- Public Member Functions inherited from Wizt::Programmable
RefPtr< RenderBasin::ProgramCompileShader (VRenderContext &Context, const std::string &Name, const RenderBasin::Program::Setup &SetupFunction=nullptr, const RefPtr< RenderBasin::Program > &ExistingProgram=NullPtr(), const glsl &LocalVertexShaderPrefixCode="", const glsl &LocalGeometryShaderPrefixCode="", const glsl &LocalFragmentShaderPrefixCode="") const
 
void enableViewportArray (bool EnableFragmentLayerViewport=true)
 
virtual glsl fragment_shader (VRenderContext &Context) const=0
 
virtual glsl geometry_shader (VRenderContext &Context) const
 
virtual glsl GeometryShaderPrefix (VRenderContext &Context) const
 
std::pair< glsl, string > getCode (VRenderContext &Context, const std::string &Name, const std::string &Ext, std::string(Programmable::*shader)(VRenderContext &Context) const, const string &PrefixCode) const
 
void setGLSLVersion (const string &v_version, const string &g_version, const string &f_version)
 
void setGLSLVersion (const string &version)
 
virtual glsl vertex_shader (VRenderContext &Context) const=0
 
- Public Member Functions inherited from Wizt::ShaderConditionals
RenderNamespace::glsl getShaderDefines (const RefPtr< ValuePool > &Context) const
 
bool hasValidShaderDefines (const AnemoneCreatorContext &ACC) const
 
- Public Member Functions inherited from Wizt::SkeletonOperator< SkeletonProperty >
RefPtr< Fiber::SkeletongetSkeleton (const Fiber::Grid &G) const override
 
RefPtr< Fiber::SkeletongetRefinedSkeleton (const Fiber::Grid &G, int i) const override
 

Additional Inherited Members

- Public Types inherited from Wizt::FloatingSkeletonRenderer
using glsl = Programmable::glsl
 
- Public Types inherited from Wizt::Programmable
typedef RenderBasin::Program Program
 
- Static Public Member Functions inherited from Wizt::FloatingAnemone
static RefPtr< RenderBasin::VertexAttributecreatePossiblyShiftedVertices (const RefPtr< TypedChunk< Eagle::PhysicalSpace::point > > &Coordinates, const BoundingBox &BBox, const GridAnemone::AnemoneCreationContext &ARC, const RefPtr< GridAnemone::AnemoneExplorer > &AE)
 If the AnemoneExplorer is a FloatingAnemoneExplorer (which will be the case if getAnemoneExplorer() has been implemented as documented), then shift coordinates into the center of the bounding box, create a vertex attribute from it and set a CoordinateShift interface to the AnemoneExplorer.
 
static RefPtr< RenderBasin::VertexAttributecreatePossiblyShiftedVertices (const RefPtr< Fiber::MemBase > &Coordinates, const BoundingBox &BBox, const GridAnemone::AnemoneCreationContext &ARC, const RefPtr< GridAnemone::AnemoneExplorer > &AE, const MemCore::Attributes &Attribs, bool AllowProceduralCoordinates)
 If the AnemoneExplorer is a FloatingAnemoneExplorer (which will be the case if getAnemoneExplorer() has been implemented as documented), then shift coordinates into the center of the bounding box, create a vertex attribute from it and set a CoordinateShift interface to the AnemoneExplorer.
 
static std::pair< RefPtr< RenderBasin::VertexAttribute >, boolcreatePossiblyShiftedVertices (Fiber::CreativeArrayBase &myPrimaryDataFragment, const GridAnemone::AnemoneCreationContext &ARC, const RefPtr< GridAnemone::AnemoneExplorer > &AE, bool AllowProceduralCoordinates, const Fiber::CreativeArrayBase::result &AsyncCallback)
 Same as similar function, but using a Creator to create the coordinates and possibly compute the bounding box information.
 
- Static Public Member Functions inherited from Wizt::FloatingOriginAnemone
static RefPtr< RenderBasin::VertexAttributecreatePossiblyShiftedVertices (const RefPtr< TypedChunk< Eagle::PhysicalSpace::point > > &Coordinates, const GridAnemone::AnemoneCreationContext &ARC, const RefPtr< GridAnemone::AnemoneExplorer > &AE)
 
- Static Public Member Functions inherited from Wizt::FloatOrigin
static VRenderContext::ModelViewState getTranslationVector (const VRenderContext &Context, Intercube &IC, Eagle::tvector3 &TranslationVector, double CameraShiftThreshold)
 
static Eagle::tvector3 getTranslationVector (Intercube &IC)
 
- Static Public Member Functions inherited from Wizt::Programmable
static string OptionalFileRead (const string &filename, const string &text)
 
static glsl setNumberOfLightSources (VRenderContext &Context, const std::string &VariableName="lightNum")
 
- Public Attributes inherited from Wizt::Programmable
glsl f_prefix
 
glsl g_prefix
 
RenderBasin::GeometryInputType GeometryInput
 
RenderBasin::GeometryOutputType GeometryOutput
 
glsl v_prefix
 
- Static Public Attributes inherited from Wizt::Programmable
static const char default_fragment_shader []
 
static const char default_geometry_shader []
 
static const char default_vertex_shader []
 

Detailed Description

Common base class for objects that render information given on line sets, merely for grouping purposes.

Same as for FloatingSkeletonRenderer, a base class merely needs to implement:

string vertex_shader(VRenderContext&Context) const override;
string fragment_shader(VRenderContext&Context) const override;
bool feedAnemone(Anemone&RenderAnemone,
RenderBasin::ElementAttribute&SkeletonBuffer,
const RefPtr<AnemoneExplorer>&AE) const override
{
// couple render parameters
RenderAnemone << ARC.myContext << "glLineWidth" << Thickness;
return FloatingSkeletonRenderer::feedAnemone(RenderAnemone,
ARC, AE);
}
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
virtual glsl vertex_shader(VRenderContext &Context) const=0
virtual glsl fragment_shader(VRenderContext &Context) const=0
The context of creating a RenderAnemone.
Definition AnemoneCreationContext.hpp:58
Examples
ColoredLines.cpp, and GlossyLines.cpp.

Member Function Documentation

◆ getPrimitiveMode()

RenderBasin::Primitive Wizt::LineSetRenderer::getPrimitiveMode ( ) const
overridevirtual

Override default primitive mode as line strip.

Reimplemented from Wizt::FloatingSkeletonRenderer.

References Wizt::Programmable::GeometryInput.