//////////////////////////////////////////////////////
// MK Glow Common //
// //
// Created by Michael Kremmel //
// www.michaelkremmel.de //
// Copyright © 2021 All rights reserved. //
//////////////////////////////////////////////////////
namespace MK.Glow
{
///
/// Type of the glow, selective requires seperate shaders
///
public enum Workflow
{
Threshold = 0,
Selective = 1,
Natural = 2
}
///
/// How anti flicker should perform
///
public enum AntiFlickerMode
{
Balanced = 0,
Strong = 1
}
///
/// Glow _settings.quality profile forrendering
///
public enum Quality
{
Ultra = 1,
High = 2,
Medium = 4,
Low = 8,
VeryLow = 12
}
///
/// Debugging, Raw = Glowmap, default = pre ready, composite = Finalglow without Source image
///
public enum DebugView
{
None = 0,
RawBloom = 1,
RawLensFlare = 2,
RawGlare = 3,
Bloom = 4,
LensFlare = 5,
Glare = 6,
Composite = 7,
}
///
/// Defines the focus of the render pipeline
///
public enum RenderPriority
{
Quality = 0,
Balanced = 1,
Performance = 2
}
///
/// Defines the style of the Lens Flare
///
public enum LensFlareStyle
{
Custom = 0,
Average = 1,
MultiAverage = 2,
Old = 3,
OldFocused = 4,
Distorted = 5
}
///
/// Defines the style of the glare
///
public enum GlareStyle
{
Custom = 0,
Line = 1,
Tri = 2,
Cross = 3,
DistortedCross = 4,
Star = 5,
Flake = 6
}
///
/// Dimension struct for representing render context size
///
internal struct RenderDimension : IDimension
{
public RenderDimension(int width, int height) : this()
{
this.width = width;
this.height = height;
}
public int width { get; set; }
public int height { get; set; }
public RenderDimension renderDimension { get{ return this; } }
}
///
/// Defines which renderpipeline is used
///
internal enum RenderPipeline
{
Legacy = 0,
SRP = 1
}
}