Exemple #1
0
VertexArray<float>*
Model::getVArrayPtr(MetaGroup* _grp)
{
	VertexArray<float>* va = new VertexArray<float>(4);
	va->mData = new float[_grp->nVertices*4];
	va->stride = 4*sizeof(float);
	va->size = _grp->nVertices;
	size_t posCount = 0;
	vector<Face*>::const_iterator face_it;
	for (face_it = _grp->fPtrList.begin(); face_it != _grp->fPtrList.end(); ++face_it){
		vector<V3f *>::const_iterator v_it;
		for (v_it=(*face_it)->vertexPtrList.begin(); v_it!=(*face_it)->vertexPtrList.end(); ++v_it){
			va->mData[posCount++] = (*v_it)->getX();
			va->mData[posCount++] = (*v_it)->getY();
			va->mData[posCount++] = (*v_it)->getZ();
			va->mData[posCount++] = mPriCTable.calculateTexCoord(mPriCTable.addColori(_grp->getMat()));
		}
	}
	va->setBB(*_grp->bb);
	return va;
}