FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
SurfaceRenderer.hpp
1#ifndef __SURFACE_RENDERER_HPP
2#define __SURFACE_RENDERER_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/eye/retina/TriangleRenderer.hpp>
9#include <fish/pond/anemonefish/FloatingAnemone.hpp>
10
15namespace Wizt
16{
17
37 , public FloatingAnemone
38 , public Programmable
39 , public ShaderConditionals
40 , public Phong
41{
42public:
45
46 using glsl = RenderNamespace::glsl;
47
58// using SurfaceAnemoneExplorer = FloatingAnemoneExplorer;
59
65 RefPtr<AnemoneExplorer> getAnemoneExplorer(VRenderContext&Context) const override;
66
67
68 SurfaceRenderer(const string&name, int, const RefPtr<VCreationPreferences>&VP);
69
71
80 string getSurfaceShaderPrefix(const GridAnemone::AnemoneCreationContext&ARC,
82
86 virtual string getShaderPrefix(const GridAnemone::AnemoneCreationContext&ARC,
88
89 bool feedAnemone(Anemone&RenderAnemone,
90 RenderBasin::ElementAttribute&SkeletonBuffer,
92 const RefPtr<AnemoneExplorer>&AE) const override;
93
94 bool isValidAnemone(const Anemone&RenderAnemone, const AnemoneCreationContext&ARC, const RefPtr<AnemoneExplorer>&AE) const override;
95
96 bool updateAnemone (Anemone&RenderAnemone, const AnemoneCreationContext&ARC, const RefPtr<AnemoneExplorer>&AE) const override;
97
98};
99
100} // namespace Wizt
101
102#endif // __SURFACE_RENDERER_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 to render triangular surface using shaders and support for floating origin (i....
Definition SurfaceRenderer.hpp:41
Base class for objects that render information given on the triangle of a Grid.
Definition TriangleRenderer.hpp:22
note: cannot derive from FloatingSkeletonRenderer as long as independent base class TriangleRenderer ...
Definition FloatingAnemone.hpp:57
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