mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-04-29 13:27: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
|
@ -65,7 +65,7 @@ class Optimizer
|
|||
|
||||
public:
|
||||
|
||||
Optimizer() : _mergeAlphaBlending(false) {}
|
||||
Optimizer() : _mergeAlphaBlending(false), _reverseZ(false) {}
|
||||
virtual ~Optimizer() {}
|
||||
|
||||
enum OptimizationOptions
|
||||
|
@ -119,6 +119,7 @@ class Optimizer
|
|||
};
|
||||
|
||||
void setMergeAlphaBlending(bool merge) { _mergeAlphaBlending = merge; }
|
||||
void setReverseZ(bool reverseZ) { _reverseZ = reverseZ; }
|
||||
void setViewPoint(const osg::Vec3f& viewPoint) { _viewPoint = viewPoint; }
|
||||
|
||||
/** Reset internal data to initial state - the getPermissibleOptionsMap is cleared.*/
|
||||
|
@ -257,6 +258,7 @@ class Optimizer
|
|||
|
||||
osg::Vec3f _viewPoint;
|
||||
bool _mergeAlphaBlending;
|
||||
bool _reverseZ;
|
||||
|
||||
public:
|
||||
|
||||
|
@ -377,12 +379,18 @@ class Optimizer
|
|||
/// default to traversing all children.
|
||||
MergeGeometryVisitor(Optimizer* optimizer=0) :
|
||||
BaseOptimizerVisitor(optimizer, MERGE_GEOMETRY),
|
||||
_targetMaximumNumberOfVertices(10000), _alphaBlendingActive(false), _mergeAlphaBlending(false) {}
|
||||
_targetMaximumNumberOfVertices(10000), _alphaBlendingActive(false), _mergeAlphaBlending(false), _reverseZ(false) {}
|
||||
|
||||
void setMergeAlphaBlending(bool merge)
|
||||
{
|
||||
_mergeAlphaBlending = merge;
|
||||
}
|
||||
|
||||
void setReverseZ(bool reverseZ)
|
||||
{
|
||||
_reverseZ = reverseZ;
|
||||
}
|
||||
|
||||
void setViewPoint(const osg::Vec3f& viewPoint)
|
||||
{
|
||||
_viewPoint = viewPoint;
|
||||
|
@ -421,6 +429,7 @@ class Optimizer
|
|||
std::vector<osg::StateSet*> _stateSetStack;
|
||||
bool _alphaBlendingActive;
|
||||
bool _mergeAlphaBlending;
|
||||
bool _reverseZ;
|
||||
osg::Vec3f _viewPoint;
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue