Merging r6337 through r6363 from trunk to ogl-es branch
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6379 dfc29bdd-3216-0410-991c-e03cc46cb475
This commit is contained in:
@@ -25,12 +25,20 @@ namespace scene
|
||||
virtual u32 size() const =0;
|
||||
|
||||
virtual void push_back (const video::S3DVertex &element) =0;
|
||||
virtual void push_back(const video::S3DVertex2TCoords &element) =0;
|
||||
virtual void push_back(const video::S3DVertexTangents &element) =0;
|
||||
virtual void setValue(u32 index, const video::S3DVertex &value) =0;
|
||||
virtual void setValue(u32 index, const video::S3DVertex2TCoords &value) =0;
|
||||
virtual void setValue(u32 index, const video::S3DVertexTangents &value) =0;
|
||||
|
||||
virtual video::S3DVertex& operator [](u32 index) = 0;
|
||||
virtual video::S3DVertex& operator [](const u32 index) const =0;
|
||||
virtual video::S3DVertex& getLast() =0;
|
||||
virtual void set_used(u32 usedNow) =0;
|
||||
virtual void reallocate(u32 new_size) =0;
|
||||
virtual void reallocate(u32 new_size, bool canShrink=true) =0;
|
||||
virtual u32 allocated_size() const =0;
|
||||
virtual video::S3DVertex* pointer() =0;
|
||||
virtual void* pointer() =0;
|
||||
virtual const void* const_pointer() const =0;
|
||||
virtual video::E_VERTEX_TYPE getType() const =0;
|
||||
};
|
||||
|
||||
@@ -45,7 +53,21 @@ namespace scene
|
||||
virtual u32 size() const IRR_OVERRIDE {return Vertices.size();}
|
||||
|
||||
virtual void push_back (const video::S3DVertex &element) IRR_OVERRIDE
|
||||
{Vertices.push_back((T&)element);}
|
||||
{Vertices.push_back(element);}
|
||||
virtual void push_back(const video::S3DVertex2TCoords &element) IRR_OVERRIDE
|
||||
{Vertices.push_back(element);}
|
||||
virtual void push_back(const video::S3DVertexTangents &element) IRR_OVERRIDE
|
||||
{Vertices.push_back(element);}
|
||||
|
||||
virtual void setValue(u32 index, const video::S3DVertex &value) IRR_OVERRIDE
|
||||
{Vertices[index] = value;}
|
||||
virtual void setValue(u32 index, const video::S3DVertex2TCoords &value) IRR_OVERRIDE
|
||||
{Vertices[index] = value;}
|
||||
virtual void setValue(u32 index, const video::S3DVertexTangents &value) IRR_OVERRIDE
|
||||
{Vertices[index] = value;}
|
||||
|
||||
virtual video::S3DVertex& operator [](u32 index) IRR_OVERRIDE
|
||||
{return (video::S3DVertex&)Vertices[index];}
|
||||
|
||||
virtual video::S3DVertex& operator [](const u32 index) const IRR_OVERRIDE
|
||||
{return (video::S3DVertex&)Vertices[index];}
|
||||
@@ -56,15 +78,16 @@ namespace scene
|
||||
virtual void set_used(u32 usedNow) IRR_OVERRIDE
|
||||
{Vertices.set_used(usedNow);}
|
||||
|
||||
virtual void reallocate(u32 new_size) IRR_OVERRIDE
|
||||
{Vertices.reallocate(new_size);}
|
||||
virtual void reallocate(u32 new_size, bool canShrink) IRR_OVERRIDE
|
||||
{Vertices.reallocate(new_size, canShrink);}
|
||||
|
||||
virtual u32 allocated_size() const IRR_OVERRIDE
|
||||
{
|
||||
return Vertices.allocated_size();
|
||||
}
|
||||
|
||||
virtual video::S3DVertex* pointer() IRR_OVERRIDE {return Vertices.pointer();}
|
||||
virtual void* pointer() IRR_OVERRIDE {return Vertices.pointer();}
|
||||
virtual const void* const_pointer() const IRR_OVERRIDE {return Vertices.const_pointer();}
|
||||
|
||||
virtual video::E_VERTEX_TYPE getType() const IRR_OVERRIDE {return T::getType();}
|
||||
};
|
||||
@@ -94,9 +117,11 @@ namespace scene
|
||||
delete Vertices;
|
||||
}
|
||||
|
||||
|
||||
virtual void setType(video::E_VERTEX_TYPE vertexType) IRR_OVERRIDE
|
||||
{
|
||||
if ( Vertices && Vertices->getType() == vertexType )
|
||||
return;
|
||||
|
||||
IVertexList *NewVertices=0;
|
||||
|
||||
switch (vertexType)
|
||||
@@ -121,8 +146,27 @@ namespace scene
|
||||
{
|
||||
NewVertices->reallocate( Vertices->size() );
|
||||
|
||||
for(u32 n=0;n<Vertices->size();++n)
|
||||
NewVertices->push_back((*Vertices)[n]);
|
||||
switch (Vertices->getType()) // old type
|
||||
{
|
||||
case video::EVT_STANDARD:
|
||||
{
|
||||
for(u32 n=0;n<Vertices->size();++n)
|
||||
NewVertices->push_back((*Vertices)[n]);
|
||||
break;
|
||||
}
|
||||
case video::EVT_2TCOORDS:
|
||||
{
|
||||
for(u32 n=0;n<Vertices->size();++n)
|
||||
NewVertices->push_back((video::S3DVertex2TCoords&)(*Vertices)[n]);
|
||||
break;
|
||||
}
|
||||
case video::EVT_TANGENTS:
|
||||
{
|
||||
for(u32 n=0;n<Vertices->size();++n)
|
||||
NewVertices->push_back((video::S3DVertexTangents&)(*Vertices)[n]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
delete Vertices;
|
||||
}
|
||||
@@ -131,6 +175,7 @@ namespace scene
|
||||
}
|
||||
|
||||
virtual void* getData() IRR_OVERRIDE {return Vertices->pointer();}
|
||||
virtual const void* getData() const IRR_OVERRIDE {return Vertices->const_pointer();}
|
||||
|
||||
virtual video::E_VERTEX_TYPE getType() const IRR_OVERRIDE {return Vertices->getType();}
|
||||
|
||||
@@ -146,6 +191,36 @@ namespace scene
|
||||
Vertices->push_back(element);
|
||||
}
|
||||
|
||||
virtual void push_back(const video::S3DVertex2TCoords &element) IRR_OVERRIDE
|
||||
{
|
||||
Vertices->push_back(element);
|
||||
}
|
||||
|
||||
virtual void push_back(const video::S3DVertexTangents &element) IRR_OVERRIDE
|
||||
{
|
||||
Vertices->push_back(element);
|
||||
}
|
||||
|
||||
virtual void setValue(u32 index, const video::S3DVertex &value) IRR_OVERRIDE
|
||||
{
|
||||
Vertices->setValue(index, value);
|
||||
}
|
||||
|
||||
virtual void setValue(u32 index, const video::S3DVertex2TCoords &value) IRR_OVERRIDE
|
||||
{
|
||||
Vertices->setValue(index, value);
|
||||
}
|
||||
|
||||
virtual void setValue(u32 index, const video::S3DVertexTangents &value) IRR_OVERRIDE
|
||||
{
|
||||
Vertices->setValue(index, value);
|
||||
}
|
||||
|
||||
virtual video::S3DVertex& operator [](u32 index) IRR_OVERRIDE
|
||||
{
|
||||
return (*Vertices)[index];
|
||||
}
|
||||
|
||||
virtual video::S3DVertex& operator [](const u32 index) const IRR_OVERRIDE
|
||||
{
|
||||
return (*Vertices)[index];
|
||||
@@ -161,9 +236,9 @@ namespace scene
|
||||
Vertices->set_used(usedNow);
|
||||
}
|
||||
|
||||
virtual void reallocate(u32 new_size) IRR_OVERRIDE
|
||||
virtual void reallocate(u32 new_size, bool canShrink=true) IRR_OVERRIDE
|
||||
{
|
||||
Vertices->reallocate(new_size);
|
||||
Vertices->reallocate(new_size, canShrink);
|
||||
}
|
||||
|
||||
virtual u32 allocated_size() const IRR_OVERRIDE
|
||||
@@ -171,11 +246,6 @@ namespace scene
|
||||
return Vertices->allocated_size();
|
||||
}
|
||||
|
||||
virtual video::S3DVertex* pointer() IRR_OVERRIDE
|
||||
{
|
||||
return Vertices->pointer();
|
||||
}
|
||||
|
||||
//! get the current hardware mapping hint
|
||||
virtual E_HARDWARE_MAPPING getHardwareMappingHint() const IRR_OVERRIDE
|
||||
{
|
||||
|
Reference in New Issue
Block a user