FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
EdgeShader.hpp
1#ifndef FISH_EYE_RETINA_EDGESHADER_HPP
2#define FISH_EYE_RETINA_EDGESHADER_HPP
3
4#include <ocean/Anemonia/Programmable.hpp>
5#include <ocean/Anemonia/ShaderConditionals.hpp>
6#include <fish/pond/eye/shaders/Phong.hpp>
7
8#include <fish/pond/anemonefish/FloatingAnemone.hpp>
9#include "EdgeRenderer.hpp"
10
11#include "fisheyeDllApi.h"
12
13namespace Wizt
14{
15
18 , public FloatingAnemone
19 , public Programmable
20{
21 using glsl = RenderNamespace::glsl;
22
25
26 RefPtr<AnemoneExplorer> getAnemoneExplorer(VRenderContext&Context) const;
27
28 bool updateAnemone (Anemone&RenderAnemone, const AnemoneCreationContext&ARC, const RefPtr<AnemoneExplorer>&AE) const override;
29};
30
33 , public ShaderConditionals
34 , public Phong
35{
36 EdgeShader(const string&name, int P, const RefPtr<VCreationPreferences>&VP);
38
39 glsl
40 getEdgeShaderShaderPrefix(const GridAnemone::AnemoneCreationContext&ARC,
42
43 string getShaderPrefix(const AnemoneCreationContext&ARC,
44 const AnemoneExplorer&AE) const;
45
46 bool isValidAnemone(const Anemone&RenderAnemone, const AnemoneCreationContext&ARC, const RefPtr<AnemoneExplorer>&AE) const override;
47
48 bool feedAnemone(Anemone&RenderAnemone,
49 RenderBasin::ElementAttribute&SkeletonBuffer,
51 const RefPtr<AnemoneExplorer>&AE) const override;
52
53 string vertex_shader(VRenderContext&Context) const override;
54
55};
56
57} // namespace Wizt
58
59#endif // FISH_EYE_RETINA_EDGESHADER_HPP
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
Base class for objects that render information given on the edges of a Grid.
Definition EdgeRenderer.hpp:20
note: cannot derive from FloatingSkeletonRenderer as long as independent base class TriangleRenderer ...
Edge renderer with lighting, shader conditionals, floating origin and shader support.
Definition EdgeShader.hpp:35
Definition FloatingAnemone.hpp:57
Edge renderer with floating origin stabilization and shader support.
Definition EdgeShader.hpp:20
The context of creating a RenderAnemone.
Definition AnemoneCreationContext.hpp:58
The Anemone Explorer is an object that lives throughout rendering of a set of Anemones.
Definition GridAnemone.hpp:204
Definition Phong.hpp:16