FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
VectorAsLine.hpp
1#ifndef __VECTORS_AS_LINE_HPP
2#define __VECTORS_AS_LINE_HPP
3
4#include <ocean/Anemonia/Programmable.hpp>
5#include <ocean/Anemonia/Seagrass.hpp>
6
7#include <elementary/meta/LIST.hpp>
8#include <fish/pond/anemonefish/GridAnemone.hpp>
9
10#include "shadersDllApi.h"
11
12namespace Wizt
13{
14
22{
24
25 const string VectorFieldAttributeName;
26
27 VObject::in<double> LengthScale;
28
30
32
33static constexpr bool hasShaderConditionals = false;
34
36 bool initializeAnemone(Anemone&RenderAnemone,
38 AnemoneCreator<>&AC) const;
39
40 bool isValidAnemone(const Anemone&RenderAnemone,
42 AnemoneCreator<>&AC) const;
43
44
46 std::string vertex_shader(VRenderContext&Context) const override;
47
48 std::string geometry_shader(VRenderContext&Context) const override;
49
51 Anemone&RenderAnemone,
54 {
56 retval.Geometry.Output.Vertices = 2;
57 return retval;
58 }
59
61 std::string fragment_shader(VRenderContext&Context) const override;
62
63 string getShaderAttributeName() const
64 {
65 return VectorFieldAttributeName;
66 }
67};
68
69
70} // namespace Wizt
71
72#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 VectorAsLine.hpp:22