NAP
cubemapfromfile.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 <nap/resourceptr.h>
10 #include <rendertexturecube.h>
11 #include <image.h>
12 
13 namespace nap
14 {
15  // Forward Declares
16  class Core;
17  class RenderAdvancedService;
18 
38  class NAPAPI CubeMapFromFile : public RenderTextureCube
39  {
40  RTTI_ENABLE(RenderTextureCube)
41  public:
42  friend class RenderAdvancedService;
43 
44  // Destructor
45  virtual ~CubeMapFromFile() {}
46 
50  CubeMapFromFile(Core& core);
51 
57  virtual bool init(utility::ErrorState& errorState) override;
58 
62  virtual void onDestroy() override;
63 
67  Texture2D& getSourceTexture() const { return *mSourceImage; }
68 
69  public:
70  std::string mImagePath;
71  bool mSampleShading = false;
72 
74 
75  private:
76  RenderAdvancedService* mRenderAdvancedService = nullptr;
77  std::unique_ptr<Image> mSourceImage;
78  };
79 }
nap::CubeMapFromFile
Definition: cubemapfromfile.h:38
nap::RenderAdvancedService
Definition: renderadvancedservice.h:99
nap::utility::ErrorState
Definition: errorstate.h:19
nap::RenderTextureCube
Definition: rendertexturecube.h:36
nap::CubeMapFromFile::~CubeMapFromFile
virtual ~CubeMapFromFile()
Definition: cubemapfromfile.h:45
nap::Texture2D
Definition: texture.h:128
nap::CubeMapFromFile::mImagePath
std::string mImagePath
Property: 'ImagePath' Path to the image on disk to load.
Definition: cubemapfromfile.h:70
nap::Core
Definition: core.h:82
nap
Definition: templateapp.h:17
nap::CubeMapFromFile::getSourceTexture
Texture2D & getSourceTexture() const
Definition: cubemapfromfile.h:67
nap::RenderTextureCube::mGenerateLODs
bool mGenerateLODs
Definition: rendertexturecube.h:70