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