Gorgon
Show / Hide Table of Contents

Class Gorgon2DBurnDodgeEffect

An effect that renders images burn/dodge effect.

Inheritance
object
GorgonNamedObject
Gorgon2DEffect
Gorgon2DBurnDodgeEffect
Implements
IGorgonNamedObject
IDisposable
IGorgonGraphicsObject
IGorgon2DCompositorEffect
Inherited Members
Gorgon2DEffect.BatchStateAllocator
Gorgon2DEffect.PixelShaderAllocator
Gorgon2DEffect.VertexShaderAllocator
Gorgon2DEffect.Macros
Gorgon2DEffect.Renderer
Gorgon2DEffect.Graphics
Gorgon2DEffect.PassCount
Gorgon2DEffect.Description
Gorgon2DEffect.CompileShader<T>(string, string)
Gorgon2DEffect.OnAfterRender(GorgonRenderTargetView)
Gorgon2DEffect.OnBeforeRenderPass(int, GorgonRenderTargetView, GorgonCameraCommon)
Gorgon2DEffect.OnAfterRenderPass(int, GorgonRenderTargetView)
Gorgon2DEffect.BeginRender(GorgonRenderTargetView, GorgonBlendState, GorgonDepthStencilState, GorgonRasterState)
Gorgon2DEffect.BeginPass(int, GorgonRenderTargetView, GorgonCameraCommon)
Gorgon2DEffect.EndPass(int, GorgonRenderTargetView)
Gorgon2DEffect.EndRender(GorgonRenderTargetView)
Gorgon2DEffect.Precache()
Gorgon2DEffect.Dispose()
GorgonNamedObject.GetHashCode()
GorgonNamedObject.ToString()
GorgonNamedObject.Name
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetType()
object.MemberwiseClone()
Namespace: Gorgon.Renderers
Assembly: Gorgon.Renderers.Gorgon2D.dll
Syntax
public class Gorgon2DBurnDodgeEffect : Gorgon2DEffect, IGorgonNamedObject, IDisposable, IGorgonGraphicsObject, IGorgon2DCompositorEffect
Remarks

This provides an image post processing filter akin to the dodge and burn effect filters in Photoshop.

Constructors

| Edit this page View Source

Gorgon2DBurnDodgeEffect(Gorgon2D)

Initializes a new instance of the Gorgon2DBurnDodgeEffect class.

Declaration
public Gorgon2DBurnDodgeEffect(Gorgon2D renderer)
Parameters
Type Name Description
Gorgon2D renderer

The renderer used to draw this effect.

Properties

| Edit this page View Source

UseDodge

Property to set or return whether to use a burn or dodge effect.

Declaration
public bool UseDodge { get; set; }
Property Value
Type Description
bool
| Edit this page View Source

UseLinear

Property to set or return whether to use a linear burn/dodge.

Declaration
public bool UseLinear { get; set; }
Property Value
Type Description
bool

Methods

| Edit this page View Source

Begin(GorgonBlendState, GorgonDepthStencilState, GorgonRasterState, GorgonCameraCommon)

Function to begin rendering the effect.

Declaration
public void Begin(GorgonBlendState blendState = null, GorgonDepthStencilState depthStencilState = null, GorgonRasterState rasterState = null, GorgonCameraCommon camera = null)
Parameters
Type Name Description
GorgonBlendState blendState

[Optional] A user defined blend state to apply when rendering.

GorgonDepthStencilState depthStencilState

[Optional] A user defined depth/stencil state to apply when rendering.

GorgonRasterState rasterState

[Optional] A user defined rasterizer state to apply when rendering.

GorgonCameraCommon camera

[Optional] The camera to use when rendering.

| Edit this page View Source

Dispose(bool)

Releases unmanaged and - optionally - managed resources

Declaration
protected override void Dispose(bool disposing)
Parameters
Type Name Description
bool disposing

true to release both managed and unmanaged resources; false to release only unmanaged resources.

Overrides
Gorgon2DEffect.Dispose(bool)
| Edit this page View Source

End()

Function to end the effect rendering.

Declaration
public void End()
| Edit this page View Source

OnBeforeRender(GorgonRenderTargetView, bool)

Function called prior to rendering.

Declaration
protected override void OnBeforeRender(GorgonRenderTargetView output, bool sizeChanged)
Parameters
Type Name Description
GorgonRenderTargetView output

The final render target that will receive the rendering from the effect.

bool sizeChanged

true if the output size changed since the last render, or false if it's the same.

Overrides
Gorgon2DEffect.OnBeforeRender(GorgonRenderTargetView, bool)
Remarks

Applications can use this to set up common states and other configuration settings prior to executing the render passes. This is an ideal method to initialize and resize your internal render targets (if applicable).

| Edit this page View Source

OnGetBatchState(int, IGorgon2DEffectBuilders, bool)

Function called to build a new (or return an existing) 2D batch state.

Declaration
protected override Gorgon2DBatchState OnGetBatchState(int passIndex, IGorgon2DEffectBuilders builders, bool statesChanged)
Parameters
Type Name Description
int passIndex

The index of the current rendering pass.

IGorgon2DEffectBuilders builders

The builder types that will manage the state of the effect.

bool statesChanged

true if the blend, raster, or depth/stencil state was changed. false if not.

Returns
Type Description
Gorgon2DBatchState

The 2D batch state.

Overrides
Gorgon2DEffect.OnGetBatchState(int, IGorgon2DEffectBuilders, bool)
| Edit this page View Source

OnInitialize()

Function called when the effect is being initialized.

Declaration
protected override void OnInitialize()
Overrides
Gorgon2DEffect.OnInitialize()
Remarks

Use this method to set up the effect upon its creation. For example, this method could be used to create the required shaders for the effect.

| Edit this page View Source

Render(GorgonTexture2DView, GorgonRenderTargetView)

Function to render an effect under the Gorgon2DCompositor.

Declaration
public void Render(GorgonTexture2DView texture, GorgonRenderTargetView output)
Parameters
Type Name Description
GorgonTexture2DView texture

The texture to render into the next target.

GorgonRenderTargetView output

The render target that will receive the final output.

Implements

IGorgonNamedObject
IDisposable
IGorgonGraphicsObject
IGorgon2DCompositorEffect

Extension Methods

GorgonDebugExtensions.ValidateObject<T>(T, string)
GorgonNullExtensions.AsNullable<T>(object)
GorgonNullExtensions.IfNull<T>(object, T)
GorgonNullExtensions.IsNull(object)
  • Edit this page
  • View Source
In this article
Back to top Copyright 2023 - Licensed under the MIT license by Michael Winsor (Tape_Worm).
Send comments on this topic to the author