NAP
cubemapshader.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  // Cube map shader sampler names
18  namespace uniform
19  {
20  namespace cubemap
21  {
22  namespace sampler
23  {
24  inline constexpr const char* equiTexture = "equiTexture";
25  }
26 
27  inline constexpr const char* uboStruct = "UBO";
28  inline constexpr const char* face = "face";
29  }
30  }
31 
48  class NAPAPI CubeMapShader : public Shader
49  {
50  RTTI_ENABLE(Shader)
51  public:
52  CubeMapShader(Core& core);
53 
59  virtual bool init(utility::ErrorState& errorState) override;
60 
61  private:
62  RenderAdvancedService* mRenderAdvancedService = nullptr;
63  };
64 }
nap::uniform::cubemap::face
constexpr const char * face
Name of the face index uniform.
Definition: cubemapshader.h:28
nap::CubeMapShader
Definition: cubemapshader.h:48
nap::RenderAdvancedService
Definition: renderadvancedservice.h:99
nap::utility::ErrorState
Definition: errorstate.h:19
nap::uniform::cubemap::sampler::equiTexture
constexpr const char * equiTexture
Name of the texture sampler.
Definition: cubemapshader.h:24
nap::uniform::cubemap::uboStruct
constexpr const char * uboStruct
Name of the uniform struct.
Definition: cubemapshader.h:27
nap::Shader
Definition: shader.h:105
nap::Core
Definition: core.h:82
nap
Definition: templateapp.h:17