Exemplo n.º 1
0
        private void VerifyVertexFormat(ModelMesh mesh)
        {
            VertexElement[] validelements = VertexPositionNormalTextureBump.VertexElements;

            for (int p = 0; p < mesh.MeshParts.Count; p++)
            {
                ModelMeshPart   part         = mesh.MeshParts[p];
                VertexElement[] partelements = part.VertexBuffer.VertexDeclaration.GetVertexElements();

                foreach (VertexElement partelement in partelements)
                {
                    VertexElement validelement = FindElementByUsage(validelements, partelement.VertexElementUsage);
                    if (validelement.Equals(partelement))
                    {
                        continue;
                    }

                    throw new Exception("Model mesh '" + mesh.Name + "' contains an incorrect vertex format, " +
                                        "example is written to use the VertexPositionNormalTextureBump format.");
                }
            }
        }