Table of Contents

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

core PBRMaterialCore

The core.

Fields

AlbedoColorProperty

Identifies the System.Windows.Media.Media3D.DiffuseMaterial.Color�dependency property.

public static readonly DependencyProperty AlbedoColorProperty

Field Value

DependencyProperty

AlbedoMapProperty

public static readonly DependencyProperty AlbedoMapProperty

Field Value

DependencyProperty

AmbientOcclusionFactorProperty

public static readonly DependencyProperty AmbientOcclusionFactorProperty

Field Value

DependencyProperty

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

DependencyProperty

ClearCoatRoughnessProperty

public static readonly DependencyProperty ClearCoatRoughnessProperty

Field Value

DependencyProperty

ClearCoatStrengthProperty

public static readonly DependencyProperty ClearCoatStrengthProperty

Field Value

DependencyProperty

DisplacementMapProperty

public static readonly DependencyProperty DisplacementMapProperty

Field Value

DependencyProperty

DisplacementMapSamplerProperty

public static readonly DependencyProperty DisplacementMapSamplerProperty

Field Value

DependencyProperty

DisplacementMapScaleMaskProperty

public static readonly DependencyProperty DisplacementMapScaleMaskProperty

Field Value

DependencyProperty

EmissiveColorProperty

The albedo color property

public static readonly DependencyProperty EmissiveColorProperty

Field Value

DependencyProperty

EmissiveMapProperty

public static readonly DependencyProperty EmissiveMapProperty

Field Value

DependencyProperty

EnableAutoTangentProperty

The enable automatic tangent

public static readonly DependencyProperty EnableAutoTangentProperty

Field Value

DependencyProperty

EnableFlatShadingProperty

The enable flat shading property

public static readonly DependencyProperty EnableFlatShadingProperty

Field Value

DependencyProperty

EnableTessellationProperty

The enable tessellation property

public static readonly DependencyProperty EnableTessellationProperty

Field Value

DependencyProperty

IBLSamplerProperty

public static readonly DependencyProperty IBLSamplerProperty

Field Value

DependencyProperty

IrradianceMapProperty

public static readonly DependencyProperty IrradianceMapProperty

Field Value

DependencyProperty

MaxDistanceTessellationFactorProperty

The tessellation factor at MaxTessellationDistance property

public static readonly DependencyProperty MaxDistanceTessellationFactorProperty

Field Value

DependencyProperty

MaxTessellationDistanceProperty

The maximum tessellation distance property

public static readonly DependencyProperty MaxTessellationDistanceProperty

Field Value

DependencyProperty

MetallicFactorProperty

public static readonly DependencyProperty MetallicFactorProperty

Field Value

DependencyProperty

MinDistanceTessellationFactorProperty

The tessellation factor at MinTessellationDistance property

public static readonly DependencyProperty MinDistanceTessellationFactorProperty

Field Value

DependencyProperty

MinTessellationDistanceProperty

The minimum tessellation distance property

public static readonly DependencyProperty MinTessellationDistanceProperty

Field Value

DependencyProperty

NormalMapProperty

public static readonly DependencyProperty NormalMapProperty

Field Value

DependencyProperty

ReflectanceFactorProperty

public static readonly DependencyProperty ReflectanceFactorProperty

Field Value

DependencyProperty

RenderAlbedoMapProperty

public static readonly DependencyProperty RenderAlbedoMapProperty

Field Value

DependencyProperty

RenderAmbientOcclusionMapProperty

public static readonly DependencyProperty RenderAmbientOcclusionMapProperty

Field Value

DependencyProperty

RenderDisplacementMapProperty

public static readonly DependencyProperty RenderDisplacementMapProperty

Field Value

DependencyProperty

RenderEmissiveMapProperty

public static readonly DependencyProperty RenderEmissiveMapProperty

Field Value

DependencyProperty

RenderEnvironmentMapProperty

The render environment map property

public static readonly DependencyProperty RenderEnvironmentMapProperty

Field Value

DependencyProperty

RenderIrradianceMapProperty

public static readonly DependencyProperty RenderIrradianceMapProperty

