Class PBRMaterial
- Namespace
- HelixToolkit.Avalonia.SharpDX
- Assembly
- HelixToolkit.Avalonia.SharpDX.dll
[DataContract]
public class PBRMaterial : Material, INotifyPropertyChanged, IDataContextProvider, ILogical, IThemeVariantHost, IResourceHost, IResourceNode, IStyleHost, ISetLogicalParent, ISetInheritanceParent, ISupportInitialize, IStyleable, INamed, IInputElement, IDataTemplateHost, ISetterValue
- Inheritance
-
AvaloniaObjectAnimatableStyledElementVisualLayoutableInteractiveInputElementControlPBRMaterial
- Implements
-
IDataContextProviderILogicalIThemeVariantHostIResourceHostIResourceNodeIStyleHostISetLogicalParentISetInheritanceParentIStyleableINamedIInputElementIDataTemplateHostISetterValue
- Inherited Members
-
Control.FocusAdornerPropertyControl.TagPropertyControl.ContextMenuPropertyControl.ContextFlyoutPropertyControl.RequestBringIntoViewEventControl.ContextRequestedEventControl.LoadedEventControl.UnloadedEventControl.SizeChangedEventControl.GetTemplateFocusTarget()Control.OnLoaded(RoutedEventArgs)Control.OnUnloaded(RoutedEventArgs)Control.OnSizeChanged(SizeChangedEventArgs)Control.OnAttachedToVisualTreeCore(VisualTreeAttachmentEventArgs)Control.OnDetachedFromVisualTreeCore(VisualTreeAttachmentEventArgs)Control.OnGotFocus(GotFocusEventArgs)Control.OnLostFocus(RoutedEventArgs)Control.OnCreateAutomationPeer()Control.OnPointerReleased(PointerReleasedEventArgs)Control.OnKeyUp(KeyEventArgs)Control.OnPropertyChanged(AvaloniaPropertyChangedEventArgs)Control.FocusAdornerControl.DataTemplatesControl.ContextMenuControl.ContextFlyoutControl.IsLoadedControl.TagControl.ContextRequestedControl.LoadedControl.UnloadedControl.SizeChangedInputElement.FocusablePropertyInputElement.IsEnabledPropertyInputElement.IsEffectivelyEnabledPropertyInputElement.CursorPropertyInputElement.IsKeyboardFocusWithinPropertyInputElement.IsFocusedPropertyInputElement.IsHitTestVisiblePropertyInputElement.IsPointerOverPropertyInputElement.IsTabStopPropertyInputElement.GotFocusEventInputElement.LostFocusEventInputElement.KeyDownEventInputElement.KeyUpEventInputElement.TabIndexPropertyInputElement.TextInputEventInputElement.TextInputMethodClientRequestedEventInputElement.PointerEnteredEventInputElement.PointerExitedEventInputElement.PointerMovedEventInputElement.PointerPressedEventInputElement.PointerReleasedEventInputElement.PointerCaptureLostEventInputElement.PointerWheelChangedEventInputElement.TappedEventInputElement.HoldingEventInputElement.DoubleTappedEventInputElement.Focus(NavigationMethod, KeyModifiers)InputElement.OnKeyDown(KeyEventArgs)InputElement.OnTextInput(TextInputEventArgs)InputElement.OnPointerEntered(PointerEventArgs)InputElement.OnPointerExited(PointerEventArgs)InputElement.OnPointerMoved(PointerEventArgs)InputElement.OnPointerPressed(PointerPressedEventArgs)InputElement.OnPointerCaptureLost(PointerCaptureLostEventArgs)InputElement.OnPointerWheelChanged(PointerWheelEventArgs)InputElement.UpdateIsEffectivelyEnabled()InputElement.FocusableInputElement.IsEnabledInputElement.CursorInputElement.IsKeyboardFocusWithinInputElement.IsFocusedInputElement.IsHitTestVisibleInputElement.IsPointerOverInputElement.IsTabStopInputElement.IsEffectivelyEnabledInputElement.TabIndexInputElement.KeyBindingsInputElement.IsEnabledCoreInputElement.GestureRecognizersInputElement.GotFocusInputElement.LostFocusInputElement.KeyDownInputElement.KeyUpInputElement.TextInputInputElement.TextInputMethodClientRequestedInputElement.PointerEnteredInputElement.PointerExitedInputElement.PointerMovedInputElement.PointerPressedInputElement.PointerReleasedInputElement.PointerCaptureLostInputElement.PointerWheelChangedInputElement.TappedInputElement.HoldingInputElement.DoubleTappedInteractive.RaiseEvent(RoutedEventArgs)Interactive.BuildEventRoute(RoutedEvent)Layoutable.DesiredSizePropertyLayoutable.WidthPropertyLayoutable.HeightPropertyLayoutable.MinWidthPropertyLayoutable.MaxWidthPropertyLayoutable.MinHeightPropertyLayoutable.MaxHeightPropertyLayoutable.MarginPropertyLayoutable.HorizontalAlignmentPropertyLayoutable.VerticalAlignmentPropertyLayoutable.UseLayoutRoundingPropertyLayoutable.UpdateLayout()Layoutable.ApplyTemplate()Layoutable.Measure(Size)Layoutable.Arrange(Rect)Layoutable.InvalidateMeasure()Layoutable.InvalidateArrange()Layoutable.AffectsMeasure<T>(params AvaloniaProperty[])Layoutable.AffectsArrange<T>(params AvaloniaProperty[])Layoutable.MeasureCore(Size)Layoutable.MeasureOverride(Size)Layoutable.ArrangeCore(Rect)Layoutable.ArrangeOverride(Size)Layoutable.OnMeasureInvalidated()Layoutable.OnVisualParentChanged(Visual, Visual)Layoutable.WidthLayoutable.HeightLayoutable.MinWidthLayoutable.MaxWidthLayoutable.MinHeightLayoutable.MaxHeightLayoutable.MarginLayoutable.HorizontalAlignmentLayoutable.VerticalAlignmentLayoutable.DesiredSizeLayoutable.IsMeasureValidLayoutable.IsArrangeValidLayoutable.UseLayoutRoundingLayoutable.EffectiveViewportChangedLayoutable.LayoutUpdatedVisual.BoundsPropertyVisual.ClipToBoundsPropertyVisual.ClipPropertyVisual.IsVisiblePropertyVisual.OpacityPropertyVisual.OpacityMaskPropertyVisual.EffectPropertyVisual.HasMirrorTransformPropertyVisual.RenderTransformPropertyVisual.RenderTransformOriginPropertyVisual.FlowDirectionPropertyVisual.VisualParentPropertyVisual.ZIndexPropertyVisual.GetFlowDirection(Visual)Visual.SetFlowDirection(Visual, FlowDirection)Visual.InvalidateVisual()Visual.Render(DrawingContext)Visual.AffectsRender<T>(params AvaloniaProperty[])Visual.OnAttachedToVisualTree(VisualTreeAttachmentEventArgs)Visual.OnDetachedFromVisualTree(VisualTreeAttachmentEventArgs)Visual.InvalidateMirrorTransform()Visual.BoundsVisual.ClipToBoundsVisual.ClipVisual.IsEffectivelyVisibleVisual.IsVisibleVisual.OpacityVisual.OpacityMaskVisual.EffectVisual.HasMirrorTransformVisual.RenderTransformVisual.RenderTransformOriginVisual.FlowDirectionVisual.ZIndexVisual.VisualChildrenVisual.VisualRootVisual.BypassFlowDirectionPoliciesVisual.AttachedToVisualTreeVisual.DetachedFromVisualTreeStyledElement.DataContextPropertyStyledElement.ParentPropertyStyledElement.TemplatedParentPropertyStyledElement.ThemePropertyStyledElement.BeginInit()StyledElement.EndInit()StyledElement.ApplyStyling()StyledElement.InitializeIfNeeded()StyledElement.OnAttachedToLogicalTree(LogicalTreeAttachmentEventArgs)StyledElement.OnDetachedFromLogicalTree(LogicalTreeAttachmentEventArgs)StyledElement.OnDataContextBeginUpdate()StyledElement.OnDataContextEndUpdate()StyledElement.OnInitialized()StyledElement.ClassesStyledElement.DataContextStyledElement.IsInitializedStyledElement.StylesStyledElement.StyleKeyStyledElement.ResourcesStyledElement.TemplatedParentStyledElement.ThemeStyledElement.LogicalChildrenStyledElement.PseudoClassesStyledElement.StyleKeyOverrideStyledElement.ParentStyledElement.ActualThemeVariantStyledElement.AttachedToLogicalTreeStyledElement.DetachedFromLogicalTreeStyledElement.DataContextChangedStyledElement.InitializedStyledElement.ResourcesChangedStyledElement.ActualThemeVariantChangedAnimatable.TransitionsPropertyAnimatable.OnPropertyChangedCore(AvaloniaPropertyChangedEventArgs)Animatable.TransitionsAvaloniaObject.CheckAccess()AvaloniaObject.VerifyAccess()AvaloniaObject.ClearValue(AvaloniaProperty)AvaloniaObject.ClearValue<T>(AvaloniaProperty<T>)AvaloniaObject.ClearValue<T>(StyledProperty<T>)AvaloniaObject.ClearValue<T>(DirectPropertyBase<T>)AvaloniaObject.GetHashCode()AvaloniaObject.GetValue(AvaloniaProperty)AvaloniaObject.GetValue<T>(StyledProperty<T>)AvaloniaObject.GetValue<T>(DirectPropertyBase<T>)AvaloniaObject.GetBaseValue<T>(StyledProperty<T>)AvaloniaObject.IsAnimating(AvaloniaProperty)AvaloniaObject.IsSet(AvaloniaProperty)AvaloniaObject.SetValue<T>(StyledProperty<T>, T, BindingPriority)AvaloniaObject.SetValue<T>(DirectPropertyBase<T>, T)AvaloniaObject.SetCurrentValue<T>(StyledProperty<T>, T)AvaloniaObject.Bind(AvaloniaProperty, IBinding)AvaloniaObject.CoerceValue(AvaloniaProperty)AvaloniaObject.RaisePropertyChanged<T>(DirectPropertyBase<T>, T, T)AvaloniaObject.SetAndRaise<T>(DirectPropertyBase<T>, ref T, T)AvaloniaObject.InheritanceParentAvaloniaObject.this[AvaloniaProperty]AvaloniaObject.this[IndexerDescriptor]AvaloniaObject.PropertyChanged
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 AvaloniaProperty AlbedoColorProperty
Field Value
- AvaloniaProperty
AlbedoMapProperty
public static readonly AvaloniaProperty AlbedoMapProperty
Field Value
- AvaloniaProperty
AmbientOcclusionFactorProperty
public static readonly AvaloniaProperty AmbientOcclusionFactorProperty
Field Value
- AvaloniaProperty
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 AvaloniaProperty AmbientOcculsionMapProperty
Field Value
- AvaloniaProperty
ClearCoatRoughnessProperty
public static readonly AvaloniaProperty ClearCoatRoughnessProperty
Field Value
- AvaloniaProperty
ClearCoatStrengthProperty
public static readonly AvaloniaProperty ClearCoatStrengthProperty
Field Value
- AvaloniaProperty
DisplacementMapProperty
public static readonly AvaloniaProperty DisplacementMapProperty
Field Value
- AvaloniaProperty
DisplacementMapSamplerProperty
public static readonly AvaloniaProperty DisplacementMapSamplerProperty
Field Value
- AvaloniaProperty
DisplacementMapScaleMaskProperty
public static readonly AvaloniaProperty DisplacementMapScaleMaskProperty
Field Value
- AvaloniaProperty
EmissiveColorProperty
The albedo color property
public static readonly AvaloniaProperty EmissiveColorProperty
Field Value
- AvaloniaProperty
EmissiveMapProperty
public static readonly AvaloniaProperty EmissiveMapProperty
Field Value
- AvaloniaProperty
EnableAutoTangentProperty
The enable automatic tangent
public static readonly AvaloniaProperty EnableAutoTangentProperty
Field Value
- AvaloniaProperty
EnableFlatShadingProperty
The enable flat shading property
public static readonly AvaloniaProperty EnableFlatShadingProperty
Field Value
- AvaloniaProperty
EnableTessellationProperty
The enable tessellation property
public static readonly AvaloniaProperty EnableTessellationProperty
Field Value
- AvaloniaProperty
IBLSamplerProperty
public static readonly AvaloniaProperty IBLSamplerProperty
Field Value
- AvaloniaProperty
IrradianceMapProperty
public static readonly AvaloniaProperty IrradianceMapProperty
Field Value
- AvaloniaProperty
MaxDistanceTessellationFactorProperty
The tessellation factor at MaxTessellationDistance property
public static readonly AvaloniaProperty MaxDistanceTessellationFactorProperty
Field Value
- AvaloniaProperty
MaxTessellationDistanceProperty
The maximum tessellation distance property
public static readonly AvaloniaProperty MaxTessellationDistanceProperty
Field Value
- AvaloniaProperty
MetallicFactorProperty
public static readonly AvaloniaProperty MetallicFactorProperty
Field Value
- AvaloniaProperty
MinDistanceTessellationFactorProperty
The tessellation factor at MinTessellationDistance property
public static readonly AvaloniaProperty MinDistanceTessellationFactorProperty
Field Value
- AvaloniaProperty
MinTessellationDistanceProperty
The minimum tessellation distance property
public static readonly AvaloniaProperty MinTessellationDistanceProperty
Field Value
- AvaloniaProperty
NormalMapProperty
public static readonly AvaloniaProperty NormalMapProperty
Field Value
- AvaloniaProperty
ReflectanceFactorProperty
public static readonly AvaloniaProperty ReflectanceFactorProperty
Field Value
- AvaloniaProperty
RenderAlbedoMapProperty
public static readonly AvaloniaProperty RenderAlbedoMapProperty
Field Value
- AvaloniaProperty
RenderAmbientOcclusionMapProperty
public static readonly AvaloniaProperty RenderAmbientOcclusionMapProperty
Field Value
- AvaloniaProperty
RenderDisplacementMapProperty
public static readonly AvaloniaProperty RenderDisplacementMapProperty
Field Value
- AvaloniaProperty
RenderEmissiveMapProperty
public static readonly AvaloniaProperty RenderEmissiveMapProperty
Field Value
- AvaloniaProperty
RenderEnvironmentMapProperty
The render environment map property
public static readonly AvaloniaProperty RenderEnvironmentMapProperty
Field Value
- AvaloniaProperty
RenderIrradianceMapProperty
public static readonly AvaloniaProperty RenderIrradianceMapProperty
Field Value
- AvaloniaProperty
RenderNormalMapProperty
public static readonly AvaloniaProperty RenderNormalMapProperty
Field Value
- AvaloniaProperty
RenderRoughnessMetallicMapProperty
public static readonly AvaloniaProperty RenderRoughnessMetallicMapProperty
Field Value
- AvaloniaProperty
RenderShadowMapProperty
The render shadow map property
public static readonly AvaloniaProperty RenderShadowMapProperty
Field Value
- AvaloniaProperty
RoughnessFactorProperty
public static readonly AvaloniaProperty RoughnessFactorProperty
Field Value
- AvaloniaProperty
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 AvaloniaProperty RoughnessMetallicMapProperty
Field Value
- AvaloniaProperty
SurfaceMapSamplerProperty
public static readonly AvaloniaProperty SurfaceMapSamplerProperty
Field Value
- AvaloniaProperty
UVTransformProperty
The uv transform property
public static readonly AvaloniaProperty UVTransformProperty
Field Value
- AvaloniaProperty
VertexColorBlendingFactorProperty
public static readonly AvaloniaProperty VertexColorBlendingFactorProperty
Field Value
- AvaloniaProperty
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
OnCreateCore()
protected override MaterialCore OnCreateCore()
Returns
Operators
implicit operator PBRMaterial?(PBRMaterialCore?)
public static implicit operator PBRMaterial?(PBRMaterialCore? core)
Parameters
corePBRMaterialCore