SetMaterial() публичный Метод

public SetMaterial ( Material material ) : void
material Material
Результат void
Пример #1
0
        public static void LoadModel(string filename, out List<ModelMesh> outMeshes)
        {
            ParseModel(filename);

            List<float> verts = new List<float>();
            List<int> indices = new List<int>();

            List<ModelMesh> meshes = new List<ModelMesh>();

            for (int i = 0; i < _meshes.Count; i++)
            {
                verts.Clear();
                indices.Clear();
                for (int j = 0; j < _meshes[i].Count; j++)
                {
                    Face face = _meshes[i][j];
                    for (int k = 0; k < 3; k++)
                    {
                        verts.Add(face.Positions[k].X);
                        verts.Add(face.Positions[k].Y);
                        verts.Add(face.Positions[k].Z);

                        verts.Add(face.Normals[k].X);
                        verts.Add(face.Normals[k].Y);
                        verts.Add(face.Normals[k].Z);

                        verts.Add(face.TextureUVs[k].X);
                        verts.Add(face.TextureUVs[k].Y);
                    }
                }

                for (int j = 0; j < verts.Count / 6; j++)
                {
                    indices.Add(j);
                }

                ModelMesh mesh = new ModelMesh(verts.ToArray(), indices.ToArray(), true);
                mesh.SetMaterial(_materialLibrary[_meshes[i][0].MaterialLibrary][_meshes[i][0].MaterialName]);
                meshes.Add(mesh);
            }

            outMeshes = meshes;

            _positions.Clear();
            _normals.Clear();
            _textureUVs.Clear();
            _meshes.Clear();
            _materialLibrary.Clear();
        }