Click or drag to resize

Material Class

Defines how a geometry looks.
Inheritance Hierarchy
SystemObject
  NeoAxisComponent
    NeoAxisResultCompileMaterialCompiledMaterialData
      NeoAxisMaterial

Namespace:  NeoAxis
Assembly:  NeoAxis.Core (in NeoAxis.Core.dll) Version: 2022.1.1.0 (2022.1.1.0)
Syntax
C#
public class Material : ResultCompile<MaterialCompiledMaterialData>, 
	IEditorUpdateWhenDocumentModified

The Material type exposes the following members.

Constructors
  NameDescription
Public methodMaterial
Initializes a new instance of the Material class
Top
Properties
  NameDescription
Public propertyAdvancedBlending
Enables advanced blending mode. In this mode, it is possible to configure blending for each channel separately.
Public propertyAdvancedScripting
Whether to enable the advanced shader scripting functionality.
Public propertyAffectAmbientOcclusion
Whether to write the Ambient Occlusion.
Public propertyAffectBaseColor
Whether to write the Base Color.
Public propertyAffectEmissive
Whether to write the Emissive.
Public propertyAffectGeometry
Whether to write the normals, height data.
Public propertyAffectMetallic
Whether to write the Metallic.
Public propertyAffectReflectance
Whether to write the Reflectance.
Public propertyAffectRoughness
Whether to write the Roughness.
Public propertyAmbientOcclusion
Defines how much of the light is accessible to a surface point.
Public propertyAnisotropy
Amount of anisotropy.
Public propertyAnisotropyDirection
Local surface direction. Used by anisotropic materials only.
Public propertyAnisotropyDirectionBasis
The direction basis. Used by anisotropic materials only.
Public propertyAnyData
The user data of the component.
(Inherited from Component.)
Public propertyBaseColor
Diffuse albedo for non-metallic surfaces, and specular color for metallic surfaces.
Public propertyBaseType
Gets the base type of the object.
(Inherited from Component.)
Public propertyBlendMode
Defines how/if the rendered object is blended with the content of the render target.
Public propertyClearCoat
Strength of the clear coat layer.
Public propertyClearCoatNormal
A detail normal used to perturb the clear coat layer using bump mapping (normal mapping).
Public propertyClearCoatRoughness
Perceived smoothness or roughness of the clear coat layer.
Public propertyCloneSupport
Whether the object supports cloning.
(Inherited from Component.)
Public propertyComponents
Gets the collection of the child components.
(Inherited from Component.)
Public propertyCreatedByBaseType
Whether the object is created using a base type.
(Inherited from Component.)
Public propertyCustomParameter1
The parameter is intended to transfer custom data to shader scripts.
Public propertyCustomParameter2
The parameter is intended to transfer custom data to shader scripts.
Public propertyDisplacement
The height offset that is specified by the texture.
Public propertyDisplacementScale
The scale for Displacement.
Public propertyDisplayInEditor
Whether to show the object in the editor.
(Inherited from Component.)
Public propertyDisposed
Whether the object is disposed.
(Inherited from Component.)
Public propertyEditorAutoUpdate
Public propertyEditorDocumentConfiguration
Gets or sets the configuration data of the object's settings in the editor.
(Inherited from Component.)
Public propertyEditorReadOnly
Whether the object is read only in the editor.
(Inherited from Component.)
Public propertyEditorReadOnlyInHierarchy
Whether the object is read-only in the editor with respect to parent objects.
(Inherited from Component.)
Public propertyEmissive
The color and intensity of light emitted from the surface.
Public propertyEnabled
Whether the component is enabled. See also EnabledInHierarchy property.
(Inherited from Component.)
Public propertyEnabledInHierarchy
Determines whether the object is attached to a hierarchy of the components and enabled. The object will be enabled only when all parents are enabled, and the property Enabled is enabled.
(Inherited from Component.)
Public propertyEnabledInHierarchyAndIsNotResource
Determines when the object is attached to a hierarchy of the components, is enabled and the object if not part of a resource (it is usual object instance). The object will be enabled only when all parents are enabled, and the property Enabled is enabled.
(Inherited from Component.)
Public propertyFragmentCode
The injection to the fragment shader code.
Public propertyFragmentFunctions
Additional functions to the fragment shader code.
Public propertyHierarchyController
Gets the object hierarchy control controller.
(Inherited from Component.)
Public propertyMetallic
Whether a surface appears to be dielectric (0.0) or conductor (1.0). Often used as a binary value (0 or 1).
Public propertyName
The name of the component.
(Inherited from Component.)
Public propertyNormal
The material normals. This property is intented to be used with normal mapping.
Public propertyOpacity
The opacity of the surface.
Public propertyOpacityDithering
Whether to enable dithering for smooth blending of Masked material.
Public propertyOpacityMaskThreshold
Transparency threshold for Masked mode.
Public propertyParent
Gets the parent object.
(Inherited from Component.)
Public propertyParentRoot
Gets the parent root object.
(Inherited from Component.)
Public propertyPositionOffset
Vertices position offset. Performed in vertex shader.
Public propertyRayTracingReflection
Amount of ray-tracing reflection. Used as option to use screen space or raytracing reflection technique.
Public propertyReceiveDecals
Whether it is possible to apply decals on the surface.
Public propertyReceiveShadows
Whether the surface receive shadows from other sources.
Public propertyReflectance
Fresnel reflectance at normal incidence for dielectric surfaces. This directly controls the strength of the reflections.
Public propertyRemoveFromParentQueued
Whether the object is placed in the detach queue from the parent.
(Inherited from Component.)
Public propertyResult
The result provided by the object.
(Inherited from ResultCompileT.)
Public propertyResultCompileUpdateMode
Mode update of the object.
(Inherited from ResultCompileT.)
Public propertyRoughness
Perceived smoothness (1.0) or roughness (0.0) of a surface. Smooth surfaces exhibit sharp reflections.
Public propertySaveSupport
Whether the object supports saving to a file.
(Inherited from Component.)
Public propertyScreenLabel
Sets the display of the on-screen label of the object in the scene editor.
(Inherited from Component.)
Public propertyShadingModel
The reflection mode of the incoming light.
Public propertySheenColor
Specular tint to create two-tone specular fabrics.
Public propertyShouldRecompile
Whether to update the resulting object data.
(Inherited from ResultCompileT.)
Public propertySoftParticles
Whether to enable a soft particles mode. In this mode, objects increase transparency in those places behind which there is an obstacle nearby. The mode works only for transparent materials.
Public propertySoftParticlesDistance
A minimal distance to an obstacle to activate the soft particles mode.
Public propertySubsurfaceColor
Tint for the diffuse color after scattering and absorption through the material.
Public propertySubsurfacePower
A power parameter for subsurface scattering rendering.
Public propertyThickness
A thickness factor of the surface for subsurface scattering rendering.
Public propertyTwoSided
Whether the material use double-sided rendering.
Public propertyTwoSidedFlipNormals
Whether the double-sided material must flip normals for back faces rendering.
Public propertyTypeSettingsPrivateObjects
Object settings when used as a type.
(Inherited from Component.)
Public propertyUseVertexColor
Whether to use vertex color for Base Color and Opacity calculation.
Public propertyVertexCode
The injection to the vertex shader code.
Public propertyVertexFunctions
Additional functions to the vertex shader code.
Top
Methods
  NameDescription
