Class PBRMaterial
- Namespace
- HelixToolkit.Wpf.SharpDX
- Assembly
- HelixToolkit.Wpf.SharpDX.dll
[DataContract]
public class PBRMaterial : Material
- Inheritance
-
PBRMaterial
- Inherited Members
Constructors
PBRMaterial()
Initializes a new instance of the PBRMaterial class.
public PBRMaterial()
PBRMaterial(PBRMaterialCore)
Initializes a new instance of the PBRMaterial class.
public PBRMaterial(PBRMaterialCore core)
Parameters
corePBRMaterialCoreThe core.
Fields
AlbedoColorProperty
Identifies the System.Windows.Media.Media3D.DiffuseMaterial.Color�dependency property.
public static readonly DependencyProperty AlbedoColorProperty
Field Value
AlbedoMapProperty
public static readonly DependencyProperty AlbedoMapProperty
Field Value
AmbientOcclusionFactorProperty
public static readonly DependencyProperty AmbientOcclusionFactorProperty
Field Value
AmbientOcculsionMapProperty
glTF2 defines metalness as B channel, roughness as G channel, and occlusion as R channel. If uses RMA map, set both RoughnessMetallicMap and AmbientOcculsionMap to the same texture.
public static readonly DependencyProperty AmbientOcculsionMapProperty
Field Value
ClearCoatRoughnessProperty
public static readonly DependencyProperty ClearCoatRoughnessProperty
Field Value
ClearCoatStrengthProperty
public static readonly DependencyProperty ClearCoatStrengthProperty
Field Value
DisplacementMapProperty
public static readonly DependencyProperty DisplacementMapProperty
Field Value
DisplacementMapSamplerProperty
public static readonly DependencyProperty DisplacementMapSamplerProperty
Field Value
DisplacementMapScaleMaskProperty
public static readonly DependencyProperty DisplacementMapScaleMaskProperty
Field Value
EmissiveColorProperty
The albedo color property
public static readonly DependencyProperty EmissiveColorProperty
Field Value
EmissiveMapProperty
public static readonly DependencyProperty EmissiveMapProperty
Field Value
EnableAutoTangentProperty
The enable automatic tangent
public static readonly DependencyProperty EnableAutoTangentProperty
Field Value
EnableFlatShadingProperty
The enable flat shading property
public static readonly DependencyProperty EnableFlatShadingProperty
Field Value
EnableTessellationProperty
The enable tessellation property
public static readonly DependencyProperty EnableTessellationProperty
Field Value
IBLSamplerProperty
public static readonly DependencyProperty IBLSamplerProperty
Field Value
IrradianceMapProperty
public static readonly DependencyProperty IrradianceMapProperty
Field Value
MaxDistanceTessellationFactorProperty
The tessellation factor at MaxTessellationDistance property
public static readonly DependencyProperty MaxDistanceTessellationFactorProperty
Field Value
MaxTessellationDistanceProperty
The maximum tessellation distance property
public static readonly DependencyProperty MaxTessellationDistanceProperty
Field Value
MetallicFactorProperty
public static readonly DependencyProperty MetallicFactorProperty
Field Value
MinDistanceTessellationFactorProperty
The tessellation factor at MinTessellationDistance property
public static readonly DependencyProperty MinDistanceTessellationFactorProperty
Field Value
MinTessellationDistanceProperty
The minimum tessellation distance property
public static readonly DependencyProperty MinTessellationDistanceProperty
Field Value
NormalMapProperty
public static readonly DependencyProperty NormalMapProperty
Field Value
ReflectanceFactorProperty
public static readonly DependencyProperty ReflectanceFactorProperty
Field Value
RenderAlbedoMapProperty
public static readonly DependencyProperty RenderAlbedoMapProperty
Field Value
RenderAmbientOcclusionMapProperty
public static readonly DependencyProperty RenderAmbientOcclusionMapProperty
Field Value
RenderDisplacementMapProperty
public static readonly DependencyProperty RenderDisplacementMapProperty
Field Value
RenderEmissiveMapProperty
public static readonly DependencyProperty RenderEmissiveMapProperty
Field Value
RenderEnvironmentMapProperty
The render environment map property
public static readonly DependencyProperty RenderEnvironmentMapProperty
Field Value
RenderIrradianceMapProperty
public static readonly DependencyProperty RenderIrradianceMapProperty
Field Value
RenderNormalMapProperty
public static readonly DependencyProperty RenderNormalMapProperty
Field Value
RenderRoughnessMetallicMapProperty
public static readonly DependencyProperty RenderRoughnessMetallicMapProperty
Field Value
RenderShadowMapProperty
The render shadow map property
public static readonly DependencyProperty RenderShadowMapProperty
Field Value
RoughnessFactorProperty
public static readonly DependencyProperty RoughnessFactorProperty
Field Value
RoughnessMetallicMapProperty
glTF2 defines metalness as B channel, roughness as G channel, and occlusion as R channel If uses RMA map, set both RoughnessMetallicMap and AmbientOcculsionMap to the same texture.
public static readonly DependencyProperty RoughnessMetallicMapProperty
Field Value
SurfaceMapSamplerProperty
public static readonly DependencyProperty SurfaceMapSamplerProperty
Field Value
UVTransformProperty
The uv transform property
public static readonly DependencyProperty UVTransformProperty
Field Value
VertexColorBlendingFactorProperty
public static readonly DependencyProperty VertexColorBlendingFactorProperty
Field Value
Properties
AlbedoColor
Gets or sets the diffuse color for the material. For details see: http://msdn.microsoft.com/en-us/library/windows/desktop/bb147175(v=vs.85).aspx
[TypeConverter(typeof(Color4Converter))]
public Color4 AlbedoColor { get; set; }
Property Value
AlbedoMap
public TextureModel? AlbedoMap { get; set; }
Property Value
AmbientOcclusionFactor
Gets or sets the ambient occlusion factor. If RMA map is used, for each pixel, ambient occlusion factor = AmbientOcclusionFactor * RMA map R Channel
public double AmbientOcclusionFactor { get; set; }
Property Value
- double
The ambient occlusion factor.
AmbientOcculsionMap
Gets or sets the ambient occlusion map. glTF2 defines occlusion as R channel, roughness as G channel, metalness as B channel. If uses RMA map, set both RoughnessMetallicMap and AmbientOcculsionMap to the same texture
public TextureModel? AmbientOcculsionMap { get; set; }
Property Value
- TextureModel
The ao map.
ClearCoatRoughness
public double ClearCoatRoughness { get; set; }
Property Value
ClearCoatStrength
public double ClearCoatStrength { get; set; }
Property Value
DisplacementMap
public TextureModel? DisplacementMap { get; set; }
Property Value
DisplacementMapSampler
public SamplerStateDescription DisplacementMapSampler { get; set; }
Property Value
- SamplerStateDescription
DisplacementMapScaleMask
[TypeConverter(typeof(Vector4Converter))]
public Vector4 DisplacementMapScaleMask { get; set; }
Property Value
EmissiveColor
public Color4 EmissiveColor { get; set; }
Property Value
EmissiveMap
public TextureModel? EmissiveMap { get; set; }
Property Value
EnableAutoTangent
Gets or sets a value indicating whether [enable automatic tangent].
public bool EnableAutoTangent { get; set; }
Property Value
- bool
trueif [enable automatic tangent]; otherwise,false.
EnableFlatShading
Gets or sets a value indicating whether [enable flat shading].
public bool EnableFlatShading { get; set; }
Property Value
- bool
trueif [enable flat shading]; otherwise,false.
EnableTessellation
Gets or sets a value indicating whether [enable tessellation].
public bool EnableTessellation { get; set; }
Property Value
- bool
trueif [enable tessellation]; otherwise,false.
IBLSampler
public SamplerStateDescription IBLSampler { get; set; }
Property Value
- SamplerStateDescription
IrradianceMap
public TextureModel? IrradianceMap { get; set; }
Property Value
MaxDistanceTessellationFactor
Gets or sets the tessellation factor at MaxTessellationDistance.
public double MaxDistanceTessellationFactor { get; set; }
Property Value
- double
The maximum tessellation factor.
MaxTessellationDistance
Gets or sets the maximum tessellation distance.
public double MaxTessellationDistance { get; set; }
Property Value
- double
The maximum tessellation distance.
MetallicFactor
Gets or sets the metallic factor. If RMA map is used, for each pixel, metallic factor = MetallicFactor * RMA map B Channel
public double MetallicFactor { get; set; }
Property Value
- double
The metallic factor.
MinDistanceTessellationFactor
Gets or sets the tessellation factor at MinTessellationDistance
public double MinDistanceTessellationFactor { get; set; }
Property Value
- double
The minimum tessellation factor.
MinTessellationDistance
Gets or sets the minimum tessellation distance.
public double MinTessellationDistance { get; set; }
Property Value
- double
The minimum tessellation distance.
NormalMap
public TextureModel? NormalMap { get; set; }
Property Value
ReflectanceFactor
public double ReflectanceFactor { get; set; }
Property Value
RenderAlbedoMap
public bool RenderAlbedoMap { get; set; }
Property Value
RenderAmbientOcclusionMap
public bool RenderAmbientOcclusionMap { get; set; }
Property Value
RenderDisplacementMap
public bool RenderDisplacementMap { get; set; }
Property Value
RenderEmissiveMap
public bool RenderEmissiveMap { get; set; }
Property Value
RenderEnvironmentMap
Gets or sets a value indicating whether [render environment map]. Default is false
public bool RenderEnvironmentMap { get; set; }
Property Value
- bool
trueif [render environment map]; otherwise,false.
RenderIrradianceMap
public bool RenderIrradianceMap { get; set; }
Property Value
RenderNormalMap
public bool RenderNormalMap { get; set; }
Property Value
RenderRoughnessMetallicMap
public bool RenderRoughnessMetallicMap { get; set; }
Property Value
RenderShadowMap
Gets or sets a value indicating whether [render shadow map]. Default is false
public bool RenderShadowMap { get; set; }
Property Value
- bool
trueif [render shadow map]; otherwise,false.
RoughnessFactor
Gets or sets the roughness factor. If RMA map is used, for each pixel, roughness factor = RoughnessFactor * RMA map G Channel
public double RoughnessFactor { get; set; }
Property Value
- double
The roughness factor.
RoughnessMetallicMap
Gets or sets the Roughness, Metallic, Ambient Occlusion map. glTF2 defines occlusion as R channel, roughness as G channel, metalness as B channel
public TextureModel? RoughnessMetallicMap { get; set; }
Property Value
- TextureModel
The rma map.
SurfaceMapSampler
public SamplerStateDescription SurfaceMapSampler { get; set; }
Property Value
- SamplerStateDescription
UVTransform
Gets or sets the texture uv transform.
public UVTransform UVTransform { get; set; }
Property Value
- UVTransform
The uv transform.
VertexColorBlendingFactor
Gets or sets the vertex color blending factor. Final Diffuse Color = (1 - VertexColorBlendingFactor) * Diffuse + VertexColorBlendingFactor * Vertex Color
public double VertexColorBlendingFactor { get; set; }
Property Value
- double
The vertex color blending factor.
Methods
CloneMaterial()
public virtual PBRMaterial CloneMaterial()
Returns
CreateInstanceCore()
When implemented in a derived class, creates a new instance of the Freezable derived class.
protected override Freezable CreateInstanceCore()
Returns
- Freezable
The new instance.
OnCreateCore()
protected override MaterialCore OnCreateCore()
Returns
Operators
implicit operator PBRMaterial?(PBRMaterialCore?)
public static implicit operator PBRMaterial?(PBRMaterialCore? core)
Parameters
corePBRMaterialCore