Common base class for objects that render information given on line sets, merely for grouping purposes.
More...
|
|
| LineSetRenderer (const string &name, int P, const RefPtr< VCreationPreferences > &VP) |
| |
| RenderBasin::Primitive | getPrimitiveMode () const override |
| | Override default primitive mode as line strip.
|
| |
|
| FloatingSkeletonRenderer (const string &name, int p, const RefPtr< VCreationPreferences > &VP) |
| |
|
RefPtr< GridAnemone::AnemoneExplorer > | getAnemoneExplorer (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 |
| |
| 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::AnemoneExplorer > | getAnemoneExplorer (const WeakPtr< GridAnemone > &theGridAnemone, VRenderContext &Context) const |
| |
| RefPtr< GridAnemone::AnemoneExplorer > | getAnemoneExplorer (const WeakPtr< GridAnemone > &theGridAnemone, VRenderContext &Context) const |
| |
|
bool | hasChangedAbsoluteTranslationVector (const RefPtr< GridAnemone::AnemoneExplorer > &AE) const |
| |
|
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 |
| |
|
RefPtr< State > & | getState (const WeakPtr< ValuePool > &VP) const |
| |
|
RefPtr< InterfaceBase > | hasLocalInterface (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 |
| |
|
RefPtr< RenderBasin::Program > | CompileShader (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 |
| |
|
RenderNamespace::glsl | getShaderDefines (const RefPtr< ValuePool > &Context) const |
| |
|
bool | hasValidShaderDefines (const AnemoneCreatorContext &ACC) const |
| |
| RefPtr< Fiber::Skeleton > | getSkeleton (const Fiber::Grid &G) const override |
| |
| RefPtr< Fiber::Skeleton > | getRefinedSkeleton (const Fiber::Grid &G, int i) const override |
| |
|
|
using | glsl = Programmable::glsl |
| |
|
typedef RenderBasin::Program | Program |
| |
|
static RefPtr< RenderBasin::VertexAttribute > | createPossiblyShiftedVertices (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::VertexAttribute > | createPossiblyShiftedVertices (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 >, bool > | createPossiblyShiftedVertices (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 RefPtr< RenderBasin::VertexAttribute > | createPossiblyShiftedVertices (const RefPtr< TypedChunk< Eagle::PhysicalSpace::point > > &Coordinates, const GridAnemone::AnemoneCreationContext &ARC, const RefPtr< GridAnemone::AnemoneExplorer > &AE) |
| |
|
static VRenderContext::ModelViewState | getTranslationVector (const VRenderContext &Context, Intercube &IC, Eagle::tvector3 &TranslationVector, double CameraShiftThreshold) |
| |
|
static Eagle::tvector3 | getTranslationVector (Intercube &IC) |
| |
|
static string | OptionalFileRead (const string &filename, const string &text) |
| |
|
static glsl | setNumberOfLightSources (VRenderContext &Context, const std::string &VariableName="lightNum") |
| |
|
glsl | f_prefix |
| |
|
glsl | g_prefix |
| |
|
RenderBasin::GeometryInputType | GeometryInput |
| |
|
RenderBasin::GeometryOutputType | GeometryOutput |
| |
|
glsl | v_prefix |
| |
|
static const char | default_fragment_shader [] |
| |
|
static const char | default_geometry_shader [] |
| |
|
static const char | default_vertex_shader [] |
| |
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:
bool feedAnemone(
Anemone&RenderAnemone,
{
RenderAnemone <<
ARC.myContext <<
"glLineWidth" << Thickness;
return FloatingSkeletonRenderer::feedAnemone(RenderAnemone,
}
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.