Field Value

DependencyProperty

RenderNormalMapProperty

public static readonly DependencyProperty RenderNormalMapProperty

Field Value

DependencyProperty

RenderRoughnessMetallicMapProperty

public static readonly DependencyProperty RenderRoughnessMetallicMapProperty

Field Value

DependencyProperty

RenderShadowMapProperty

The render shadow map property

public static readonly DependencyProperty RenderShadowMapProperty

Field Value

DependencyProperty

RoughnessFactorProperty

public static readonly DependencyProperty RoughnessFactorProperty

Field Value

DependencyProperty

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

DependencyProperty

SurfaceMapSamplerProperty

public static readonly DependencyProperty SurfaceMapSamplerProperty

Field Value

DependencyProperty

UVTransformProperty

The uv transform property

public static readonly DependencyProperty UVTransformProperty

Field Value

DependencyProperty

VertexColorBlendingFactorProperty

public static readonly DependencyProperty VertexColorBlendingFactorProperty

Field Value

DependencyProperty

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

Color4

AlbedoMap

public TextureModel? AlbedoMap { get; set; }

Property Value

TextureModel

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

double

ClearCoatStrength

public double ClearCoatStrength { get; set; }

Property Value

double

DisplacementMap

public TextureModel? DisplacementMap { get; set; }

Property Value

TextureModel

DisplacementMapSampler

public SamplerStateDescription DisplacementMapSampler { get; set; }

Property Value

SamplerStateDescription

DisplacementMapScaleMask

[TypeConverter(typeof(Vector4Converter))]
public Vector4 DisplacementMapScaleMask { get; set; }

Property Value

Vector4

EmissiveColor

public Color4 EmissiveColor { get; set; }

Property Value

Color4

EmissiveMap

public TextureModel? EmissiveMap { get; set; }

Property Value

TextureModel

EnableAutoTangent

Gets or sets a value indicating whether [enable automatic tangent].

public bool EnableAutoTangent { get; set; }

Property Value

bool

true if [enable automatic tangent]; otherwise, false.

EnableFlatShading

Gets or sets a value indicating whether [enable flat shading].

public bool EnableFlatShading { get; set; }

Property Value

bool

true if [enable flat shading]; otherwise, false.

EnableTessellation

Gets or sets a value indicating whether [enable tessellation].

public bool EnableTessellation { get; set; }

Property Value

bool

true if [enable tessellation]; otherwise, false.

IBLSampler

public SamplerStateDescription IBLSampler { get; set; }

Property Value

SamplerStateDescription

IrradianceMap

public TextureModel? IrradianceMap { get; set; }

Property Value

TextureModel

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

TextureModel

ReflectanceFactor

public double ReflectanceFactor { get; set; }

Property Value

double

RenderAlbedoMap

public bool RenderAlbedoMap { get; set; }

Property Value

bool

RenderAmbientOcclusionMap

public bool RenderAmbientOcclusionMap { get; set; }

Property Value

bool

RenderDisplacementMap

public bool RenderDisplacementMap { get; set; }

Property Value

bool

RenderEmissiveMap

public bool RenderEmissiveMap { get; set; }

Property Value

bool

RenderEnvironmentMap

Gets or sets a value indicating whether [render environment map]. Default is false

public bool RenderEnvironmentMap { get; set; }

Property Value

bool

true if [render environment map]; otherwise, false.

RenderIrradianceMap

public bool RenderIrradianceMap { get; set; }

Property Value

bool

RenderNormalMap

public bool RenderNormalMap { get; set; }

Property Value

bool

RenderRoughnessMetallicMap

public bool RenderRoughnessMetallicMap { get; set; }

Property Value

bool

RenderShadowMap

Gets or sets a value indicating whether [render shadow map]. Default is false

public bool RenderShadowMap { get; set; }

Property Value

bool

true if [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

PBRMaterial

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

MaterialCore

Operators

implicit operator PBRMaterial?(PBRMaterialCore?)

public static implicit operator PBRMaterial?(PBRMaterialCore? core)

Parameters

core PBRMaterialCore

Returns

PBRMaterial