25#ifndef __SO3_DEFERRED_SHADING_H__
26#define __SO3_DEFERRED_SHADING_H__
45#include "OgreCompositorInstance.h"
46#include "OgreSceneManager.h"
47#include "OgreSceneNode.h"
48#include "OgreMaterial.h"
49#include "OgreRenderTargetListener.h"
99 bool newViewportAdded;
102 typedef std::map<std::string, SGBuffer*> AvailableGBufferMap;
103 AvailableGBufferMap availableGBufferMap;
117 Ogre::MaterialManager::Listener* gBufferSchemeHandler;
118 Ogre::MaterialManager::Listener* noGBufferSchemeHandler;
119 Ogre::CompositorLogic* ssaoCompositorLogic;
120 Ogre::CustomCompositionPass* deferredLightCompositionPass;
Ogre::CompositorInstance * AntiAliasingCompositors[SO3_DEFERRED_AA_COUNT]
static SDeferredShading * getSingletonPtr()
static const Ogre::uint8 PRE_GBUFFER_RENDER_QUEUE
void SetAntiAliasing(SViewPort *existingViewport, DeferredShadingAntiAliasingMode newMode)
DeferredShadingAntiAliasingMode
void SetSSAO(SViewPort *existingViewport, bool ssao)
void UnregisterViewport(SViewPort *existingViewport)
static SDeferredShading & getSingleton()
std::map< SViewPort *, GBufferFilters * > OgreViewportList
OgreViewportList ogreViewportList
void UnregisterAllViewports()
static const Ogre::uint8 POST_GBUFFER_RENDER_QUEUE
void RegisterViewport(SViewPort *targetViewport)
DeferredShadingMode currentMode
DeferredShadingMode GetMode() const
@ SO3_DEFERRED_SHOWMATERIALID
@ SO3_DEFERRED_SHOWCOLOUR
Show diffuse (for debugging)
@ SO3_DEFERRED_SHOWNORMALS
Show normals (for debugging)
@ SO3_DEFERRED_SHOWLIT
The deferred shading mode.
@ SO3_DEFERRED_SHOWEMISSIVE
Show emissive channel (for debugging)
@ SO3_DEFERRED_SHOWVELOCITY
Show velocity vector (for debugging)
@ SO3_DEFERRED_SHOWSPECULAR
Show specular channel (for debugging)
@ SO3_DEFERRED_SHOWDEPTH
Show depth channel (for debugging)
void SetMode(DeferredShadingMode mode)
SGBufferMaterialGenerator * GetGBufferMaterialGenerator()
Ogre::CompositorInstance * GBufferCompositors[SO3_DEFERRED_COUNT]
Ogre::CompositorInstance * ssaoCompositor
GBufferCompositors gBufferCompositors
AntiAliasingCompositors antiAliasingCompositors
Ogre::CompositorInstance * gBufferInstance