Class MaterialBase
The material appearance of a primitive.
Inherited Members
Namespace: GLTFast.Schema
Assembly: solution.dll
Syntax
[Serializable]
public abstract class MaterialBase : NamedObject
Fields
alphaCutoff
Specifies the cutoff threshold when in MASK
mode. If the alpha value is greater than
or equal to this value then it is rendered as fully opaque, otherwise, it is rendered
as fully transparent. This value is ignored for other modes.
Declaration
public float alphaCutoff
Field Value
Type | Description |
---|---|
float |
alphaMode
The material's alpha rendering mode enumeration specifying the interpretation of the
alpha value of the main factor and texture. In OPAQUE
mode, the alpha value is
ignored and the rendered output is fully opaque. In MASK
mode, the rendered output
is either fully opaque or fully transparent depending on the alpha value and the
specified alpha cutoff value. In BLEND
mode, the alpha value is used to composite
the source and destination areas. The rendered output is combined with the background
using the normal painting operation (i.e. the Porter and Duff over operator).
Declaration
[Obsolete("Use GetAlphaMode and SetAlphaMode for access.")]
public string alphaMode
Field Value
Type | Description |
---|---|
string |
doubleSided
Specifies whether the material is double sided. When this value is false, back-face culling is enabled. When this value is true, back-face culling is disabled and double sided lighting is enabled. The back-face must have its normals reversed before the lighting equation is evaluated.
Declaration
public bool doubleSided
Field Value
Type | Description |
---|---|
bool |
emissiveFactor
The RGB components of the emissive color of the material. If an emissiveTexture is specified, this value is multiplied with the texel values.
Declaration
[Obsolete("Use Emissive for access.")]
public float[] emissiveFactor
Field Value
Type | Description |
---|---|
float[] |
Properties
Emissive
Emissive color of the material.
Declaration
public Color Emissive { get; set; }
Property Value
Type | Description |
---|---|
Color |
EmissiveTexture
The emissive map controls the color and intensity of the light being emitted by the material. This texture contains RGB components in sRGB color space. If a fourth component (A) is present, it is ignored.
Declaration
public abstract TextureInfoBase EmissiveTexture { get; }
Property Value
Type | Description |
---|---|
TextureInfoBase |
Extensions
Material extensions.
Declaration
public abstract MaterialExtensions Extensions { get; }
Property Value
Type | Description |
---|---|
MaterialExtensions |
NormalTexture
A tangent space normal map. Each texel represents the XYZ components of a normal vector in tangent space.
Declaration
public abstract NormalTextureInfoBase NormalTexture { get; }
Property Value
Type | Description |
---|---|
NormalTextureInfoBase |
OcclusionTexture
The occlusion map is a greyscale texture, with white indicating areas that should receive full indirect lighting and black indicating no indirect lighting.
Declaration
public abstract OcclusionTextureInfoBase OcclusionTexture { get; }
Property Value
Type | Description |
---|---|
OcclusionTextureInfoBase |
PbrMetallicRoughness
A set of parameter values that are used to define the metallic-roughness material model from Physically-Based Rendering (PBR) methodology.
Declaration
public abstract PbrMetallicRoughnessBase PbrMetallicRoughness { get; }
Property Value
Type | Description |
---|---|
PbrMetallicRoughnessBase |
RequiresNormals
True if the material requires the mesh to have normals.
Declaration
public bool RequiresNormals { get; }
Property Value
Type | Description |
---|---|
bool |
RequiresTangents
True if the material requires the mesh to have tangents.
Declaration
public bool RequiresTangents { get; }
Property Value
Type | Description |
---|---|
bool |
Methods
GetAlphaMode()
MaterialBase.AlphaMode typed and cached getter for alphaMode string.
Declaration
public MaterialBase.AlphaMode GetAlphaMode()
Returns
Type | Description |
---|---|
MaterialBase.AlphaMode | Alpha mode if it was retrieved correctly. Opaque otherwise |
SetAlphaMode(AlphaMode)
MaterialBase.AlphaMode typed setter for alphaMode string.
Declaration
public void SetAlphaMode(MaterialBase.AlphaMode mode)
Parameters
Type | Name | Description |
---|---|---|
MaterialBase.AlphaMode | mode | Alpha mode |