|
CeresEngine 0.2.0
A game development framework
|
The implementation for skybox environment type. More...
#include <CeresEngine/Renderer/RendererEnvironment.hpp>
Public Member Functions | |
| RendererSkyboxEnvironment (RendererEnvironmentManager &manager, RendererScene &scene) | |
Creates a new RendererSkyboxEnvironment. | |
| ~RendererSkyboxEnvironment () override | |
| Destroys the renderer environment and releases any renderer (and RenderAPI)-related resources. | |
| void | prepare (RendererContext &context) override |
| Prepares the environment for the rendering of the current frame. | |
| RendererEnvironmentType | getType () const noexcept final |
| Determines the type of environment. | |
| const GPUUniformBuffer & | getUniformBuffer () const final |
| The uniform buffer storing the environment GPU parameters used by the renderer. | |
| const RendererTexturePtr & | getSkyboxTexture () const noexcept |
| A texture that represents the scene sky. | |
| const RendererTexturePtr & | getIrradianceMap () const noexcept |
| The (diffuse) irradiance map for the skybox texture. | |
| const RendererTexturePtr & | getRadianceMap () const noexcept |
| The (specular) radiance map for the skybox texture. | |
Public Member Functions inherited from CeresEngine::RendererEnvironment | |
| RendererEnvironment (RendererEnvironmentManager &manager, RendererScene &scene) | |
| Creates a new RendererEnvironment. | |
| virtual | ~RendererEnvironment () |
| Destroys the renderer environment and releases any renderer (and RenderAPI)-related resources. | |
| void | synchronize (const EnvironmentComponent &component) |
| Update the renderer environment with data from a transform and the component. | |
| const RendererEnvironmentDirtyFlags & | getDirtyFlags () const noexcept |
| A set of flags that represent the dirty portions of the object. | |
| bool | isDirty () const noexcept |
| void | markAsDirty (const RendererEnvironmentDirtyFlags &flags=RendererEnvironmentDirtyFlag::All) noexcept |
Public Member Functions inherited from CeresEngine::TRendererSceneObject< RendererEnvironment > | |
| TRendererSceneObject (Args &&... args) | |
Creates a new TRendererSceneObject instance. | |
| ~TRendererSceneObject () noexcept override | |
Destroys an existing TRendererSceneObject instance. | |
Public Member Functions inherited from CeresEngine::TRendererObject< SelfType, BaseType > | |
| template<typename... Args> | |
| TRendererObject (ManagerType &manager, Args &&... args) | |
Creates a new TRendererObject instance. | |
| void | destroy () noexcept override |
Destroys the RendererObject. | |
| ManagerType & | getManager () const noexcept |
| The owning object manager. | |
Public Member Functions inherited from CeresEngine::RendererObject | |
| RendererObject ()=default | |
Creates a new RendererObject instance. | |
| virtual | ~RendererObject () noexcept=default |
Destroys an existing RendererObject instance. | |
| RendererObjectID | getID () const noexcept |
| An identifier that uniquely identifies this object in the renderer. | |
Private Types | |
| using | super = RendererEnvironment |
Private Attributes | |
| RendererTexturePtr | mOriginalSkyboxTexture |
| RendererTexturePtr | mSkyboxTexture |
| A texture that represents the scene sky. | |
| RendererTexturePtr | mIrradianceMap |
| The (diffuse) irradiance map for the skybox texture. | |
| RendererTexturePtr | mRadianceMap |
| The (specular) radiance map for the skybox texture. | |
| GPUDynamicUniformBuffer< RendererSkyboxEnvironmentParams > | mUniformBuffer |
| The uniform buffer storing the environment GPU parameters used by the renderer. | |
Friends | |
| class | RendererEnvironmentManager |
Additional Inherited Members | |
Public Attributes inherited from CeresEngine::RendererObject | |
| Event< void(RendererObjectID newID)> | willChangeID |
| An event called whenever the object is about to change it's ID. | |
| Event< void(RendererObjectID oldID)> | didChangeID |
| An event called whenever the object changes it's ID. | |
Protected Member Functions inherited from CeresEngine::RendererEnvironment | |
| GPUImagePtr | equirectangularToCubeMap (RendererContext &context, const GPUImagePtr &environmentMap) |
| GPUImagePtr | prefilterIrradianceMap (RendererContext &context, const GPUImagePtr &environmentMap) |
Generates a diffuse irradiance map for the given environmentMap. | |
| GPUImagePtr | prefilterRadianceMap (RendererContext &context, const GPUImagePtr &environmentMap) |
Generates a specular pre-filtered reflection map using environmentMap as a base. | |
Protected Attributes inherited from CeresEngine::RendererEnvironment | |
| EnvironmentComponent | mComponent |
| A copy of the latest environment component. | |
| RendererEnvironmentDirtyFlags | mDirtyFlags = RendererEnvironmentDirtyFlag::All |
| A set of flags that represent the dirty portions of the object. | |
Protected Attributes inherited from CeresEngine::TRendererObject< SelfType, BaseType > | |
| ManagerType & | mManager |
| The owning object manager. | |
Protected Attributes inherited from CeresEngine::RendererObject | |
| RendererObjectID | mID |
| An identifier that uniquely identifies this object in the renderer. | |
The implementation for skybox environment type.
|
explicit |
Creates a new RendererSkyboxEnvironment.
| manager | The owning manager. |
| scene | A reference to the owning scene. |
|
override |
Destroys the renderer environment and releases any renderer (and RenderAPI)-related resources.
|
inlinenoexcept |
The (diffuse) irradiance map for the skybox texture.
|
inlinenoexcept |
The (specular) radiance map for the skybox texture.
|
inlinenoexcept |
A texture that represents the scene sky.
Can be null if the sky texture is not set, in that case no sky is present on the scene.
|
inlinefinalvirtualnoexcept |
Determines the type of environment.
Implements CeresEngine::RendererEnvironment.
|
inlinefinalvirtual |
The uniform buffer storing the environment GPU parameters used by the renderer.
Implements CeresEngine::RendererEnvironment.
|
overridevirtual |
Prepares the environment for the rendering of the current frame.
This will update uniform buffers and perform any other necessary operations necessary for rendering.
| context | A context struct that contains parameters given by the renderer. |
Reimplemented from CeresEngine::RendererEnvironment.
|
private |
The (diffuse) irradiance map for the skybox texture.
|
private |
|
private |
The (specular) radiance map for the skybox texture.
|
private |
A texture that represents the scene sky.
Can be null if the sky texture is not set, in that case no sky is present on the scene.
|
private |
The uniform buffer storing the environment GPU parameters used by the renderer.