35class VENOM_COMMON_API SkyboxImpl :
public PluginObjectImpl,
public GraphicsPluginObject
39 virtual ~SkyboxImpl();
41 vc::Error LoadSkybox(
const char * texturePath);
42 vc::Error LoadSkybox(
const SPtr<GraphicsCachedResource> res);
43 inline const vc::Texture & GetPanorama()
const {
return __panorama; }
44 inline vc::Texture & GetPanoramaMut() {
return __panorama; }
45 vc::Error ChangeBlurFactor(
const float factor);
47 virtual vc::Error _LoadSkybox(
const Texture & texture) = 0;
48 virtual vc::Error _LoadIrradianceMap(
const Texture & texture,
vc::Texture & irradianceMap) = 0;
49 virtual vc::Error _LoadRadianceMap(
const Texture & texture,
Texture & radianceMap) = 0;
50 virtual vc::Error _LoadBlurMap(
const Texture & texture,
Texture & blurMap) = 0;
51 virtual vc::Error _ChangeBlurFactor(
const float factor) = 0;
63class VENOM_COMMON_API Skybox :
public Component,
public PluginObjectImplWrapper
67 Skybox(
const char * path);
70 void Init(Entity entity)
override;
71 void Update(Entity entity)
override;
72 void _GUI(
const Entity entity)
override;
73 vc::String _GetComponentTitle()
override;
74 bool CanRemove(Entity entity)
override;
76 inline vc::Error LoadSkybox(
const char * path) {
return _impl->As<
SkyboxImpl>()->LoadSkybox(path); }
77 inline vc::Error LoadSkybox(
const SPtr<GraphicsCachedResource> res) {
return _impl->As<
SkyboxImpl>()->LoadSkybox(res); }
79 inline vc::Error ChangeBlurFactor(
const float factor) {
return _impl->As<
SkyboxImpl>()->ChangeBlurFactor(factor); }