FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
Illuminatable.hpp
1#ifndef __SHADERS_ILLUMINATABLE_HPP
2#define __SHADERS_ILLUMINATABLE_HPP
3
4#include <ocean/Anemonia/VRenderContext.hpp>
5#include <ocean/Anemonia/AnemoneCreatorContext.hpp>
6
7#include "shadersDllApi.h"
8
9namespace Wizt
10{
11
16{
17 struct NumberOfLightSources : Interface<NumberOfLightSources>
18 {
19 int NumberOfActiveLightSources;
20
22 : NumberOfActiveLightSources(N)
23 {}
24 };
25
26
47static RenderBasin::glsl DefineLightSources(VRenderContext&Context);
48
49static bool feedAnemone(VRenderContext&Context,
51
52static bool feedAnemone(const AnemoneCreatorContext&ACC)
53 {
54 if (!ACC.myAnemoneCreator)
55 return false;
56
57 return feedAnemone(ACC.myContext, *ACC.myAnemoneCreator);
58 }
59
60
64static bool isValidAnemone(VRenderContext&Context,
65 const AnemoneCreatorBase&AC);
66
72 {
73 if (!AC) return false;
74
75 return isValidAnemone(Context, *AC);
76 }
77
78
83 {
84 if (!ACC.myAnemoneCreator)
85 return false;
86
87 return isValidAnemone(ACC.myContext, *ACC.myAnemoneCreator);
88 }
89
90
91};
92
93
94} // namespace Wizt
95
96#endif // __SHADERS_ILLUMINATABLE_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 ...
Definition Illuminatable.hpp:18
Definition Illuminatable.hpp:16
static bool isValidAnemone(const AnemoneCreatorContext &ACC)
Check for consistency of the number of light sources.
Definition Illuminatable.hpp:82
static bool isValidAnemone(VRenderContext &Context, const WeakPtr< AnemoneCreatorBase > &AC)
Check for consistency of the number of light sources.
Definition Illuminatable.hpp:70