IMaterial Interface |
public interface IMaterial : IImmutable, IEquatable<IMaterial>
The IMaterial type exposes the following members.
Name | Description | |
---|---|---|
Color | Gets the diffuse color of the material. | |
HasColor | Gets a value indicating whether this instance has a color by itself. | |
HasTexture | Gets a value indicating whether this instance has texture. | |
IndexOfRefraction | Gets the index of refraction of the material. | |
IsVisible | Gets a value indicating whether this material is visible at all. There might be one material instance that could be used as a convenient place holder for null, that is treated as "no material". Drawing contexts should not draw anything if the material returns false for this property. | |
Metalness | Value between 0 and 1. If 0, the reflected specular light is multiplied with the material diffuse color. This is often the case for metals, e.g. gold. If 1, the reflected specular light has the same color as the incident light (thus as if it is reflected at a white surface). This is often the case for plastics. | |
PhongModelDiffuseIntensity | Gets the diffuse intensity normalized for phong model. | |
PhongModelSpecularExponent | Gets the specular exponent for the Phong model. | |
PhongModelSpecularIntensity | Gets the specular intensity normalized for phong model. This is the expression SpecularIntensity*(1+SpecularExponent). This pre-factor in the Phong equation ensures that the total light intensity reflected in all directions of the half sphere will not change when changing the SpecularExponent. | |
Smoothness | Gets the specular exponent. The higher this value, the more shiny the material (i.e. the smaller the reflex on the surface). |
Name | Description | |
---|---|---|
Equals | Indicates whether the current object is equal to another object of the same type. (Inherited from IEquatableIMaterial) | |
HasSameSpecularPropertiesAs | Determines whether this material has the same specular properties as the material provided in anotherMaterial. | |
WithColor | Gets a new instance of this material with the color set to the provided values. Material classes that don't support color should not throw an exception, but simply return the same instance. | |
WithSpecularProperties | Gets a new instance of this material with the specular properties set to the provided values. | |
WithSpecularPropertiesAs | Returns a new material based on this material, but with all specular properties taken from the template material provided in templateMaterial. |