Added support for GL_LINE_STRIP_ADJACENCY_EXT

This commit is contained in:
Jethro Leevers 2016-06-06 11:59:56 +01:00 committed by Robert Osfield
parent 0a95fd875d
commit 08a823d857

View File

@ -152,6 +152,12 @@ namespace osg {
this->operator()(*(vptr),*(vptr+1),_treatVertexDataAsTemporary); this->operator()(*(vptr),*(vptr+1),_treatVertexDataAsTemporary);
break; break;
} }
case(GL_LINE_STRIP_ADJACENCY_EXT): {
const Vec3* vlast = &_vertexArrayPtr[first+count-2];
for(const Vec3* vptr=&_vertexArrayPtr[first+1];vptr<vlast;vptr+=1)
this->operator()(*(vptr),*(vptr+1),_treatVertexDataAsTemporary);
break;
}
case(GL_LINE_LOOP): { case(GL_LINE_LOOP): {
const Vec3* vlast = &_vertexArrayPtr[first+count-1]; const Vec3* vlast = &_vertexArrayPtr[first+count-1];
for(const Vec3* vptr=&_vertexArrayPtr[first];vptr<vlast;vptr+=1) for(const Vec3* vptr=&_vertexArrayPtr[first];vptr<vlast;vptr+=1)
@ -242,6 +248,13 @@ namespace osg {
_treatVertexDataAsTemporary); _treatVertexDataAsTemporary);
break; break;
} }
case(GL_LINE_STRIP_ADJACENCY_EXT): {
IndexPointer ilast = &indices[count-2];
for(IndexPointer iptr=&indices[1];iptr<ilast;iptr+=1)
this->operator()(_vertexArrayPtr[*iptr],_vertexArrayPtr[*(iptr+1)],
_treatVertexDataAsTemporary);
break;
}
case(GL_LINE_LOOP): { case(GL_LINE_LOOP): {
IndexPointer ilast = &indices[count-1]; IndexPointer ilast = &indices[count-1];
for(IndexPointer iptr=indices;iptr<ilast;iptr+=1) for(IndexPointer iptr=indices;iptr<ilast;iptr+=1)