osg: KdTree: count degenerates to keep original primitive index in sync
This commit is contained in:
@@ -69,7 +69,7 @@ class OSG_EXPORT KdTree : public osg::Shape
|
||||
inline unsigned int addPoint(unsigned int p0)
|
||||
{
|
||||
unsigned int i = _vertexIndices.size();
|
||||
_vertexIndices.push_back(_primitiveIndices.size());
|
||||
_vertexIndices.push_back(_primitiveIndices.size() + _degenerateCount);
|
||||
_vertexIndices.push_back(1);
|
||||
_vertexIndices.push_back(p0);
|
||||
_primitiveIndices.push_back(i);
|
||||
@@ -78,7 +78,7 @@ class OSG_EXPORT KdTree : public osg::Shape
|
||||
inline unsigned int addLine(unsigned int p0, unsigned int p1)
|
||||
{
|
||||
unsigned int i = _vertexIndices.size();
|
||||
_vertexIndices.push_back(_primitiveIndices.size());
|
||||
_vertexIndices.push_back(_primitiveIndices.size() + _degenerateCount);
|
||||
_vertexIndices.push_back(2);
|
||||
_vertexIndices.push_back(p0);
|
||||
_vertexIndices.push_back(p1);
|
||||
@@ -89,7 +89,7 @@ class OSG_EXPORT KdTree : public osg::Shape
|
||||
inline unsigned int addTriangle(unsigned int p0, unsigned int p1, unsigned int p2)
|
||||
{
|
||||
unsigned int i = _vertexIndices.size();
|
||||
_vertexIndices.push_back(_primitiveIndices.size());
|
||||
_vertexIndices.push_back(_primitiveIndices.size() + _degenerateCount);
|
||||
_vertexIndices.push_back(3);
|
||||
_vertexIndices.push_back(p0);
|
||||
_vertexIndices.push_back(p1);
|
||||
@@ -101,7 +101,7 @@ class OSG_EXPORT KdTree : public osg::Shape
|
||||
inline unsigned int addQuad(unsigned int p0, unsigned int p1, unsigned int p2, unsigned int p3)
|
||||
{
|
||||
unsigned int i = _vertexIndices.size();
|
||||
_vertexIndices.push_back(_primitiveIndices.size());
|
||||
_vertexIndices.push_back(_primitiveIndices.size() + _degenerateCount);
|
||||
_vertexIndices.push_back(4);
|
||||
_vertexIndices.push_back(p0);
|
||||
_vertexIndices.push_back(p1);
|
||||
@@ -179,7 +179,7 @@ class OSG_EXPORT KdTree : public osg::Shape
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
unsigned int _degenerateCount;
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user