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 |