#ifndef OPENMW_MWRENDER_POSTPROCESSOR_H #define OPENMW_MWRENDER_POSTPROCESSOR_H #include namespace osg { class Texture2D; class Group; class FrameBufferObject; class Camera; } namespace osgViewer { class Viewer; } namespace MWRender { class RenderingManager; class PostProcessor { public: PostProcessor(RenderingManager& rendering, osgViewer::Viewer* viewer, osg::Group* rootNode); auto getMsaaFbo() { return mMsaaFbo; } auto getFbo() { return mFbo; } int getDepthFormat() { return mDepthFormat; } void resize(int width, int height, bool init=false); private: osgViewer::Viewer* mViewer; osg::ref_ptr mRootNode; osg::ref_ptr mHUDCamera; osg::ref_ptr mMsaaFbo; osg::ref_ptr mFbo; osg::ref_ptr mSceneTex; osg::ref_ptr mDepthTex; int mDepthFormat; void createTexturesAndCamera(int width, int height); RenderingManager& mRendering; }; } #endif