NAP
videoshader.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 <shader.h>
9 
10 namespace nap
11 {
12  // Forward declares
13  class Core;
14  class RenderService;
15 
16  // Video shader sampler names
17  namespace uniform
18  {
19  namespace video
20  {
21  namespace sampler
22  {
23  inline constexpr const char* YSampler = "yTexture";
24  inline constexpr const char* USampler = "uTexture";
25  inline constexpr const char* VSampler = "vTexture";
26  }
27  }
28  }
29 
42  class NAPAPI VideoShader : public Shader
43  {
44  RTTI_ENABLE(Shader)
45  public:
46  VideoShader(Core& core);
47 
53  virtual bool init(utility::ErrorState& errorState) override;
54 
55  private:
56  RenderService* mRenderService = nullptr;
57  };
58 }
nap::uniform::video::sampler::VSampler
constexpr const char * VSampler
video shader V sampler name
Definition: videoshader.h:25
nap::VideoShader
Definition: videoshader.h:42
nap::utility::ErrorState
Definition: errorstate.h:19
nap::Shader
Definition: shader.h:105
nap::RenderService
Definition: renderservice.h:275
nap::Core
Definition: core.h:82
nap
Definition: templateapp.h:17
nap::uniform::video::sampler::USampler
constexpr const char * USampler
video shader U sampler name
Definition: videoshader.h:24
nap::uniform::video::sampler::YSampler
constexpr const char * YSampler
video shader Y sampler name
Definition: videoshader.h:23