|
FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
|
Public Types | |
| using | ShaderFields_t = map< string, TypedSlot< Fiber::FieldSelector > > |
| Mapping from shader attribute names to input field selectors. | |
| using | string_set = std::unordered_set< string > |
| using | getSkeletonFieldsResults_t = map< string, RefPtr< Fiber::Field > >::value_type |
| using | FieldValidator_t = std::function< WeakPtr< Fiber::Field >(const Fiber::Skeleton &RI, const std::string &ShaderAttributeName)> |
Static Public Member Functions | |
| static getSkeletonFieldsResults_t | getSkeletonField (const RefPtr< Fiber::Skeleton > &DestVertexSkeleton, const RefPtr< Fiber::Chart > &chart, const FieldSelector &FS, const string_set &ImplicitFieldNames, bool AllowImplicitFields) |
| Provide a field on a skeleton, considering possibly given implicit field names, i.e. | |
| static RenderNamespace::glsl | getPositionsShaderFunction (const Fiber::CreativeArrayBase &theCoordinateFragment) |
Public Attributes | |
| ShaderFields_t | myShaderFields |
| Map from names used in the GLSL code to input field slots. | |
| VObject::in< bool > | inAllowImplicitFields |
| std::unordered_map< string, string_set > | myShaderDefaultFields |
| For each shader field optionally provide a name for the field on the Grid. | |
| std::unordered_set< std::string > | MandatoryShaderAttributes |
Static Public Attributes | |
| static const char | define_ATTRIBUTE_INDEX_LOCATION [] |
| A glsl macro to define a. | |
| bool Wizt::ShaderFields::addFields | ( | VRequest & | Context, |
| const RefPtr< Fiber::Skeleton > & | theSkeleton, | ||
| const RefPtr< Fiber::Chart > & | chart, | ||
| RenderFields & | Result, | ||
| string & | InfoString | ||
| ) |
Add all stored fields to the provided FieldList.
To be called from addSupplementaryData() .
|
static |
Defines functions in the vertex shader that allow to compute positions also
from uniform coordinates.
| RenderNamespace::glsl Wizt::ShaderFields::getShaderDefinitions | ( | const RefPtr< ValuePool > & | Context, |
| const RenderNamespace::glsl & | FieldID, | ||
| const Fiber::Field & | F, | ||
| const RefPtr< Fiber::FragmentID > & | FID, | ||
| const RefPtr< Fiber::SizeInterface > & | PrimaryDataFragmentSize | ||
| ) | const |
Support for arrays per vertex via texture buffers.
References Fiber::Field::getCreator(), Fiber::Field::getElementFiberType(), Fiber::Field::getElementType(), Wizt::Range::Max(), Wizt::Range::Min(), Fiber::HyperslabParameters::multiplicity(), std::to_string(), and MemCore::Typename().
|
static |
Provide a field on a skeleton, considering possibly given implicit field names, i.e.
if no field can be found via the FieldSelector, then go via the implicit field names as given by a list of strings.
Check whether a given shader attribute must be provided.
This function simply checks its mentioning in the MandatoryShaderAttributes member array.
A glsl macro to define a.
attribute for vertex attributes, but only for GLSL version higher than 3.3, otherwie it is empty.
| ShaderFields_t Wizt::ShaderFields::myShaderFields |
Map from names used in the GLSL code to input field slots.
This map has to be filled in the derived object's constructor or setup function / functor. For instance:
The specified field's data will then appears as vertex shader attribute