VenomEngine
Cross-Platform Modern Graphics Engine
Loading...
Searching...
No Matches
Skybox.h
Go to the documentation of this file.
1
8#pragma once
12
13namespace venom
14{
15namespace common
16{
17class VENOM_COMMON_API SkyboxImpl : public PluginObjectImpl, public GraphicsPluginObject
18{
19public:
20 SkyboxImpl();
21 virtual ~SkyboxImpl() = default;
22
23 vc::Error LoadSkybox(const char * texturePath);
24 inline const vc::Texture & GetPanorama() const { return __panorama; }
25protected:
26 virtual vc::Error _LoadSkybox(const Texture & texture) = 0;
27private:
28 Texture __panorama;
29};
30
31class VENOM_COMMON_API Skybox : public PluginObjectImplWrapper
32{
33public:
34 Skybox();
35 Skybox(const char * path);
36 ~Skybox();
37
38 inline vc::Error LoadSkybox(const char * path) { return _impl->As<SkyboxImpl>()->LoadSkybox(path); }
39};
40}
41}
Base class for graphics plugin objects.
Definition GraphicsPluginObject.h:80
Interface for the PluginObject different implementations.
Definition PluginObject.h:56
Wrapper for the PluginObjectImpl, inherited by classes like Model or Mesh to make them usable as comp...
Definition PluginObject.h:76
Definition Skybox.h:32
Definition Skybox.h:18
Definition Texture.h:80
Contains the entirety of the code of the VenomEngine project.
Definition Config.h:13