1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-15 22:49:55 +00:00
openmw-tes3mp/components/myguiplatform/additivelayer.cpp

34 lines
839 B
C++
Raw Normal View History

2015-11-07 16:45:22 +00:00
#include "additivelayer.hpp"
#include <osg/BlendFunc>
#include <osg/StateSet>
#include "myguirendermanager.hpp"
namespace osgMyGUI
{
AdditiveLayer::AdditiveLayer()
{
mStateSet = new osg::StateSet;
mStateSet->setAttributeAndModes(new osg::BlendFunc(osg::BlendFunc::SRC_ALPHA, osg::BlendFunc::ONE));
}
AdditiveLayer::~AdditiveLayer()
{
// defined in .cpp file since we can't delete incomplete types
}
void AdditiveLayer::renderToTarget(MyGUI::IRenderTarget *_target, bool _update)
{
StateInjectableRenderTarget* injectableTarget = static_cast<StateInjectableRenderTarget*>(_target);
2015-11-07 16:45:22 +00:00
injectableTarget->setInjectState(mStateSet.get());
2015-11-07 16:45:22 +00:00
MyGUI::OverlappedLayer::renderToTarget(_target, _update);
injectableTarget->setInjectState(nullptr);
2015-11-07 16:45:22 +00:00
}
}