FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
VectorArrow.hpp
1#ifndef __VECTORS_AS_ARROW_HPP
2#define __VECTORS_AS_ARROW_HPP
3
4#include <ocean/Anemonia/Programmable.hpp>
5#include <ocean/Anemonia/Seagrass.hpp>
6
7#include <elementary/meta/LIST.hpp>
8
9#include <fish/pond/anemonefish/GridAnemone.hpp>
10
11#include "shadersDllApi.h"
12
13namespace Wizt
14{
15
23{
25
26 const string VectorFieldAttributeName;
27
28 VObject::in<double>
29 LengthScale,
30 LineWidth,
31 inArrowHeadLength;
32
33 VectorArrow(VObject*that);
34
36
37static constexpr bool hasShaderConditionals = false;
38
40 bool initializeAnemone(Anemone&RenderAnemone,
42 const AnemoneCreator<>&AC) const;
43
44 bool isValidAnemone(const Anemone&RenderAnemone,
46 const AnemoneCreator<>&AC) const
47 {
48 return true;
49 }
50
51
53 std::string vertex_shader(VRenderContext&Context) const override;
54
55
57 Anemone&RenderAnemone,
60 {
62 retval.Geometry.Output.Vertices = 16;
63 return retval;
64 }
65
66
67 std::string geometry_shader(VRenderContext&Context) const override;
68
70 std::string 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 // __VECTORS_AS_LINE_HPP
basic_string< char > string
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 ...
The context of creating a RenderAnemone.
Definition AnemoneCreationContext.hpp:58
A minimalistic geometry shader that displays a vector field as a line segment.
Definition VectorArrow.hpp:23