mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-04-28 21:07:59 +03:00
initial reverse-z depth implementation
This commit is contained in:
parent
10d100f205
commit
70fac33940
46 changed files with 614 additions and 92 deletions
|
@ -40,6 +40,8 @@
|
|||
|
||||
#include <iterator>
|
||||
|
||||
#include <components/sceneutil/util.hpp>
|
||||
|
||||
using namespace osgUtil;
|
||||
|
||||
namespace SceneUtil
|
||||
|
@ -107,6 +109,7 @@ void Optimizer::optimize(osg::Node* node, unsigned int options)
|
|||
MergeGeometryVisitor mgv(this);
|
||||
mgv.setTargetMaximumNumberOfVertices(1000000);
|
||||
mgv.setMergeAlphaBlending(_mergeAlphaBlending);
|
||||
mgv.setReverseZ(_reverseZ);
|
||||
mgv.setViewPoint(_viewPoint);
|
||||
node->accept(mgv);
|
||||
|
||||
|
@ -1560,7 +1563,7 @@ bool Optimizer::MergeGeometryVisitor::mergeGroup(osg::Group& group)
|
|||
}
|
||||
if (_alphaBlendingActive && _mergeAlphaBlending && !geom->getStateSet())
|
||||
{
|
||||
osg::Depth* d = new osg::Depth;
|
||||
auto d = createDepth(_reverseZ);
|
||||
d->setWriteMask(0);
|
||||
geom->getOrCreateStateSet()->setAttribute(d);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue