Search Results for

    Show / Hide Table of Contents

    Class BaseMaterial

    Base material class.

    Inheritance
    object
    DisposableObject
    BaseMaterial
    ComputeTask
    Material
    Inherited Members
    DisposableObject.Disposed
    DisposableObject.Dispose()
    DisposableObject.Dispose(bool)
    Namespace: Evergine.Framework.Graphics
    Assembly: Evergine.Framework.dll
    Syntax
    public abstract class BaseMaterial : DisposableObject

    Constructors

    BaseMaterial(Effect)

    Initializes a new instance of the BaseMaterial class.

    Declaration
    protected BaseMaterial(Effect effect)
    Parameters
    Type Name Description
    Effect effect

    Effect instance.

    Fields

    CBuffers

    The constant buffers.

    Declaration
    public ConstantBuffer[] CBuffers
    Field Value
    Type Description
    ConstantBuffer[]

    CBuffersPerMaterial

    The constant buffers managed by materials. Usually includes all constant buffers with None policy.

    Declaration
    public ConstantBuffer[] CBuffersPerMaterial
    Field Value
    Type Description
    ConstantBuffer[]

    MaterialResourcesCache

    Dictionary containing ResourceLayout and ResourceSet pairs.

    Declaration
    public Dictionary<int, MaterialPassResources> MaterialResourcesCache
    Field Value
    Type Description
    Dictionary<int, MaterialPassResources>

    SamplerSlots

    The array of texture slots.

    Declaration
    public SamplerSlot[] SamplerSlots
    Field Value
    Type Description
    SamplerSlot[]

    TextureSlots

    The array of texture slots.

    Declaration
    public TextureSlot[] TextureSlots
    Field Value
    Type Description
    TextureSlot[]

    UABuffers

    The unordered access buffers.

    Declaration
    public UnorderedAccessBuffer[] UABuffers
    Field Value
    Type Description
    UnorderedAccessBuffer[]

    activeDirectivesNames

    The names of the active directives.

    Declaration
    protected string[] activeDirectivesNames
    Field Value
    Type Description
    string[]

    effect

    The effect.

    Declaration
    protected Effect effect
    Field Value
    Type Description
    Effect

    graphicsContext

    The graphics context.

    Declaration
    protected GraphicsContext graphicsContext
    Field Value
    Type Description
    GraphicsContext

    isDestroying

    Indicates whether the material is being destroyed.

    Declaration
    protected bool isDestroying
    Field Value
    Type Description
    bool

    Properties

    ActiveDirectivesNames

    Gets or sets the active directives.

    Declaration
    public string[] ActiveDirectivesNames { get; set; }
    Property Value
    Type Description
    string[]

    Effect

    Gets the effect.

    Declaration
    public Effect Effect { get; }
    Property Value
    Type Description
    Effect

    Methods

    Destroy()

    Destroys all resources of this instance.

    Declaration
    protected override void Destroy()
    Overrides
    DisposableObject.Destroy()

    FireMaterialStateChanged()

    Material needs to be updated.

    Declaration
    protected void FireMaterialStateChanged()

    FireRenderLayerStateChanged(object, EventArgs)

    The render layer was changed, so the material needs to be updated.

    Declaration
    protected void FireRenderLayerStateChanged(object sender, EventArgs e)
    Parameters
    Type Name Description
    object sender

    Sender object.

    EventArgs e

    Event args.

    GetMaterialPassResources(string, bool)

    Gets the material resources associated with the specified pass name. If the specified passName does not exist in the material effect, returns null. (Optional) If required, add a more restrictive condition; it indicates whether the pass exists and is necessary.

    Declaration
    public MaterialPassResources GetMaterialPassResources(string passName, bool required = false)
    Parameters
    Type Name Description
    string passName

    Pass name.

    bool required

    If the pass exists and it is required with the current active directives, or only if the pass exists.

    Returns
    Type Description
    MaterialPassResources

    The material pass resources, or null if the passName doesn't exist.

    GetMaterialResources(string[], string, bool)

    Gets the material resources associated with the specified pass name. If the specified passName does not exist in the material effect, returns null. (Optional) If required, add a more restrictive condition that indicates whether the pass exists and is necessary.

    Declaration
    public MaterialPassResources GetMaterialResources(string[] activeDirectiveNames, string passName, bool required = false)
    Parameters
    Type Name Description
    string[] activeDirectiveNames

    The active directive names.

    string passName

    Pass name.

    bool required

    If the pass exists and is required with the current active directives or only if the pass exists.

    Returns
    Type Description
    MaterialPassResources

    The material pass resources, or null if the passName doesn't exist.

    InitilizeEffect(Effect)

    Initializes material with effect resources.

    Declaration
    protected virtual void InitilizeEffect(Effect effect)
    Parameters
    Type Name Description
    Effect effect

    Effect instance.

    IsPassRequiredWithActiveDirectives(string)

    Checks if the pass is required with the current directives.

    Declaration
    protected bool IsPassRequiredWithActiveDirectives(string passName)
    Parameters
    Type Name Description
    string passName

    The pass name.

    Returns
    Type Description
    bool

    Whether the pass is required.

    Prepare(CommandBuffer)

    Prepares this material.

    Declaration
    public void Prepare(CommandBuffer commandBuffer)
    Parameters
    Type Name Description
    CommandBuffer commandBuffer

    The command buffer.

    SetParameterValue(string, Type, byte[])

    Sets the parameter value.

    Declaration
    public void SetParameterValue(string parameterName, Type parameterType, byte[] valueByteArray)
    Parameters
    Type Name Description
    string parameterName

    The name of the parameter.

    Type parameterType

    The type of the parameter.

    byte[] valueByteArray

    The parameter value (byte array).

    SetSBuffer(Buffer, int)

    Sets the StructuredBuffer to the specified slot.

    Declaration
    public void SetSBuffer(Buffer sbuffer, int slot)
    Parameters
    Type Name Description
    Buffer sbuffer

    The StructuredBuffer.

    int slot

    The StructuredBuffer slot.

    SetSBufferValue(Buffer, string)

    Sets the structured buffer value.

    Declaration
    public void SetSBufferValue(Buffer sbufferValue, string sbufferName)
    Parameters
    Type Name Description
    Buffer sbufferValue

    StructuredBuffer instance.

    string sbufferName

    StructuredBuffer name.

    SetSampler(SamplerState, int)

    Sets the sampler to the specified slot.

    Declaration
    public virtual void SetSampler(SamplerState sampler, int slot)
    Parameters
    Type Name Description
    SamplerState sampler

    The sampler.

    int slot

    The sampler slot.

    SetSamplerValue(SamplerState, string)

    Sets the sampler value.

    Declaration
    public void SetSamplerValue(SamplerState samplerValue, string samplerName)
    Parameters
    Type Name Description
    SamplerState samplerValue

    Sampler instance.

    string samplerName

    Sampler name.

    SetTexture(Texture, int)

    Sets a texture to the specified slot.

    Declaration
    public virtual void SetTexture(Texture texture, int slot)
    Parameters
    Type Name Description
    Texture texture

    The texture.

    int slot

    The texture's slot.

    SetTextureValue(Texture, string)

    Sets the texture value.

    Declaration
    public void SetTextureValue(Texture textureValue, string textureName)
    Parameters
    Type Name Description
    Texture textureValue

    The texture instance.

    string textureName

    The texture name.

    SetUABuffer(Buffer, int)

    Sets the Unordered Access Buffer to the specified slot.

    Declaration
    public void SetUABuffer(Buffer uabuffer, int slot)
    Parameters
    Type Name Description
    Buffer uabuffer

    The Unordered Access Buffer.

    int slot

    The Unordered Access Buffer slot.

    SetUABufferValue(Buffer, string)

    Sets the UABuffer value.

    Declaration
    public void SetUABufferValue(Buffer uaBufferValue, string uaBufferName)
    Parameters
    Type Name Description
    Buffer uaBufferValue

    The UABuffer value.

    string uaBufferName

    The UABuffer name.

    SetUATexture(Texture, int)

    Sets Unordered Access Texture to the specified slot.

    Declaration
    public void SetUATexture(Texture uaTexture, int slot)
    Parameters
    Type Name Description
    Texture uaTexture

    RWTexture1D, RWTexture1DArray, RWTexture2D, RWTexture2DArray, RWTexture3D.

    int slot

    The unordered access slot.

    Events

    MaterialStateChanged

    Event fired when the material state changes.

    Declaration
    public event EventHandler MaterialStateChanged
    Event Type
    Type Description
    EventHandler

    Extension Methods

    ReflectionHelper.GetMemberAssembly(object)
    ReflectionHelper.GetTypeName(object)
    In this article
    Back to top
    Generated by DocFX