internal ModelMesh(Mesh sourceMesh, Device device, VertexBuffer vertexBuffer, int numVertices, IndexBuffer indexBuffer, int primitiveCount, Matrix3D world, Material material) { SourceMesh = sourceMesh; _device = device; _vertexBuffer = vertexBuffer; _numVertices = numVertices; _indexBuffer = indexBuffer; _primitiveCount = primitiveCount; _effect = new SimpleEffect(device) { World = world, AmbientLightColor = new ColorRgbF(0.1f, 0.1f, 0.1f), DiffuseColor = material.DiffuseColor, SpecularColor = material.SpecularColor, SpecularPower = material.Shininess, Alpha = material.Transparency }; if (!string.IsNullOrEmpty(material.DiffuseTextureName)) _effect.DiffuseTexture = Texture.FromFile(device, material.DiffuseTextureName, Usage.None, Pool.Default); _effect.CurrentTechnique = "RenderScene"; Opaque = (material.Transparency == 1.0f); }
internal ModelMesh(Mesh sourceMesh, Device device, VertexBuffer vertexBuffer, int numVertices, IndexBuffer indexBuffer, int primitiveCount, Matrix3D world, Material material) { SourceMesh = sourceMesh; _device = device; _vertexBuffer = vertexBuffer; _numVertices = numVertices; _indexBuffer = indexBuffer; _primitiveCount = primitiveCount; _effect = new SimpleEffect(device) { World = world, AmbientLightColor = new ColorRgbF(0.1f, 0.1f, 0.1f), DiffuseColor = material.DiffuseColor, SpecularColor = material.SpecularColor, SpecularPower = material.Shininess, Alpha = material.Transparency }; _effect.CurrentTechnique = "RenderScene"; Opaque = (material.Transparency == 1.0f); }