Public methodAddComponent
Adds a component as a child.
(Inherited from Component.)
Public methodClone
Creates a copy of the object.
(Inherited from Component.)
Public methodCompile
Public methodCreateComponent(Type, Int32, Boolean, Boolean)
Creates a child component.
(Inherited from Component.)
Public methodCreateComponent(MetadataTypeInfo, Int32, Boolean, Boolean)
Creates a child component.
(Inherited from Component.)
Public methodCreateComponentT(Int32, Boolean, Boolean)
Creates a child component.
(Inherited from Component.)
Public methodDispose
Detaches the object from the hierarchy and deletes the object data.
(Inherited from Component.)
Public methodEditorUpdateWhenDocumentModified
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodFindParent(Type)
Finds the parent of the specified type.
(Inherited from Component.)
Public methodFindParent(MetadataTypeInfo)
Finds the parent of the specified type.
(Inherited from Component.)
Public methodFindParentT
Finds the parent of the specified type.
(Inherited from Component.)
Public methodFindThisOrParent(Type)
Finds the parent or self of the specified type.
(Inherited from Component.)
Public methodFindThisOrParent(MetadataTypeInfo)
Finds the parent or self of the specified type.
(Inherited from Component.)
Public methodFindThisOrParentT
Finds the parent or self of the specified type.
(Inherited from Component.)
Public methodStatic memberGetAll
Public methodGetAllParents
Gets all parents of the component.
(Inherited from Component.)
Public methodGetComponent(String, Boolean)
Finds a child component by name.
(Inherited from Component.)
Public methodGetComponent(Type, Boolean, Boolean)
Finds a child component of the specified type.
(Inherited from Component.)
Public methodGetComponent(MetadataTypeInfo, Boolean, Boolean)
Finds a child component of the specified type.
(Inherited from Component.)
Public methodGetComponentT(Boolean, Boolean)
Finds a child component of the specified type.
(Inherited from Component.)
Public methodGetComponentByNameWithIndex
Finds a child component by name and number in the case when there are several components with the specified name.
(Inherited from Component.)
Public methodGetComponentByPath
Finds a child component by path.
(Inherited from Component.)
Public methodGetComponents(Boolean, Boolean, Boolean, Boolean)
Finds child components.
(Inherited from Component.)
Public methodGetComponents(Boolean, Boolean, Boolean, Boolean, ActionComponent)
Finds child components.
(Inherited from Component.)
Public methodGetComponents(Type, Boolean, Boolean, Boolean, Boolean)
Finds child components of the specified type.
(Inherited from Component.)
Public methodGetComponents(MetadataTypeInfo, Boolean, Boolean, Boolean, Boolean)
Finds child components of the specified type.
(Inherited from Component.)
Public methodGetComponentsT(Boolean, Boolean, Boolean, Boolean, ActionT)
Finds child components of the specified type.
(Inherited from Component.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetPathFromParent
Returns the path to the object from the parent.
(Inherited from Component.)
Public methodGetPathFromRoot
Returns the object's access path from the root object.
(Inherited from Component.)
Public methodGetProvidedType
Returns a type when the object is used as a type.
(Inherited from Component.)
Public methodGetScreenLabelInfo (Inherited from Component.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodIsMethodInvoking (Inherited from Component.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodMetadataGetMemberBySignature
Returns the object metadata member by name.
(Inherited from Component.)
Public methodMetadataGetMembers
Returns the object metadata members.
(Inherited from Component.)
Public methodMethodInvoke
Calls a method by name.
(Inherited from Component.)
Public methodMethodInvokeCancel (Inherited from Component.)
Public methodMethodInvokeCancelAll (Inherited from Component.)
Public methodNewObjectSetDefaultConfiguration (Overrides ComponentNewObjectSetDefaultConfiguration(Boolean).)
Public methodNewObjectSetDefaultConfigurationUpdate
Called during object creation in the editor. Designed to configure the initial state.
(Inherited from Component.)
Protected methodOnAddedToParent
Called when a component is added to the parent.
(Inherited from Component.)
Protected methodOnCheckDecalSupport
Protected methodOnCheckDeferredShadingSupport
Protected methodOnCheckReceiveDecalsSupport
Protected methodOnClone
Called when the object is cloned.
(Inherited from Component.)
Protected methodOnComponentAdded
Called when a child component is added.
(Inherited from Component.)
Protected methodOnComponentRemoved
Called when a child component is removed.
(Inherited from Component.)
Protected methodOnDisabled
Called when the object is detached from a hierarchy of the components or is disabled. See also EnabledInHierarchy property.
(Inherited from Component.)
Protected methodOnDisabledInSimulation
Called when the object is detached from a hierarchy of the components or is disabled. The method is called only in simulation application. See also EnabledInHierarchy property.
(Inherited from Component.)
Protected methodOnDispose (Overrides ComponentOnDispose.)
Protected methodOnEditorGetTextInfoCenterBottomCorner (Inherited from Component.)
Protected methodOnEnabled
Called when the object is attached to a hierarchy of the components and is enabled. See also EnabledInHierarchy property.
(Inherited from Component.)
Protected methodOnEnabledChanged
Called when value of Enabled property is changed.
(Inherited from Component.)
Protected methodOnEnabledInHierarchyChanged (Inherited from ResultCompileT.)
Protected methodOnEnabledInSimulation
Called when the object is attached to a hierarchy of the components and is enabled. The method is called only in simulation application. See also EnabledInHierarchy property.
(Inherited from Component.)
Protected methodOnLoad
Called during object loading.
(Inherited from Component.)
Protected methodOnMetadataGetMemberBySignature
Called when the object metadata member is received by name.
(Inherited from Component.)
Protected methodOnMetadataGetMembers
Called upon receipt of the object's metadata members.
(Inherited from Component.)
Protected methodOnMetadataGetMembersFilter (Overrides ComponentOnMetadataGetMembersFilter(MetadataGetMembersContext, MetadataMember, Boolean).)
Protected methodOnPreloadResources
Called when preloading the resources used by the object.
(Inherited from Component.)
Protected methodOnRemovedFromParent
Called when a component is removed from the parent.
(Inherited from Component.)
Protected methodOnResultCompile (Overrides ResultCompileTOnResultCompile.)
Protected methodOnSave
Called during object saving.
(Inherited from Component.)
Protected methodOnSimulationStep
Called during the simulation step.
(Inherited from Component.)
Protected methodOnUpdate
Called during the update process of all objects.
(Inherited from Component.)
Public methodPerformResultCompile
Performs recompilation of the result.
(Inherited from ResultCompileT.)
Public methodPreloadResources
Preload resources used by the object.
(Inherited from Component.)
Public methodPropertyGet(String, Object, Boolean)
Gets the value of a property by name.
(Inherited from Component.)
Public methodPropertySet
Sets the value of a property by name.
(Inherited from Component.)
Public methodRemoveAllComponents
Removes all child components.
(Inherited from Component.)
Public methodRemoveComponent
Removes a child component.
(Inherited from Component.)
Public methodRemoveFromParent
Detaches the object from its parent.
(Inherited from Component.)
Public methodResultDispose
Clears the result.
(Inherited from ResultCompileT.)
Public methodToString
Returns the name and type of the object as a string.
(Inherited from Component.)
Public methodTypeSettingsIsPublic
Checks whether the object provided as a type is public.
(Inherited from Component.)
Public methodTypeSettingsIsPublicMember
Checks whether the member is set up as public.
(Inherited from Component.)
Top
Events
  NameDescription
Public eventAddedToParent
Occurs when a component is added to the parent.
(Inherited from Component.)
Public eventAdvancedBlendingChanged
Occurs when the AdvancedBlending property value changes.
Public eventAdvancedScriptingChanged
Occurs when the AdvancedScripting property value changes.
Public eventAffectAmbientOcclusionChanged
Occurs when the AffectAmbientOcclusion property value changes.
Public eventAffectBaseColorChanged
Occurs when the AffectBaseColor property value changes.
Public eventAffectEmissiveChanged
Occurs when the AffectEmissive property value changes.
Public eventAffectGeometryChanged
Occurs when the AffectGeometry property value changes.
Public eventAffectMetallicChanged
Occurs when the AffectMetallic property value changes.
Public eventAffectReflectanceChanged
Occurs when the AffectReflectance property value changes.
Public eventAffectRoughnessChanged
Occurs when the AffectRoughness property value changes.
Public eventAmbientOcclusionChanged
Occurs when the AmbientOcclusion property value changes.
Public eventAnisotropyChanged
Occurs when the Anisotropy property value changes.
Public eventAnisotropyDirectionBasisChanged
Occurs when the AnisotropyDirectionBasis property value changes.
Public eventAnisotropyDirectionChanged
Occurs when the AnisotropyDirection property value changes.
Public eventBaseColorChanged
Occurs when the BaseColor property value changes.
Public eventBlendModeChanged
Occurs when the BlendMode property value changes.
Public eventCheckDecalSupportEvent
Public eventCheckDeferredShadingSupportEvent
Public eventCheckReceiveDecalsSupportEvent
Public eventClearCoatChanged
Occurs when the ClearCoat property value changes.
Public eventClearCoatNormalChanged
Occurs when the ClearCoatNormal property value changes.
Public eventClearCoatRoughnessChanged
Occurs when the ClearCoatRoughness property value changes.
Public eventCloneEvent
Occurs when object is cloned.
(Inherited from Component.)
Public eventCloneSupportChanged
Occurs after changing value of CloneSupport property.
(Inherited from Component.)
Public eventComponentAdded
Occurs when a child component is added.
(Inherited from Component.)
Public eventComponentRemoved
Occurs when a child component is removed.
(Inherited from Component.)
Public eventComponentsChanged
Occurs when the set of children is changed.
(Inherited from Component.)
Public eventCustomParameter1Changed
Occurs when the CustomParameter1 property value changes.
Public eventCustomParameter2Changed
Occurs when the CustomParameter2 property value changes.
Public eventDisabledEvent
Occurs when the object is disabled from a hierarchy of the components or is disabled. See also EnabledInHierarchy property.
(Inherited from Component.)
Public eventDisabledInSimulation
Occurs when the object is detached from a hierarchy of the components or is disabled. The method is called only in simulation application. See also EnabledInHierarchy property.
(Inherited from Component.)
Public eventDisplacementChanged
Occurs when the Displacement property value changes.
Public eventDisplacementScaleChanged
Occurs when the DisplacementScale property value changes.
Public eventDisplayInEditorChanged
Occurs when value of DisplayInEditor property is changed.
(Inherited from Component.)
Public eventDisposeEvent
Occurs when the object is disposed.
(Inherited from Component.)
Public eventEmissiveChanged
Occurs when the Emissive property value changes.
Public eventEnabledChanged
Occurs when the Enabled property value changes.
(Inherited from Component.)
Public eventEnabledEvent
Occurs when the object is attached to a hierarchy of the components and is enabled. See also EnabledInHierarchy property.
(Inherited from Component.)
Public eventEnabledInHierarchyChanged
Occurs when the EnabledInHierarchy property value changes.
(Inherited from Component.)
Public eventEnabledInSimulation
Occurs when the object is attached to a hierarchy of the components and is enabled. The method is called only in simulation application. See also EnabledInHierarchy property.
(Inherited from Component.)
Public eventFragmentCodeChanged
Occurs when the FragmentCode property value changes.
Public eventFragmentFunctionsChanged
Occurs when the FragmentFunctions property value changes.
Public eventLoadEvent
Occurs during object loading.
(Inherited from Component.)
Public eventMetadataGetMemberBySignatureEvent
Occurs when the object metadata member is received by name.
(Inherited from Component.)
Public eventMetadataGetMembersEvent
Occurs upon receipt of the object's metadata members.
(Inherited from Component.)
Public eventMetadataGetMembersFilterEvent
Occurs when filtering receive members of the object metadata.
(Inherited from Component.)
Public eventMetallicChanged
Occurs when the Metallic property value changes.
Public eventNameChanged
Occurs when component name is changed.
(Inherited from Component.)
Public eventNormalChanged
Occurs when the Normal property value changes.
Public eventOpacityChanged
Occurs when the Opacity property value changes.
Public eventOpacityDitheringChanged
Occurs when the OpacityDithering property value changes.
Public eventOpacityMaskThresholdChanged
Occurs when the OpacityMaskThreshold property value changes.
Public eventPositionOffsetChanged
Occurs when the PositionOffset property value changes.
Public eventPreloadResourcesEvent
Occurs when preloading the resources used by the object.
(Inherited from Component.)
Public eventRayTracingReflectionChanged
Occurs when the RayTracingReflection property value changes.
Public eventReceiveDecalsChanged
Occurs when the ReceiveDecals property value changes.
Public eventReceiveShadowsChanged
Occurs when the ReceiveShadows property value changes.
Public eventReflectanceChanged
Occurs when the Reflectance property value changes.
Public eventRemovedFromParent
Occurs when a component is removed from the parent.
(Inherited from Component.)
Public eventResultChanged
Occurs after changing the result value.
(Inherited from ResultCompileT.)
Public eventResultCompileBegin
Occurs before compiling the result.
(Inherited from ResultCompileT.)
Public eventResultCompileEnd
Occurs after the completion of the compilation of the result.
(Inherited from ResultCompileT.)
Public eventRoughnessChanged
Occurs when the Roughness property value changes.
Public eventSaveEvent
Occurs during object saving.
(Inherited from Component.)
Public eventSaveSupportChanged
Occurs after changing value of SaveSupport property.
(Inherited from Component.)
Public eventScreenLabelChanged
Occurs when the ScreenLabel property value changes.
(Inherited from Component.)
Public eventShadingModelChanged
Occurs when the ShadingModel property value changes.
Public eventSheenColorChanged
Occurs when the SheenColor property value changes.
Public eventSimulationStep
Occurs during the simulation step.
(Inherited from Component.)
Public eventSoftParticlesChanged
Occurs when the SoftParticles property value changes.
Public eventSoftParticlesDistanceChanged
Occurs when the SoftParticlesDistance property value changes.
Public eventSubsurfaceColorChanged
Occurs when the SubsurfaceColor property value changes.
Public eventSubsurfacePowerChanged
Occurs when the SubsurfacePower property value changes.
Public eventThicknessChanged
Occurs when the Thickness property value changes.
Public eventTwoSidedChanged
Occurs when the TwoSided property value changes.
Public eventTwoSidedFlipNormalsChanged
Occurs when the TwoSidedFlipNormals property value changes.
Public eventUpdateEvent
Occurs during the update process of all objects.
(Inherited from Component.)
Public eventUseVertexColorChanged
Occurs when the UseVertexColor property value changes.
Public eventVertexCodeChanged
Occurs when the VertexCode property value changes.
Public eventVertexFunctionsChanged
Occurs when the VertexFunctions property value changes.
Top
Extension Methods
See Also