1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-08 09:37:53 +00:00
OpenMW/apps/openmw/mwrender/pingpongcull.hpp
2022-09-22 21:35:26 +03:00

36 lines
765 B
C++

#ifndef OPENMW_MWRENDER_PINGPONGCULL_H
#define OPENMW_MWRENDER_PINGPONGCULL_H
#include <array>
#include <components/sceneutil/nodecallback.hpp>
#include "postprocessor.hpp"
namespace osg
{
class StateSet;
class Viewport;
}
namespace MWRender
{
class PostProcessor;
class PingPongCull : public SceneUtil::NodeCallback<PingPongCull, osg::Node*, osgUtil::CullVisitor*>
{
public:
PingPongCull(PostProcessor* pp);
~PingPongCull();
void operator()(osg::Node* node, osgUtil::CullVisitor* nv);
private:
std::array<osg::Matrixf, 2> mLastViewMatrix;
osg::ref_ptr<osg::StateSet> mViewportStateset;
osg::ref_ptr<osg::Viewport> mViewport;
PostProcessor* mPostProcessor;
};
}
#endif