11 #ifndef hifi_render_utils_FadeEffect_h
12 #define hifi_render_utils_FadeEffect_h
14 #include <DependencyManager.h>
15 #include <render/Engine.h>
17 class FadeEffect :
public Dependency {
22 void build(render::Task::TaskConcept& task,
const task::Varying& editableItems);
24 render::ShapePipeline::BatchSetter getBatchSetter()
const;
25 render::ShapePipeline::ItemSetter getItemUniformSetter()
const;
26 render::ShapePipeline::ItemSetter getItemStoredSetter();
28 int getLastCategory()
const {
return _lastCategory; }
29 float getLastThreshold()
const {
return _lastThreshold; }
30 const glm::vec3& getLastNoiseOffset()
const {
return _lastNoiseOffset; }
31 const glm::vec3& getLastBaseOffset()
const {
return _lastBaseOffset; }
32 const glm::vec3& getLastBaseInvSize()
const {
return _lastBaseInvSize; }
34 static void packToAttributes(
const int category,
const float threshold,
const glm::vec3& noiseOffset,
35 const glm::vec3& baseOffset,
const glm::vec3& baseInvSize,
36 glm::vec4& packedData1, glm::vec4& packedData2, glm::vec4& packedData3);
40 gpu::BufferView _configurations;
41 gpu::TexturePointer _maskMap;
44 int _lastCategory { 0 };
45 float _lastThreshold { 0.f };
46 glm::vec3 _lastNoiseOffset { 0.f, 0.f, 0.f };
47 glm::vec3 _lastBaseOffset { 0.f, 0.f, 0.f };
48 glm::vec3 _lastBaseInvSize { 1.f, 1.f, 1.f };
50 explicit FadeEffect();
51 virtual ~FadeEffect() { }