NAP
coloradjustmentshader.h
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4 
5 #pragma once
6 
7 // Local Includes
8 #include "shader.h"
9 
10 namespace nap
11 {
12  // Forward declares
13  class Core;
14  class Material;
15  class RenderService;
16 
17  // Color adjustment uniform shader names
18  namespace uniform
19  {
20  namespace coloradjustment
21  {
22  namespace sampler
23  {
24  inline constexpr const char* colorTexture = "colorTexture";
25  }
26 
27  inline constexpr const char* uboStruct = "UBO";
28  inline constexpr const char* brightness = "brightness";
29  inline constexpr const char* contrast = "contrast";
30  inline constexpr const char* saturation = "saturation";
31  }
32  }
33 
50  class NAPAPI ColorAdjustmentShader : public Shader
51  {
52  RTTI_ENABLE(Shader)
53  public:
55 
61  virtual bool init(utility::ErrorState& errorState) override;
62 
63  private:
64  RenderService* mRenderService = nullptr;
65  };
66 }
nap::ColorAdjustmentShader
Definition: coloradjustmentshader.h:50
nap::uniform::coloradjustment::brightness
constexpr const char * brightness
Controls brightness [-x, x].
Definition: coloradjustmentshader.h:28
nap::uniform::coloradjustment::saturation
constexpr const char * saturation
Controls saturation [0.0, x].
Definition: coloradjustmentshader.h:30
nap::uniform::coloradjustment::contrast
constexpr const char * contrast
Controls contrast [-1.0, 1.0].
Definition: coloradjustmentshader.h:29
nap::uniform::coloradjustment::uboStruct
constexpr const char * uboStruct
UBO that contains all the uniforms.
Definition: coloradjustmentshader.h:27
nap::utility::ErrorState
Definition: errorstate.h:19
nap::Shader
Definition: shader.h:105
nap::uniform::coloradjustment::sampler::colorTexture
constexpr const char * colorTexture
Name of the color texture sampler.
Definition: coloradjustmentshader.h:24
nap::RenderService
Definition: renderservice.h:275
nap::Core
Definition: core.h:82
nap
Definition: templateapp.h:17