Properly initialize vertex copies.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1418 dfc29bdd-3216-0410-991c-e03cc46cb475
master
hybrid 2008-07-17 09:08:33 +00:00
parent b9c1b18f10
commit f66d930804
2 changed files with 7 additions and 10 deletions

View File

@ -60,19 +60,18 @@ void CQuake3ShaderSceneNode::cloneBuffer ( scene::SMeshBufferLightMap * buffer )
const u32 vsize = buffer->Vertices.size ();
Original.Vertices.set_used ( vsize );
MeshBuffer.Vertices.set_used ( vsize );
Original.Vertices.reallocate( vsize );
MeshBuffer.Vertices.reallocate( vsize );
for ( u32 i = 0; i!= vsize; ++i )
{
const video::S3DVertex2TCoords * src = &buffer->Vertices[i];
const video::S3DVertex2TCoords& src = buffer->Vertices[i];
// Original has same Vertex Format
Original.Vertices[i] = *src;
Original.Vertices.push_back(src);
// we have a different vertex format
MeshBuffer.Vertices[i].Pos = src->Pos;
MeshBuffer.Vertices[i].TCoords = src->TCoords;
MeshBuffer.Vertices[i].Color = 0xFFFFFFFF;
MeshBuffer.Vertices.push_back(src);
MeshBuffer.Vertices.getLast().Color=0xFFFFFFFF;
}
MeshBuffer.recalculateBoundingBox ();

View File

@ -31,8 +31,6 @@ namespace io
virtual s32 read(void* buffer, u32 sizeToRead);
//! changes position in file, returns true if successful
//! if relativeMovement==true, the pos is changed relative to current pos,
//! otherwise from begin of file
virtual bool seek(long finalPos, bool relativeMovement = false);
//! returns size of file
@ -55,9 +53,9 @@ namespace io
//! opens the file
void openFile();
core::stringc Filename;
FILE* File;
long FileSize;
core::stringc Filename;
};
} // end namespace io