FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
BiVectorOrientation.hpp
1#ifndef __BIVECTORS_AS_SPIRAL_HPP
2#define __BIVECTORS_AS_SPIRAL_HPP
3
4#include <ocean/Anemonia/Programmable.hpp>
5#include <ocean/Anemonia/Seagrass.hpp>
6
7#include "shadersDllApi.h"
8#include "Phong.hpp"
9
10#include <elementary/meta/LIST.hpp>
11
12#include <fish/pond/anemonefish/GridAnemone.hpp>
13
14namespace Wizt
15{
16
22{
24
25 const string VectorFieldAttributeName;
26
27 VObject::in<double>
28 LengthScale,
29 inLineWidth,
30
31 inAngularOffset,
32 inAngularVelocity;
33
34
35 VObject::in<Color> inColor;
36
38
40
41
42 double AdjustLineWidth(const double&DefaultValue, VRenderContext&V) const;
43 double ComputeAngularOffset(const double&DefaultValue, VRenderContext&V) const;
44
45static constexpr bool hasShaderConditionals = false;
46
48 bool initializeAnemone(Anemone&RenderAnemone,
50 AnemoneCreator<>&AC) const;
51
53 Anemone&RenderAnemone,
56
57 bool isValidAnemone(const Anemone&RenderAnemone,
59 AnemoneCreator<>&AC) const
60 {
61 return Phong::isValidAnemone(Context, AC);
62 }
63
64 glsl vertex_shader(VRenderContext&Context) const override;
65
66 glsl geometry_shader(VRenderContext&Context) const override;
67
68 glsl FragmentShaderPrefix(VRenderContext&Context) const override;
69
70 glsl fragment_shader(VRenderContext&Context) const override;
71
72 string getShaderAttributeName() const
73 {
74 return VectorFieldAttributeName;
75 }
76};
77
78
79} // namespace Wizt
80
81#endif // __BIVECTORS_AS_SPIRAL_HPP
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
note: cannot derive from FloatingSkeletonRenderer as long as independent base class TriangleRenderer ...
A shader for bivectors.
Definition BiVectorOrientation.hpp:22
The context of creating a RenderAnemone.
Definition AnemoneCreationContext.hpp:58
Definition Phong.hpp:16