NAP
skyboxshader.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 // External Includes
8 #include <nap/resource.h>
9 #include <shader.h>
10 
11 namespace nap
12 {
13  // Forward declares
14  class Core;
15  class RenderAdvancedService;
16 
17  // Skybox shader sampler names
18  namespace uniform
19  {
20  namespace skybox
21  {
22  inline constexpr const char* cubeTexture = "cubeTexture";
23  inline constexpr const char* color = "color";
24  inline constexpr const char* alpha = "alpha";
25  inline constexpr const char* uboStruct = "UBO";
26  }
27  }
28 
42  class NAPAPI SkyBoxShader : public Shader
43  {
44  RTTI_ENABLE(Shader)
45  public:
46  SkyBoxShader(Core& core);
47 
53  virtual bool init(utility::ErrorState& errorState) override;
54 
55  private:
56  RenderAdvancedService* mRenderAdvancedService = nullptr;
57  };
58 }
nap::uniform::skybox::uboStruct
constexpr const char * uboStruct
UBO that contains all the uniforms.
Definition: skyboxshader.h:25
nap::SkyBoxShader
Definition: skyboxshader.h:42
nap::uniform::skybox::color
constexpr const char * color
color value (0-1)
Definition: skyboxshader.h:23
nap::RenderAdvancedService
Definition: renderadvancedservice.h:99
nap::utility::ErrorState
Definition: errorstate.h:19
nap::Shader
Definition: shader.h:105
nap::Core
Definition: core.h:82
nap::uniform::skybox::cubeTexture
constexpr const char * cubeTexture
Name of the cube texture sampler.
Definition: skyboxshader.h:22
nap
Definition: templateapp.h:17
nap::uniform::skybox::alpha
constexpr const char * alpha
alpha value (0-1)
Definition: skyboxshader.h:24