Gazebo Rendering

API Reference

9.0.0
Ogre2GlobalIlluminationVct.hh
Go to the documentation of this file.
1/*
2 * Copyright (C) 2022 Open Source Robotics Foundation
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *
16 */
17#ifndef GZ_RENDERING_OGRE2_OGRE2GLOBALILLUMINATIONVCT_HH_
18#define GZ_RENDERING_OGRE2_OGRE2GLOBALILLUMINATIONVCT_HH_
19
21
22#include "gz/rendering/ogre2/Export.hh"
24
25#include <memory>
26
27namespace Ogre
28{
29 class HlmsPbs;
30}
31
32namespace gz
33{
34 namespace rendering
35 {
36 inline namespace GZ_RENDERING_VERSION_NAMESPACE {
37 //
38 // forward declaration
39 class Ogre2GlobalIlluminationVctPrivate;
40
42 class GZ_RENDERING_OGRE2_VISIBLE Ogre2GlobalIlluminationVct :
43 public BaseGlobalIlluminationVct<Ogre2Object>
44 {
47
49 public: virtual ~Ogre2GlobalIlluminationVct() override;
50
51 // Documentation inherited
52 protected: virtual void Init() override;
53
54 // Documentation inherited
55 public: virtual void Destroy() override;
56
57 // Documentation inherited
58 public: virtual void Build() override;
59
60 // Documentation inherited
61 public: virtual void UpdateLighting() override;
62
63 // Documentation inherited
64 public: virtual void UpdateCamera() override;
65
66 // Documentation inherited
67 public: virtual void SetResolution(const uint32_t _resolution[3])
68 override;
69
70 // Documentation inherited
71 public: virtual const uint32_t* Resolution() const override;
72
73 // Documentation inherited.
74 public: virtual void SetOctantCount(const uint32_t _octants[3]) override;
75
76 // Documentation inherited.
77 public: virtual const uint32_t* OctantCount() const override;
78
79 // Documentation inherited
80 public: virtual void SetBounceCount(uint32_t _bounceCount) override;
81
82 // Documentation inherited
83 public: virtual uint32_t BounceCount() const override;
84
85 // Documentation inherited.
86 public: void SetParticipatingVisuals(uint32_t _mask) override;
87
88 // Documentation inherited.
89 public: uint32_t ParticipatingVisuals() const override;
90
91 // Documentation inherited
92 public: virtual void SetHighQuality(bool _highQuality) override;
93
94 // Documentation inherited
95 public: virtual bool HighQuality() const override;
96
97 // Documentation inherited
98 public: virtual void SetAnisotropic(bool _anisotropic) override;
99
100 // Documentation inherited
101 public: virtual bool Anisotropic() const override;
102
103 // Documentation inherited
104 public: virtual void SetThinWallCounter(float _thinWallCounter) override;
105
106 // Documentation inherited
107 public: virtual float ThinWallCounter() const override;
108
109 // Documentation inherited
110 public: virtual void SetConserveMemory(bool _conserveMemory) override;
111
112 // Documentation inherited
113 public: virtual bool ConserveMemory() const override;
114
118 protected: virtual void SetEnabled(bool _enabled) override;
119
120 // Documentation inherited.
121 public: virtual bool Enabled() const override;
122
123 // Documentation inherited.
124 public: virtual void SetDebugVisualization(
125 DebugVisualizationMode _dvm) override;
126
127 // Documentation inherited.
129 override;
130
131 // Documentation inherited.
132 public: virtual void LightingChanged() override;
133
136 private: Ogre::HlmsPbs* HlmsPbs() const;
137
140 private: void SyncModeVisualizationMode();
141
144
146 private: friend class Ogre2Scene;
147 };
148 }
149 }
150}
151#endif