AnnSceneryManager.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include "systemMacro.h"
4 #include "AnnSubsystem.hpp"
5 #include "OgreSceneManager.h"
6 #include "AnnTypes.h"
7 #include "AnnOgreVRRenderer.hpp"
8 #include <memory>
9 #include <algorithm>
10 
11 namespace Annwvyn
12 {
15  {
16  public:
19 
21  bool needUpdate() override { return false; }
22 
28  void setSkyDomeMaterial(bool activate,
29  const std::string& materialName,
30  float curvature = 2.0f,
31  float tiling = 1.0f) const;
32 
38  void setSkyBoxMaterial(bool activate,
39  const std::string& materialName,
40  float distance = 8000,
41  bool renderedFirst = true) const;
42 
44  void removeSkyDome() const;
45 
47  void removeSkyBox() const;
48 
50  void setAmbientLight(AnnColor upperColor, float upperMul, AnnColor lowerColor, float lowerMul, AnnVect3 direction, float environementMapScaling = 16) const;
51 
53  void setDefaultAmbientLight() const;
54 
56  void setExposure(float exposure, float minExposure, float maxExposure) const;
57 
59  void setDefaultExposure() const;
60 
62  void setSkyColor(AnnColor color, float multiplier) const;
63 
65  void setDefaultSkyColor() const;
66 
68  void setBloomThreshold(float threshold) const;
69 
71  void setDefaultBloomThreshold() const;
72 
74  void resetSceneParameters() const;
75 
76  private:
78  Ogre::SceneManager* smgr;
79 
82 
84  const float defaultExposure, defaultMinAutoExposure, defaultMaxAutoExposure, defaultSkyColorMultiplier, defaultBloom, defaultUpperAmbientLightMul, defaultLowerAmbientLightMul;
86  const AnnColor defaultSkyColor, defaultUpperAmbient, defaultLowerAmbient;
87  };
88 
90 }
file for defining macros used for symbol export regarding the way the OS does things.
Class that represent a 4 channel color value.
Definition: AnnColor.hpp:17
A 3D Vector.
Definition: AnnVect3.hpp:16
Namespace containing the totality of Annwvyn components.
Definition: AnnGetter.cpp:8
AnnOgreVRRendererPtr renderer
Pointer to the VR renderer.
bool needUpdate() override
This subsystem doesn&#39;t need to be updated.
Scenery Manager. Set the scene rendering parameters, like the exposure or the ambient lighting...
Parent class of all Annwvyn SubSystem.
Ogre::SceneManager * smgr
Scene manager created by the VR renderer.
Data types definition for Annwvyn.
#define AnnDllExport
Definition: systemMacro.h:24