Class DrawContextEffectResources
This class manage all resources associated to an effect.
Implements
Inherited Members
Namespace: Evergine.Framework.Graphics
Assembly: Evergine.Framework.dll
Syntax
public class DrawContextEffectResources : DisposableObject, IDisposable
Constructors
DrawContextEffectResources(DrawContextResources, Effect)
Initializes a new instance of the DrawContextEffectResources class.
Declaration
public DrawContextEffectResources(DrawContextResources drawContextResources, Effect effect)
Parameters
Type | Name | Description |
---|---|---|
DrawContextResources | drawContextResources | The draw context resources. |
Effect | effect | The effect. |
Fields
DrawContextResources
The draw resources.
Declaration
public readonly DrawContextResources DrawContextResources
Field Value
Type | Description |
---|---|
DrawContextResources |
DynamicConstantBuffers
The constant buffers by slot.
Declaration
public ConstantBuffer[] DynamicConstantBuffers
Field Value
Type | Description |
---|---|
ConstantBuffer[] |
Effect
The associated effect.
Declaration
public readonly Effect Effect
Field Value
Type | Description |
---|---|
Effect |
MaterialResources
Draw material collection.
Declaration
public Dictionary<BaseMaterial, DrawContextMaterialResources> MaterialResources
Field Value
Type | Description |
---|---|
Dictionary<BaseMaterial, DrawContextMaterialResources> |
PerDrawCallBuffers
Per draw calls CBuffer collection.
Declaration
public readonly CBufferCollectionUpdaterEffectEntry PerDrawCallBuffers
Field Value
Type | Description |
---|---|
CBufferCollectionUpdaterEffectEntry |
PerSceneBuffers
Per scene CBuffer collection.
Declaration
public readonly CBufferCollectionUpdaterEffectEntry PerSceneBuffers
Field Value
Type | Description |
---|---|
CBufferCollectionUpdaterEffectEntry |
PerViewBuffers
Per view CBuffer collection.
Declaration
public readonly CBufferCollectionUpdaterEffectEntry PerViewBuffers
Field Value
Type | Description |
---|---|
CBufferCollectionUpdaterEffectEntry |
TextureSlots
The texture slot array.
Declaration
public TextureSlot[] TextureSlots
Field Value
Type | Description |
---|---|
TextureSlot[] |
Properties
ReferenceCount
Gets the number of references pointing to this effect entry.
Declaration
public uint ReferenceCount { get; }
Property Value
Type | Description |
---|---|
uint |
Methods
AddReference()
Increase a reference to this effect entry.
Declaration
public void AddReference()
CollectDrawCall(IEngineShaderParameters, ref uint[])
Update the constant buffers.
Declaration
public void CollectDrawCall(IEngineShaderParameters effectParams, ref uint[] dynamicCBufferOffsets)
Parameters
Type | Name | Description |
---|---|---|
IEngineShaderParameters | effectParams | The engine shader parameters. |
uint[] | dynamicCBufferOffsets | The dynamic buffer offsets array. |
CollectView(IEngineShaderParameters)
Update the constant buffers.
Declaration
public void CollectView(IEngineShaderParameters effectParams)
Parameters
Type | Name | Description |
---|---|---|
IEngineShaderParameters | effectParams | The engine shader parameters. |
Destroy()
Destroy all resources of this instance.
Declaration
protected override void Destroy()
Overrides
GetConstantBuffer(int, UpdatePolicy)
Gets effect cbuffer by slot and udapte policty.
Declaration
public ConstantBuffer GetConstantBuffer(int slot, UpdatePolicy updatePolicy)
Parameters
Type | Name | Description |
---|---|---|
int | slot | The buffer slot. |
UpdatePolicy | updatePolicy | The update policy. |
Returns
Type | Description |
---|---|
ConstantBuffer | The constant buffer. |
Prepare(CommandBuffer)
Prepare all resources of this effect.
Declaration
public void Prepare(CommandBuffer commandBuffer)
Parameters
Type | Name | Description |
---|---|---|
CommandBuffer | commandBuffer | The command buffer. |
RegisterMaterialPass(MaterialPassResources)
Register the material pass resource.
Declaration
public MaterialPassResourceSet RegisterMaterialPass(MaterialPassResources passResources)
Parameters
Type | Name | Description |
---|---|---|
MaterialPassResources | passResources | The material pass resources. |
Returns
Type | Description |
---|---|
MaterialPassResourceSet | The resourceset associated to this passResource. |
RemoveReference()
Remove a refernece of this effect entry.
Declaration
public void RemoveReference()
Events
TexturesChanged
Events fired when a texture has been changed.
Declaration
public event EventHandler TexturesChanged
Event Type
Type | Description |
---|---|
EventHandler |