Class PostProcessingNode
Represents the post-processing node inside a Graph.
Namespace: Evergine.Framework.Graphics
Assembly: Evergine.Framework.dll
Syntax
public class PostProcessingNode : IdentifiableObject
Constructors
PostProcessingNode()
Initializes a new instance of the PostProcessingNode class.
Declaration
public PostProcessingNode()
PostProcessingNode(Effect, string)
Initializes a new instance of the PostProcessingNode class.
Declaration
public PostProcessingNode(Effect effect, string name = null)
Parameters
Type | Name | Description |
---|---|---|
Effect | effect | The computational effect. |
string | name | The node's name. |
PostProcessingNode(string)
Initializes a new instance of the PostProcessingNode class.
Declaration
public PostProcessingNode(string name)
Parameters
Type | Name | Description |
---|---|---|
string | name | The node's name. |
Properties
ComputeTask
Gets the compute task. (Only compute effects are allowed as a node).
Declaration
public ComputeTask ComputeTask { get; }
Property Value
Type | Description |
---|---|
ComputeTask |
EffectID
Gets or sets the effect ID.
Declaration
[EvergineMember(2)]
public Guid EffectID { get; set; }
Property Value
Type | Description |
---|---|
Guid |
Graph
Gets or sets the graph owner.
Declaration
public PostProcessingGraphDescription Graph { get; set; }
Property Value
Type | Description |
---|---|
PostProcessingGraphDescription |
Inputs
Gets or sets the input ports.
Declaration
[EvergineMember]
public List<PostProcessingInputNodePort> Inputs { get; protected set; }
Property Value
Type | Description |
---|---|
List<PostProcessingInputNodePort> |
Name
Gets or sets the node name.
Declaration
[EvergineMember(0)]
public string Name { get; set; }
Property Value
Type | Description |
---|---|
string |
Outputs
Gets or sets the output ports.
Declaration
[EvergineMember]
public List<PostProcessingOutputNodePort> Outputs { get; protected set; }
Property Value
Type | Description |
---|---|
List<PostProcessingOutputNodePort> |
Position
Gets or sets the node's position in the graph panel.
Declaration
[EvergineMember(1)]
public Vector2 Position { get; set; }
Property Value
Type | Description |
---|---|
Vector2 |
ThreadGroupDivisorX
Gets or sets the ThreadGroups divisor for the compute task. E.g., Dispatch(imageWidth / divisorX, ..., ...).
Declaration
[EvergineMember]
public int ThreadGroupDivisorX { get; set; }
Property Value
Type | Description |
---|---|
int |
ThreadGroupDivisorY
Gets or sets the ThreadGroup's divisor for the compute task. E.g., Dispatch(..., imageHeight / divisorY, ...).
Declaration
[EvergineMember]
public int ThreadGroupDivisorY { get; set; }
Property Value
Type | Description |
---|---|
int |
ThreadGroupDivisorZ
Gets or sets the ThreadGroups divisor for compute tasks. E.g., Dispatch(..., ..., 1/divisorZ).
Declaration
[EvergineMember]
public int ThreadGroupDivisorZ { get; set; }
Property Value
Type | Description |
---|---|
int |
Methods
AddInputPort(PostProcessingInputNodePort)
Adds a new input port to the node.
Declaration
public PostProcessingNode AddInputPort(PostProcessingInputNodePort inputPort)
Parameters
Type | Name | Description |
---|---|---|
PostProcessingInputNodePort | inputPort | Input port. |
Returns
Type | Description |
---|---|
PostProcessingNode | The post-processing node (fluent syntax). |
AddOutputPort(PostProcessingOutputNodePort)
Adds a new output port to the node.
Declaration
public PostProcessingNode AddOutputPort(PostProcessingOutputNodePort outputPort)
Parameters
Type | Name | Description |
---|---|---|
PostProcessingOutputNodePort | outputPort | The output port. |
Returns
Type | Description |
---|---|
PostProcessingNode | The post-processing node (fluent syntax). |
GetInputPortByID(Guid)
Gets the input port by id.
Declaration
public PostProcessingInputNodePort GetInputPortByID(Guid portId)
Parameters
Type | Name | Description |
---|---|---|
Guid | portId | The port ID. |
Returns
Type | Description |
---|---|
PostProcessingInputNodePort | Found input port or null. |
GetInputPortByName(string)
Gets the input port by name.
Declaration
public PostProcessingInputNodePort GetInputPortByName(string name)
Parameters
Type | Name | Description |
---|---|---|
string | name | The port name. |
Returns
Type | Description |
---|---|
PostProcessingInputNodePort | The found port or null. |
GetOutputPortByID(Guid)
Gets the output port by id.
Declaration
public PostProcessingOutputNodePort GetOutputPortByID(Guid portId)
Parameters
Type | Name | Description |
---|---|---|
Guid | portId | The port id. |
Returns
Type | Description |
---|---|
PostProcessingOutputNodePort | Found output port or null. |
GetOutputPortByName(string)
Gets the output port by name.
Declaration
public PostProcessingOutputNodePort GetOutputPortByName(string name)
Parameters
Type | Name | Description |
---|---|---|
string | name | The port name. |
Returns
Type | Description |
---|---|
PostProcessingOutputNodePort | The found port or null. |
GetPortByID(Guid)
Gets port by port ID.
Declaration
public PostProcessingNodePort GetPortByID(Guid portId)
Parameters
Type | Name | Description |
---|---|---|
Guid | portId | The port ID. |
Returns
Type | Description |
---|---|
PostProcessingNodePort | The port. |
GetPortByName(string)
Gets the port input or output by name.
Declaration
public PostProcessingNodePort GetPortByName(string name)
Parameters
Type | Name | Description |
---|---|---|
string | name | The port name. |
Returns
Type | Description |
---|---|
PostProcessingNodePort | The found input or output port, or null. |
IntegrityNodeCheck(PostProcessingGraphDescription)
Check that all references have been set.
Declaration
public void IntegrityNodeCheck(PostProcessingGraphDescription graph)
Parameters
Type | Name | Description |
---|---|---|
PostProcessingGraphDescription | graph | Post-processing graph. |