#ifndef OPENMW_MWRENDER_TRANSPARENTPASS_H #define OPENMW_MWRENDER_TRANSPARENTPASS_H #include #include #include #include #include namespace Shader { class ShaderManager; } namespace Stereo { class MultiviewFramebufferResolve; } namespace MWRender { class TransparentDepthBinCallback : public osgUtil::RenderBin::DrawCallback { public: TransparentDepthBinCallback(Shader::ShaderManager& shaderManager, bool postPass); void drawImplementation( osgUtil::RenderBin* bin, osg::RenderInfo& renderInfo, osgUtil::RenderLeaf*& previous) override; std::array, 2> mFbo; std::array, 2> mMsaaFbo; std::array, 2> mOpaqueFbo; std::array, 2> mMultiviewResolve; private: osg::ref_ptr mStateSet; bool mPostPass; }; } #endif