|
Fish - FiberLib for VISH 0.3
Fish - The Fiber Bundle API for the Vish Visualization Shell
|
Base class to render triangular surface using shaders and support for floating origin (i.e., large coordinates). More...
#include <SurfaceRenderer.hpp>
Public Types | |
| using | SurfaceRenderState = SkeletonRendererState |
| using | MyRenderState = SkeletonRendererState |
| using | glsl = RenderNamespace::glsl |
| Public Types inherited from Wizt::TriangleRenderer | |
| using | GridInspector = Fiber::GridInspector<Fiber::hasSkeletonOfGridType<Fiber::TriangularSurface>> |
| Public Types inherited from Wizt::SkeletonRenderer | |
| typedef GridAnemoneState | SkeletonRendererState |
| Public Types inherited from Wizt::VSlotContainer | |
| enum | AttachErrorCode |
| typedef void | AcceptableInputTypes |
| typedef VSlotSet | CreationSlots_t |
| typedef VSlot::Empty< I > | Empty |
| Public Types inherited from MemCore::ReferenceBase< VManagedObjectBase > | |
| typedef Object | reference_domain_t |
| typedef WeakPtr< Object, Object > | SelfPtr_t |
| Public Types inherited from Wizt::GridAnemone | |
| enum class | SortMethod { None , BackToFront , FrontToBack , MostVisible } |
| using | AnemoneParameters = ::Wizt::AnemoneParameters |
| using | AnemoneCreationContext = ::Wizt::GridAnemoneCreationContext |
| using | GridAnemoneState = ::Wizt::GridAnemoneState |
| using | SkeletonID = Fiber::SkeletonID |
| using | FieldHierarchy = map<SkeletonID, FieldInfo> |
| using | SkeletonSet = map<SkeletonID, WeakPtr<Fiber::Skeleton>> |
| using | AnemoneRenderStatus = AnemoneRenderFields::AnemoneRenderStatus |
| using | initializeAnemoneParameters |
| Public Types inherited from Wizt::VEnvironmentRenderObject | |
| typedef ::Eagle::PhysicalSpace::point | point |
| Public Types inherited from Wizt::VObject | |
| enum | HelpType |
| typedef void | AcceptableInputTypes |
| typedef VConnectable::Empty< I > | Empty |
| typedef std::function< bool(const RefPtr< VObject > &vobj, const VSlot &ChildConnection)> | VObjectIterator_f |
| Public Types inherited from Wizt::VSaveable | |
| typedef std::function< bool(const string &s, VishSaver &VS)> | save_iterator |
| Public Types inherited from Wizt::VManagedDomainObject< VObject > | |
| typedef What | Domain_t |
| Public Types inherited from Wizt::RenderNamespace | |
| enum | GeometryInputType |
| enum | GeometryOutputType |
| enum | Primitive |
| enum | TextureFormat |
| enum | VertexAttributeTypes |
| typedef std::variant< int, float, double, unsigned, Eagle::FixedArray< int, 2 >, Eagle::FixedArray< float, 2 >, Eagle::FixedArray< double, 2 >, Eagle::FixedArray< int, 3 >, crd3f, Eagle::FixedArray< float, 3 >, crd3d, Eagle::FixedArray< double, 3 >, Eagle::FixedArray< int, 4 >, Eagle::FixedArray< float, 4 >, Eagle::FixedArray< double, 4 >, Eagle::Quadratic< 2, float >, Eagle::Quadratic< 3, float >, Eagle::Quadratic< 4, float >, vec3f_vector, crd3f_vector > | AnyUniform |
| typedef std::string | glsl |
| Public Types inherited from Wizt::Programmable | |
| typedef RenderBasin::Program | Program |
Public Member Functions | |
| RefPtr< AnemoneExplorer > | getAnemoneExplorer (VRenderContext &Context) const override |
| The SurfaceAnemoneExplorer is a temporary object that exists while rendering all fragments of a surface. | |
| SurfaceRenderer (const string &name, int, const RefPtr< VCreationPreferences > &VP) | |
| string | getSurfaceShaderPrefix (const GridAnemone::AnemoneCreationContext &ARC, const GridAnemone::AnemoneExplorer &AE) const |
| Provide shader code for -+ Transformations -+ floating origin -+ uniform coordinates -+ light sources -+ shader conditionals. | |
| virtual string | getShaderPrefix (const GridAnemone::AnemoneCreationContext &ARC, const GridAnemone::AnemoneExplorer &AE) const |
| Allow to insert shader code at shader initialization. | |
| bool | feedAnemone (Anemone &RenderAnemone, RenderBasin::ElementAttribute &SkeletonBuffer, const AnemoneCreationContext &ARC, const RefPtr< AnemoneExplorer > &AE) const override |
| Overload this function to setup a painter that is specific to the given skeleton, which will be mostly a painter object for lines or triangles. | |
| bool | isValidAnemone (const Anemone &RenderAnemone, const AnemoneCreationContext &ARC, const RefPtr< AnemoneExplorer > &AE) const override |
| Checks if a given Anemone is valid for rendering. | |
| bool | updateAnemone (Anemone &RenderAnemone, const AnemoneCreationContext &ARC, const RefPtr< AnemoneExplorer > &AE) const override |
| Update a certain Anemone with variables and values that do not require re-creation or loading of any data. | |
| Public Member Functions inherited from Wizt::TriangleRenderer | |
| TriangleRenderer (const string &name, int RenderCategory, const RefPtr< VCreationPreferences > &VP) | |
| bool | feedAnemone (Anemone &RenderAnemone, RenderBasin::ElementAttribute &SkeletonBuffer, const AnemoneCreationContext &ARC, const RefPtr< AnemoneExplorer > &AE) const override |
| Feed all triangle-related data to the Render Anemone, in particular sets the Painter of the Anemone to do triangles. | |
| Public Member Functions inherited from Wizt::SkeletonRenderer | |
| GridSelector | getGridFieldSelector (const RefPtr< ValuePool > &Context) const override |
| SkeletonRenderer (const string &name, int RenderCategory, const RefPtr< VCreationPreferences > &VP) | |
| FieldHierarchy | getRenderFields (VRenderContext &Context) const override |
| Returning the relevant field for rendering. | |
| RefPtr< Fiber::Representation > | getRenderSkeletonAsVertices (VRenderContext &Context) const |
| Fiber::Field::NamedFragment | getCompatibleVertexFragment (const AnemoneCreationContext &ARC, const RefPtr< AnemoneExplorer > &AE) const |
| Find a vertex fragment that matches the currently selected primary fragment in the skeleton ID. | |
| bool | validateInput (VRequest &R, Fiber::Info< Fiber::Grid > &, const RefPtrGridAnemoneState &GAS, const RefPtr< Fiber::Skeleton > &myVertexSkeleton, const RefPtr< Fiber::Chart > &chart, string &ValidateInputInfoString) const override |
| Validate the input properties from the GridAnemone. | |
| virtual bool | checkRepresentionProperties (Fiber::Representation &myVertices, Fiber::Representation &mySkeletonAsVertices, VRequest &Context) const |
| Virtual function to inspect the given representation of the vertices and skeleton. | |
| GridAnemone::AnemoneRenderStatus | initializeAnemone (Anemone &RenderAnemone, const AnemoneCreationContext &ARC, const RefPtr< AnemoneExplorer > &AE) const override |
| Initialize a virgin Render Anemone, i.e. | |
| Public Member Functions inherited from Wizt::VConnectable | |
| virtual void | adjustConnections (const RefPtr< VSlot > &ChangedSlot, const RefPtr< VParameter > &par) |
| VSlotContainer::AttachErrorCode | attach (const ParameterID &whichone, VSlotContainer &sourceObject, const ParameterID &sourceName) |
| AttachErrorCode | attach (const RefPtr< VParameter > &OldParam, const RefPtr< VParameter > &NewParam, const string &Member={}) |
| AttachErrorCode | attachUniqueObject (const RefPtr< VParameter > ¶m, const RefPtr< VCreationPreferences > &VCP=NullPtr(), bool ReallyUnique=true) |
| AttachErrorCode | attachUniqueObject (const RefPtr< VSlot > &slot, const RefPtr< VCreationPreferences > &VCP=NullPtr(), bool ReallyUnique=true) |
| RefPtr< VSlot > | Connect (const RefPtr< VParameter > &SourceParam) |
| RefPtr< VSlot > | ConnectInterface (const RefPtr< VSlotContainer > &Provider, const RefPtr< InterfaceBase > &IB) |
| virtual bool | CreatedFilteredConnection (const RefPtr< VParameter > &SourceParam) |
| Public Member Functions inherited from Wizt::VSlotContainer | |
| Ageable & | age (const RefPtr< ValuePool > &VP) |
| const Ageable & | age (const RefPtr< ValuePool > &VP) const |
| const Ageable & | ConnectionAge () const |
| bool | ConnectionsHaveChanged (const RefPtr< ValuePool > &VP) const |
| bool | HasYoungerInput (const RefPtr< ValuePool > &Context, int RecursionLevel=0) const |
| Ageable | YoungestInput (const RefPtr< ValuePool > &Context) const |
| Ageable | YoungestOutput (const RefPtr< ValuePool > &Context) const |
| Ageable | YoungestUncachedInput (const RefPtr< ValuePool > &Context) const |
| bool | CheckIfThereExistNewerOutputs (const VRequest &request, bool AdjustObjectAge) const |
| RefPtr< VSlot > | addParameter (const ParameterID &name, int EL, const RefPtr< VParameter > ¶m, bool overwriteExistingSlot) |
| virtual bool | allowParameterReplacement (const RefPtr< VParameter > &NewParam, const RefPtr< VParameter > &OldParam, const string &localName, int ExpertLevel) |
| virtual int | connectSlots (const VSlotContainerPtr &vobj) |
| bool | removeParameter (const ParameterID &s) |
| RefPtr< VParameter > | getParameter (const ParameterID &s) const |
| RefPtr< VSlot > | getSlot (const ParameterID &s, int &EL) const |
| bool | setSlotValueFromText (const ParameterID &s, const string &ValueText, const RefPtr< ValuePool > &VP, const string &theMember={}) |
| RefPtr< VSlot > | findSlot (const RefPtr< VParameter > ¶m) const |
| string | getSlotName (const RefPtr< VParameter > ¶m) const |
| bool | AddAction (const ParameterID &s, const RefPtr< ValueActionBase > &VAB) |
| bool | AddAction (const RefPtr< VSlot > &ActionSlot, bool(DerivedObject::*Action)(const RefPtr< VValueBase > &value)) |
| RefPtr< VParameter > | mkUniqueParameterInput (const ParameterID &s, const string &ContainerName) |
| int | getExpertLevel (const ParameterID &s) const |
| int | setExpertLevel (const ParameterID &s, int EL) |
| int | getExpertLevel (const RefPtr< VParameter > &) const |
| int | getExpertLevel (const RefPtr< VSlot > &S) const |
| int | setExpertLevel (const RefPtr< VSlot > &S, int EL) |
| int | setExpertLevel (const RefPtr< VParameter > &s, int EL) |
| bool | hasChanged (const ParameterID &s, const RefPtr< ValuePool > &Context) const |
| bool | hasChanged (const RefPtr< VSlot > &, const RefPtr< ValuePool > &Context) const |
| bool | hasChanged (const RefPtr< ValuePool > &Context, int n,...) const |
| bool | hasChanged (RefPtr< ValuePool > Context,...) const |
| virtual bool | ignoreInput (const RefPtr< VSlot > &theSlot) const |
| bool | getParameterValue (Type &Variable, const ParameterID &s, const RefPtr< ValuePool > &VP) const |
| bool | getParameterValue (Type &Variable, const ParameterID &s, const VContext &C) const |
| bool | getParameterValue (Type &Variable, const ParameterID &s, const VRequest &R) const |
| bool | setParameterValue (const Type &Variable, const ParameterID &s, const RefPtr< ValuePool > &VP, bool autoCreateLocalValue) const |
| bool | setParameterValue (const Type &Variable, const ParameterID &s, VContext &C, bool autoCreateLocalValue) const |
| bool | setParameterValue (const Type &Variable, const ParameterID &s, VRequest &R, bool autoCreateLocalValue=false) const |
| RefPtr< VSlot > | addParam (const ParameterID &name, const Type &init, const RefPtr< VCreationPreferences > &VP=NullPtr(), int expertLevel=0, bool overwriteExistingSlot=true) |
| bool | setParameterProperty (const ParameterID ¶m, const string &Properties, const RefPtr< VValueBase > &Value=NullPtr()) |
| RefPtr< VSlot > | addFloatParam (double init, const ParameterID ¶m, double min, double max, const RefPtr< VCreationPreferences > &IP=NullPtr(), int expertLevel=0) |
| AttachErrorCode | attach (const RefPtr< VParameter > &OldParam, const RefPtr< VParameter > &NewParam, const string &Member={}) |
| int | iterateParameters (int expertLevel, VSlotIterator &VIIt) const |
| int | iterateInputSlots (int expertLevel, VSlotIterator &VIIt) const |
| int | iterateInputs (VSlotIterator &VIIt, int expertLevel=0) |
| int | iterate_inputs (const std::function< bool(VSlot &what, int ExpertLevel)>) const |
| RefPtr< VSlot > | getUniqueInputSlot (const type_info &what) |
| int | getNumberOfParameters (int expertLevel) const |
| virtual bool | implements (const type_info &what) const |
| virtual RefPtr< VParameter > | getImplementation (const type_info &what, const string &name={}, const string &member={}) const |
| RefPtr< VSlot > | getImplementationSlot (const type_info &what, const string &Name={}, const string &Member={}) const |
| VAcceptInfoList_t | getAcceptInfoList (const std::type_info &request_type) const |
| bool | provides (const RefPtr< VSlot > &OutputSlot) const |
| RefPtr< VSlot > | findOutputSlot (const RefPtr< VParameter > &Who) const |
| bool | isYounger (const RefPtr< VParameter > &OutputParam, const RefPtr< ValuePool > &VP) const |
| bool | isNewlyConnected (const RefPtr< VParameter > &Who, const RefPtr< ValuePool > &VP) const |
| bool | hasNewlyConnectedOutputs (const RefPtr< ValuePool > &VP) const |
| void | findNewlyConnectedOutputs (const RefPtr< ValuePool > &VP, VSlotSet &WhichOnes) const |
| RefPtr< VSlot > | getOutput (const string &Name) const |
| RefPtr< MemCore::StringList > | getOutputs (const type_info &what=typeid(void)) const |
| virtual int | iterateOutputs (VOutputIterator &VOut, const type_info &just_these=typeid(void)) const |
| bool | registerOutput (const RefPtr< VParameter > &P, const string &AsName={}) |
| bool | registerOutput (const RefPtr< VParameter > &P, const string &AsName, const type_info &MemberType, const string &UseMember) |
| bool | registerOutput (const RefPtr< VParameter > &P, const type_info &MemberType, const string &UseMember) |
| int | getNumberOfInputs () const |
| int | getNumberOfOutputs () const |
| bool | hasChangedSlots (const MemCore::Intercube &IC, const RefPtr< ValuePool > &Context) const |
| auto | include_self (const std::tuple< SlotList... > &t) const -> decltype(std::tuple_cat(std::make_tuple(this), t)) |
| Public Member Functions inherited from MemCore::ReferenceBase< VManagedObjectBase > | |
| 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 Wizt::GridAnemone | |
| Ageable | AgeOfRoI (const RefPtr< ValuePool > &Context) const |
| pRegionOfInterest | getRegionOfInterest (const RefPtr< ValuePool > &Context) const |
| RefPtr< Fiber::Chart > | getCartesianChart (const RefPtr< Fiber::Grid > &G, const RefPtr< ValuePool > &Context) const |
| Get a chart object for the given Grid given the current selection of a chart from VRenderObject's VChartDependent base class. | |
| RefPtr< State > | newState () const override |
| GridAnemone (const string &name, int RenderCategory, const RefPtr< VCreationPreferences > &VP) | |
| Constructor. | |
| RenderTime | getLastRenderTime (VRenderContext &Context) const override |
| virtual RefPtr< AnemoneCreatorBase > | newAnemoneCreator (const Seagrass &theSeaggrass) const |
| If some parameters of a Render Anemone need to be modified upon change of some input, for instance some uniform shader variables, then re-creation of the entire Anemone is overkill. | |
| AnemoneRenderStatus | renderAnemone (Anemone &RenderAnemone, const AnemoneCreationContext &ARC, const RefPtr< AnemoneExplorer > &AE, size_t current_fragment, size_t max_fragment_number, const RefPtr< BoundingBox > &theFragmentBoundingBox) const |
| Render a RenderAnemone with the given context, checking if it's valid first, and if so update it, otherwise it needs to be initialized. | |
| AnemoneRenderStatus | raiseAnemone (Anemone &RenderAnemone, const AnemoneCreationContext &ARC, const RefPtr< AnemoneExplorer > &AE) const |
| Function to pack all kinds of information into a baby Anemone to let it grow into an adult functional one. | |
| virtual bool | disabledFragment (VRenderContext &theContext, const AnemoneExplorer &theAnemoneExplorer, const Fiber::CreativeArrayBase &CAB, const RefPtr< Fiber::FragmentID > &fID, const RefPtr< BoundingBox > &theFragmentBoundingBox, const RefPtr< Fiber::Representation > &R) const |
| Virtual function to allow intervening rendering just before a Render Anemone is being created. | |
| RefPtr< BoundingBall > | getTouchableBoundingBall (const RefPtr< ValuePool > &VP) const override |
| Get the bounding box of the entire object's geometry beyond the visible part such to allow proper camera navigation. | |
| virtual bool | addSupplementaryData (VRequest &Context, Fiber::Info< Fiber::Grid > &, RenderFields &RF, const RefPtr< Fiber::Skeleton > &myVertexSkeleton, const RefPtr< Fiber::Chart > &chart, string &InfoString) |
| Virtual call to add additional data in child classes. | |
| virtual void | requestSupplementaryData (VRenderContext &theContext, const RefPtr< Fiber::FragmentID > &myFragmentID) const |
| Asynchroneous mode: Request creation of supplementary data. | |
| virtual bool | isCreatingSupplementaryData (VRenderContext &theContext, const RefPtr< Fiber::FragmentID > &myFragmentID) const |
| Asynchroneous mode: Check whether supplementary data are currently under creation. | |
| bool | update (VRequest &R, double precision) override |
| The update function retrieves data from the input Grid and prepares them in the State object for rendering. | |
| bool | environment_render (VRenderContext &Context) const override |
| TouchIndex_t | do_feedback_render (VRenderContext &Context, TouchIndex_t StartIndex) const |
| Support for feedback rendering, in case a child object is derived from a Touchable. | |
| virtual TouchIndex_t | getTouchIndexFragmentIndexMultiplicator (VRenderContext &Context, const Fiber::Field &) const |
| For feedback rendering: The emitted start index will be the numerical fragment ID of the render field multiplied by this multiplicator. | |
| Public Member Functions inherited from Wizt::Fish< double > | |
| Fish () | |
| Default constructor. | |
| ~Fish () | |
| Destructor. | |
| bool | IterateLevels (LevelIterator &LI, const Fiber::Info< Fiber::Grid > &G, const RefPtr< ValuePool > &Context) const |
| Iterate over the diverse refinement levels of a Grid, which may exist at times different from the given coarsest grid. | |
| Public Member Functions inherited from Wizt::GridAnemoneRenderObject | |
| GridAnemoneRenderObject (const string &name, int Cat, const RefPtr< VCreationPreferences > &VP) | |
| virtual RefPtr< BoundingBox > | getModifiedBBox (const RefPtr< ValuePool > &Context, Fiber::CreativeArrayBase &CoordinateFragment, const RefPtr< Fiber::FragmentID > &theFragmentID, const RefPtr< Fiber::Skeleton > &DestVertexSkeleton, const RefPtr< Fiber::Chart > &chart, bool AllowAsynchLoading) const |
| Get a bounding box as modified by a certain object's special setup, for instance using another field than the coordinates to obtain some geometry. | |
| Public Member Functions inherited from Wizt::VRenderObject | |
| void | closeBBox (const RefPtr< ValuePool > &VP) const |
| void | embrace (const RefPtr< ValuePool > &VP, const point &crd) const |
| RefPtr< BoundingBall > | getBoundingBall (const RefPtr< ValuePool > &VP) const override |
| bool | resetBBox (const RefPtr< ValuePool > &S) const |
| bool | safe_render (VRenderContext &Context, double Z=0, double dZ=-1) const override |
| void | setBoundingBall (const RefPtr< ValuePool > &VP, const RefPtr< BoundingBall > &BS) const |
| VRenderObject (const string &name, int p, const RefPtr< VCreationPreferences > &VP) | |
| Public Member Functions inherited from Wizt::VEnvironmentRenderObject | |
| void | announce (const string &name, const VCamera &ViewpointProperties, const RefPtr< ValuePool > &Context) const |
| void | getRenderPrecision (VRenderContext &Context, double &OverallPrecision, double &ThisContribution) const |
| VEnvironmentRenderObject (const string &name, int p, const RefPtr< VCreationPreferences > &VP) | |
| Public Member Functions inherited from Wizt::RenderAble | |
| virtual string | getSensorInfo (const RefPtr< ValuePool > &Context, const SensorView &theSensorView) |
| bool | isVisible (const RefPtr< ValuePool > &Context) const |
| Public Member Functions inherited from Wizt::VObject | |
| string | CreatorName () const |
| const WeakPtrVCreatorBase & | getCreator () const |
| virtual bool | request (VRequest &, double precision, const WeakVObjectPtr &ImmediateRequestor, const WeakVObjectPtr &RootRequestor) |
| bool | schedule (double precision, const RefPtr< ValuePool > &Context=nullptr) |
| void | enableRequestProcessing () |
| void | disableRequestProcessing () |
| bool | acceptsRequests () const |
| const MemCore::Counter & | UpdateCount () const |
| const MemCore::Counter & | RequestCount () const |
| VObject (const string &name, int p, const RefPtr< VCreationPreferences > &VP) | |
| virtual const GimpIcon * | gimp_icon () const |
| virtual const char *const * | xpm_icon () const |
| virtual string | qt_icon () const |
| virtual string | help (HelpType=HTMLText) const |
| bool | setObjectAsChild (const VObjectPtr &childVObject, const string &DependencySlotName) |
| double | requestTime () const |
| void | remove () |
| const RefPtr< VCreationPreferences > & | CreationPreferences () const |
| virtual std::string | type_key () const |
| void | iterateParents (VObjectIterator &VOI, int EL=0) const |
| int | iterateParents (const VObjectIterator_f &VOI, int EL=0) const |
| virtual string | CreateParameterName (const ParameterID &name) const |
| int | iterateChildren (ChildIterator &) const |
| int | findChildren (const Lambda &theLambda) const |
| std::list< std::vector< std::string > > | getProvenance () const |
| AttachErrorCode | attachNewObject (const RefPtr< VSlot > &slot, const string &name, const Intercube &CreationContext, const RefPtr< VCreationPreferences > &VCP=nullptr) |
| AttachErrorCode | attachNewObject (const RefPtr< VSlot > &slot, const string &name, const RefPtr< VCreationPreferences > &VCP=nullptr) |
| AttachErrorCode | attachInputObject (const RefPtr< VSlot > &slot, const string &name={}, const RefPtr< VCreationPreferences > &VCP=nullptr, bool ReallyUnique=true) |
| CreateConnectionResult_t | createChild (const VAcception &VA, const Intercube &CreationContext) |
| CreateConnectionResult_t | connectChild (const VObjectPtr &ChildObject, const RefPtr< VAcceptInfo > &VA) |
| CreateConnectionResult_t | connectAsChild (const VObjectPtr &ChildObject, const VAcception &VA) |
| virtual void | InputCreation (const RefPtr< VParameter > &CurrentObjectsInput, const VObjectPtr &NewlyCreatedObject, const RefPtr< VParameter > &TheNewObjectsOutputParameter) |
| VObjectPtr | createInput (const WeakPtrVCreatorBase &VCrec, const RefPtr< VSlot > &what, const string &name, Intercube &CreationContext) |
| VObjectPtr | extractSlot (const RefPtr< VSlot > &theSlot, const string &theNewName=string()) const |
| Public Member Functions inherited from Wizt::VStateCreatorBase | |
| RefPtr< State > & | getState (const WeakPtr< ValuePool > &VP) const |
| RefPtr< InterfaceBase > | hasLocalInterface (const type_info &InterfaceType) const |
| RefPtr< State > | myState (const WeakPtr< ValuePool > &Context) const |
| void | setState (const WeakPtr< ValuePool > &, const RefPtr< State > &st) const |
| Public Member Functions inherited from Wizt::VSaveable | |
| void | addSaver (const string &, const RefPtr< VishSaver > &) |
| void | addSavers (AppClass &A) |
| bool | autosave () const |
| RefPtr< VishSaver > | getMostRecentSaver () const |
| size_t | getNumberOfSavers () const |
| RefPtr< VishSaver > | getSaver (const string &) const |
| RefPtr< VishSaver > | getSaverByExt (const string &ext) const |
| int | iterate_savers (const save_iterator &si) const |
| Public Member Functions inherited from Wizt::VManagedDomainObject< VObject > | |
| const type_info & | getDomainType () const override |
| void | remove () |
| VManagedDomainObject (const string &name, int priority=DEFAULT_PRIORITY) | |
| Public Member Functions inherited from Wizt::VManagedObject | |
| string | getLoadModule () const |
| void | insert (const string &s, int priority=DEFAULT_PRIORITY) |
| void | remove () |
| void | setPriority (int priority) |
| VManagedObject (const string &name, int priority=DEFAULT_PRIORITY) | |
| Public Member Functions inherited from MemCore::Intercube | |
| void | addInterface (const RefPtr< InterfaceBase > &I) const |
| void | addInterfaceData (const Data &D) |
| void | addInterfaceData (const Data &D) |
| void | clearInterfaces () |
| bool | const_iterateInterfaces (const RefPtr< InterfaceIterationParameter > &IIP) const |
| virtual RefPtr< InterfaceBase > | createInterface (const type_info &) const |
| RefPtr< InterfaceBase > | findInterface (const type_info &t) const |
| RefPtr< InterfaceBase > | getInterface (const type_info &t) |
| std::string | getInterfaceNames (const char delim=';') const |
| bool | gotNewInterfaceData (const Data &D) |
| bool | gotNewInterfaceData (mutex &M, const Data &D) |
| bool | gotNewInterfaceData (mutex &M, const Data &D) |
| bool | gotNewInterfaceData (mutex &M, const Data &D, const Selector &S) |
| bool | gotNewInterfaceData (mutex &M, const Data &D, const Selector *S) |
| bool | hasChangedInterfaceData (const Data &D) const |
| bool | hasChangedInterfaceData (const Data &D) const |
| bool | hasChangedInterfaceData (const Data &D, const Selector &) const |
| bool | hasChangedInterfaceData (const Data &D, const Selector *) const |
| bool | hasInterface (const type_info &t) const |
| bool | iterateInterfaces (const RefPtr< InterfaceIterationParameter > &IIP) |
| void | printInterfaces () const |
| void | registerInterface (const type_info &t) |
| void | removeInterface () |
| void | removeInterfaceBase (const type_info &InterfaceBaseID) |
| Public Member Functions inherited from MemCore::MutableName | |
| void | addNameChangeNotifier (const WeakPtr< Notifier > &) |
| std::string | BaseName (const char Separator) const |
| const std::string & | getName () const |
| MutableName (const std::string &theName) | |
| const std::string & | Name () const |
| void | rename (const std::string &newName) |
| void | setName (const std::string &newName) |
| Public Member Functions inherited from Wizt::VScriptable | |
| RefPtr< VScriptFunctor > | findFunctor (const string &name) const |
| RefPtr< VScriptFunctor > | insertFunctor (const string &name, const RefPtr< VScriptFunctor > &) |
| bool | iterate (iterator &it) |
| int | nFunctors () const |
| void | removeFunctor (const string &name) |
| Public Member Functions inherited from Wizt::VTraceRequestID | |
| bool | addRequest (const VRequest &request) |
| bool | hasRequest (const VRequest &request) const |
| Public Member Functions inherited from Wizt::VTransformable | |
| RenderBasin::glsl | getTransformationShaderFunctions (VRenderContext &Context) const |
| bool | initializeAnemoneTransformation (Anemone &RenderAnemone, VRenderContext &Context) const |
| RefPtr< BoundingBox > | shadedVolume (const RefPtr< ValuePool > &Context, const RefPtr< BoundingBox > &VerticesBBox) const |
| Public Member Functions inherited from Wizt::StatusIndicator | |
| bool | setStatusCritical (const RefPtr< ValuePool > &Context, const string &what) const |
| bool | setStatusError (const RefPtr< ValuePool > &Context, const string &what, bool AnnouncePublic=false) const |
| bool | setStatusInfo (const RefPtr< ValuePool > &Context, const string &what) const |
| bool | setStatusWarning (const RefPtr< ValuePool > &Context, const string &what) const |
| StatusIndicator (VObject *what, const string &initialtext="", int EL=0, const string &statusslotname=Slotname) | |
| Public Member Functions inherited from Wizt::SkeletonOperatorBase | |
| SkeletonOperatorBase (const string &s="grid", int el=0) | |
| double | getTime (const RefPtr< ValuePool > &R) const |
| Used to overrides a virtual function via virtual multiple inheritance. | |
| Public Member Functions inherited from Wizt::Fish< Fiber::Slice > | |
| Fish (const string &time="time", const string ×cale="timescale") | |
| Constructor, uses the VObject from the virtual base class. | |
| ~Fish () | |
| Destructor. | |
| double | getTime (const RefPtr< ValuePool > &VP, const RefPtr< Fiber::Bundle > &SpaceTime) const override |
| Get the time value for the current selection from the value pool. | |
| Fiber::Bundle::GridInfo_t | findRecentGrid (Fiber::GridSelector &GS, const RefPtr< ValuePool > &VP) const |
| Public Member Functions inherited from Wizt::TimeDependent | |
| double | getTime (const RefPtr< ValuePool > &VP, double DefaultTime=0.0, const Range &DefaultRange=Range(0.0, 1.0)) const |
| const TypedSlot< VTime > & | getTimeSlot () const |
| void | setupTime (const VConnectable::CreationSlots_t &CreationSlots, bool CreateNewTimeObjectIfNoneExistent=true) |
| TimeDependent (const char *timename="time", const char *timescalename="timescale", const RefPtr< VCreationPreferences > &VP=NullPtr(), const VTime &VT=VTime(0.0, 0.0, 0.0)) | |
| Public Member Functions inherited from Wizt::Fish< Fiber::Skeleton > | |
| Fish (const string &max="AMRmaxlevel", const string &min="AMRminlevel", int ExpertLevel=3) | |
| Fish (int ExpertLevel, const string &max="AMRmaxlevel", const string &min="AMRminlevel") | |
| int | getMinRefinementLevel (const RefPtr< ValuePool > &VP) const override |
| The minimal refinement level. | |
| int | getMaxRefinementLevel (const RefPtr< ValuePool > &VP) const override |
| The maximal refinement level. | |
| Public Member Functions inherited from Wizt::Fish< Fiber::Grid > | |
| Fish (const string &s="grid", int prior=2) | |
| Constructor, optionally pass a parameter of this grid's name (ie. | |
| virtual | ~Fish () |
| Destructor. | |
| void | registerGridAsOutput () |
| Make grid visible as output. | |
| Fiber::Bundle::GridInfo_t | findMostRecentGrid (GridSelector &GS, const RefPtr< ValuePool > &VP, const Fiber::BundlePtr &SpaceTime=Fiber::BundlePtr(NullPtr())) const |
| This is a convenience function to find the most recent grid for the current time ( Fish<Slice>() or virtual function getTime() ). | |
| Fiber::Bundle::GridInfo_t | findMostRecentGrid (const RefPtr< ValuePool > &VP, const Fiber::BundlePtr &SpaceTime=Fiber::BundlePtr(NullPtr())) const |
| Find the most recent grid for the current time ( Fish<Slice>() or virtual function getTime() ). | |
| virtual GridSelector | getGridSelector (const RefPtr< ValuePool > &VP) const |
| Provide the current Grid selector, which usually would be taken from the intrinsic TypedSlot, such as equivalent to: | |
| Fiber::Info< Fiber::Skeleton > | getRefinementLevel (int Level, const RefPtr< ValuePool > &VP, int IndexDepth=0, const Fiber::BundlePtr &SpaceTime=Fiber::BundlePtr(NullPtr())) const override |
| Get an refinement level for the given spacetime based on the GridSelector as returned by getGridSelector(). | |
| bool | IterateLevelsOnMostRecentGrid (LevelIterator &LI, const RefPtr< ValuePool > &Context, const Fiber::BundlePtr &SpaceTime=Fiber::BundlePtr(NullPtr())) const |
| Iterate over all the selected levels of a Grid via an instance of the LevelIterator. | |
| RefPtr< Fiber::Field > | getField (const Fiber::FieldSelector &FS, const RefPtr< ValuePool > &VP, const Fiber::BundlePtr &SpaceTime=Fiber::BundlePtr(NullPtr())) |
| Retrieve a field for the given FieldSelector on the currently selected Grid. | |
| Public Member Functions inherited from Wizt::SkeletonOperator< Fiber::TriangularSurface > | |
| RefPtr< Fiber::Skeleton > | getSkeleton (const Fiber::Grid &G) const override |
| RefPtr< Fiber::Skeleton > | getRefinedSkeleton (const Fiber::Grid &G, int i) const override |
| Public Member Functions inherited from Wizt::FloatingAnemone | |
| string | WorldToScreen () const override |
| The name of the shader parameter used to store the translation vector. | |
| 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 |
| Call this function from. | |
| 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 |
| Provide GLSL code defining uniform variables that relate to the floating origin approach. | |
| Public Member Functions inherited from Wizt::FloatingOriginAnemone | |
| RefPtr< GridAnemone::AnemoneExplorer > | getAnemoneExplorer (const WeakPtr< GridAnemone > &theGridAnemone, VRenderContext &Context) const |
| Creation of an AnemoneExplorer that takes care of the floating origin during rendering, it needs to be overridden in a child class of GridAnemone like this: | |
| 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::Programmable | |
| 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 |
| Public Member Functions inherited from Wizt::ShaderConditionals | |
| RenderNamespace::glsl | getShaderDefines (const RefPtr< ValuePool > &Context) const |
| bool | hasValidShaderDefines (const AnemoneCreatorContext &ACC) const |
Additional Inherited Members | |
| Static Public Member Functions inherited from Wizt::TriangleRenderer | |
| static RefPtr< RenderBasin::VertexAttribute > | getNormals (const AnemoneCreationContext &ARC) |
| Query the per-vertex normal vectors for the current triangle fragment as specified via the AnemoneCreationContext and create a vertex attribute from it. | |
| static void | computeVertexNormals (Fiber::Representation &myVertices, Fiber::Representation &mySkeletonAsVertices, VRequest &Context) |
| Compute normals in case we don't have any yet. | |
| Static Public Member Functions inherited from Wizt::VConnectable | |
| static bool | attachSlot (const WeakPtr< VSlot > &DestSlot, const RefPtr< VParameter > &ProvidedParam, const string &Member={}) |
| static bool | attachSlot (const WeakPtr< VSlot > &DestSlot, const RefPtr< VSlot > &SourceSlot, const string &Member={}) |
| static bool | detachSlot (const RefPtr< VSlot > &SourceSlot) |
| Static Public Member Functions inherited from Wizt::VSlotContainer | |
| static const char * | AttachErrorCodeMessage (AttachErrorCode) |
| static bool | attachParameter (const RefPtr< VParameter > &theProvidedParam, const WeakPtr< VSlot > &theDestSlot, const string &theMember={}) |
| Static Public Member Functions inherited from Wizt::ValueCacheable | |
| static ValueCache & | consider (MemCore::Intercube &IC, const WeakPtr< VSlot > &VS, const RefPtr< ValuePool > &Context) |
| static ValueCache & | getValueCache (MemCore::Intercube &IC) |
| static bool | hasChangedSlots (const WeakPtrToVSlotContainer &theSlotOwner, const MemCore::Intercube &IC, const RefPtr< ValuePool > &Context) |
| Static Public Member Functions inherited from Wizt::GridAnemone | |
| static RefPtr< RenderBasin::VertexAttribute > | createVertexCoordinates (VRenderContext &Context, const RefPtr< Fiber::MemBase > &Coordinates, bool AllowProceduralCoordinates) |
| static const char * | getAnemoneRenderStatusDescription (AnemoneRenderStatus) |
| static void | destroyAnemone (RefPtr< Anemone > &Anemone, const AnemoneCreationContext &ARC) |
| Static Public Member Functions inherited from Wizt::RenderAble | |
| static const char * | VisibilitySlotName () |
| Static Public Member Functions inherited from Wizt::VObject | |
| static bool | remove (const string &s) |
| static int | findOutputObjects (const type_info &Type, OutputObjectIterator &GOutputs) |
| static string | createChildname (const string &parent_name) |
| static VAcceptInfoList_t | accept (const VObjectPtr &vobj) |
| static RefPtr< VParameter > | findUniqueOutputObject (const type_info &Type, const RefPtr< VCreationPreferences > &VCP, bool ReallyUnique, const VObject *NotThisOne) |
| Static Public Member Functions inherited from Wizt::VSaveable | |
| static VSaveable & | GlobalState () |
| Static Public Member Functions inherited from Wizt::VManagedDomainObject< VObject > | |
| static RefPtr< VManagedObject > | find (const string &s) |
| static int | iterate (VManagedObjectIterator_t VIt, int p_start=INT_MIN, int p_end=INT_MAX) |
| static int | size () |
| static int | traverse (VManagedObjectIterator &VIt, int p_start=INT_MIN, int p_end=INT_MAX) |
| Static Public Member Functions inherited from Wizt::VManagedObject | |
| static int | count () |
| static VManagedObjectPtr | find (const type_info &, const std::string &s) |
| static bool | InitDomain (const type_info &) |
| static int | iterateModules (ModuleIterator &VIM) |
| static int | size (const type_info &) |
| static int | traverse (const type_info &, VManagedObjectIterator &VIt, int p_start, int p_end) |
| static void | UnloadVModule (const string &what, VRemoveItem &RI) |
| Static Public Member Functions inherited from MemCore::MutableName | |
| static std::string | BaseName (const std::string &theName, const char Separator) |
| Static Public Member Functions inherited from Wizt::FloatingAnemone | |
| 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 Public Member Functions inherited from Wizt::FloatingOriginAnemone | |
| static RefPtr< RenderBasin::VertexAttribute > | createPossiblyShiftedVertices (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") |
| Static Public Member Functions inherited from Wizt::Phong | |
| static std::string | PhongShaderFunction () |
| vec4 Phong(vec4 VertexInEyeSpace,
vec3 NormalInEyeSpace,
vec4 DiffuseColor,
float shininess,
float sidedness); | |
| Static Public Member Functions inherited from Wizt::Illuminatable | |
| static RenderBasin::glsl | DefineLightSources (VRenderContext &Context) |
| Define the shader variable lightNum that contains the number of active light sources. | |
| static bool | feedAnemone (VRenderContext &Context, AnemoneCreatorBase &AC) |
| static bool | feedAnemone (const AnemoneCreatorContext &ACC) |
| static bool | isValidAnemone (VRenderContext &Context, const AnemoneCreatorBase &AC) |
| Check for consistency of the number of light sources. | |
| static bool | isValidAnemone (VRenderContext &Context, const WeakPtr< AnemoneCreatorBase > &AC) |
| Check for consistency of the number of light sources. | |
| static bool | isValidAnemone (const AnemoneCreatorContext &ACC) |
| Check for consistency of the number of light sources. | |
| Public Attributes inherited from Wizt::VSlotContainer | |
| AllLevels | |
| DestParameterNotFound | |
| InvalidDestParameter | |
| Public Attributes inherited from Wizt::GridAnemone | |
| inout< double > | inLevelThreshold |
| in< double > | inRenderTimeFactor |
| inout< RefPtr< CellTensorFunctor > > | inCellTensorFunctor |
| in< bool > | inFreeze |
| in< bool > | inShowTerminalOnly |
| inout< int > | inMinLevel |
| inout< int > | inNumberOfLevels |
| inout< int > | inMaxNumberOfRenderFragments |
| inout< int > | inMinNumberOfElementsPerFragments |
| inout< int > | inMaxNumberOfElementsPerFragments |
| out< VBoundingBox > | outVisibleBBox |
| out< Fiber::Grid > | outVisibleGrid |
| SortMethod | CurrentSortMethod = SortMethod::None |
| Public Attributes inherited from Wizt::VEnvironmentRenderObject | |
| VOutput< VCameraSetPtr > | myCameraSet |
| Public Attributes inherited from Wizt::RenderAble | |
| out< double > | outRenderTimeContribution |
| in< bool > | Visibility |
| Public Attributes inherited from Wizt::VObject | |
| HelpURL | |
| HTMLText | |
| PlainText | |
| ShortHTMLText | |
| ShortText | |
| std::string | whyupdate |
| string | UserInfo |
| Public Attributes inherited from Wizt::RenderNamespace | |
| COLORS | |
| COORDINATES | |
| LINE_LOOP | |
| LINE_STRIP | |
| LINES | |
| NORMALS | |
| POINTS | |
| POLYGON | |
| TRIANGLE_STRIP | |
| TRIANGLE_FAN | |
| TRIANGLES | |
| QUAD_STRIP | |
| QUADS | |
| SECONDARY_COLORS | |
| TEXTURE0 | |
| TEXTURE1 | |
| USER_DEFINED | |
| Public Attributes inherited from Wizt::StatusIndicator | |
| VOutput< VObjectStatus > | StatusInfo |
| Public Attributes inherited from Wizt::Fish< Fiber::Skeleton > | |
| TypedSlot< int > | MinRefinementLevel |
| TypedSlot< int > | MaxRefinementLevel |
| Public Attributes inherited from Wizt::Fish< Fiber::Grid > | |
| TypedSlot< Fiber::Grid > | MyGrid |
| 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::VObject | |
| static constexpr char | NameSeparator |
| static constexpr char | SlotNameSeparator |
| Static Public Attributes inherited from Wizt::VManagedObject | |
| static string | CurrentLoadModule |
| Static Public Attributes inherited from Wizt::StatusIndicator | |
| static const char | Slotname [] |
| Static Public Attributes inherited from Wizt::TimeDependent | |
| static const char * | GlobalTimePreference |
| 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 [] |
| Protected Types inherited from Wizt::VObject | |
| typedef bool(* | UpdateFunction) (VObject *, VRequest &, double precision) |
| Protected Member Functions inherited from Wizt::VSlotContainer | |
| virtual void | setup (const CreationSlots_t &CreationSlots) |
| Protected Member Functions inherited from MemCore::ReferenceBase< VManagedObjectBase > | |
| virtual void | extremeUnction () |
| ReferenceBase & | operator= (const ReferenceBase &R) |
| void | suicide () |
| Protected Member Functions inherited from Wizt::RenderAble | |
| RenderAble (const string &name, int p, const RefPtr< VCreationPreferences > &VP) | |
| Protected Member Functions inherited from Wizt::VObject | |
| virtual bool | unsychronized_update (VRequest &VR, double precision) |
| Protected Member Functions inherited from Wizt::TimeDependent | |
| void | TimeSetup (const VConnectable::CreationSlots_t &CreationSlots) |
| Protected Attributes inherited from Wizt::VObject | |
| MemCore::Counter | UpdateCounter |
| MemCore::Counter | RequestCounter |
Base class to render triangular surface using shaders and support for floating origin (i.e., large coordinates).
The shader must support usage of the TranslationVector, which is needed to shift vertices by this amount.
|
overridevirtual |
Overload this function to setup a painter that is specific to the given skeleton, which will be mostly a painter object for lines or triangles.
Use the RenderBasin::ElementAttribute::createPainter() function to create a painter from a VRenderContext, e.g.:
or
This function is called when a new Anemone is available for rendering and data from the vertices or the skeleton (e.g. triangles or edges) need to be added.
Optional function to add properties of the representions, for instance fields given on the vertice or edges/triangles/... -
This following code adds data from an unfragmented vertex field:
Implements Wizt::SkeletonRenderer.
References MemCore::MutableName::BaseName(), Wizt::Programmable::CompileShader(), feedAnemone(), Wizt::TriangleRenderer::feedAnemone(), getShaderPrefix(), Wizt::FloatingAnemone::initializeTranslation(), Wizt::Anemone::insert(), Wizt::AnemoneCreatorContext::myAnemoneCreator, and Wizt::Anemone::NumberOfShaderPrograms().
Referenced by feedAnemone().
|
overridevirtual |
The SurfaceAnemoneExplorer is a temporary object that exists while rendering all fragments of a surface.
It is created with the first fragment and destroyed with the last fragment. As such, it defines the scope of a FloatOrigin operation and stores the ModelView matrix which is locally modified during rendering.
Create an AnemoneExplorer that lives during the duration of the rendering operation and shifts the coordinate origin according to the FloatOrigin base class specification.
Reimplemented from Wizt::GridAnemone.
References Wizt::FloatingAnemone::getAnemoneExplorer(), getAnemoneExplorer(), and MemCore::ReferenceBase< VManagedObjectBase >::self().
Referenced by getAnemoneExplorer().
|
overridevirtual |
Checks if a given Anemone is valid for rendering.
Consider the case that some anemone may be reused, but unfortunately is invalid for whatever reason. This may happen if it was created incomplete previously, but nothing has changed since then, so it's still invalid, even though it could be reused...
Any code derive from Programmable may just call
to check for validity of the attached shader programs.
Reimplemented from Wizt::GridAnemone.
References Wizt::ShaderConditionals::hasValidShaderDefines(), Wizt::Illuminatable::isValidAnemone(), isValidAnemone(), and Wizt::AnemoneCreatorContext::myAnemoneCreator.
Referenced by isValidAnemone().
|
overridevirtual |
Update a certain Anemone with variables and values that do not require re-creation or loading of any data.
If this function returns false, then this Anemone will not be rendered but destroyed. If this function returns true, but the Anemone is empty(), then it will be re-initialized.
Reimplemented from Wizt::GridAnemone.
References updateAnemone().
Referenced by updateAnemone().