Ethans Graphics Kit
Collection of graphics effects for the game engine Unity3D(version 5.3.1 specifically).
EthansGraphicsKit.Lighting.LightingSystem Class Reference

Lighting system. More...

Inherits MonoBehaviour.

Public Types

enum  RenderingPath { RenderingPath.ForwardUnlit = 0, RenderingPath.Deferred = 1 }
 
enum  GlobalIlluminationQuality {
  GlobalIlluminationQuality.VeryLow = 32, GlobalIlluminationQuality.Low = 64, GlobalIlluminationQuality.Medium = 128, GlobalIlluminationQuality.High = 256,
  GlobalIlluminationQuality.VeryHigh = 512
}
 
enum  GlobalIlluminationUpdateMode { GlobalIlluminationUpdateMode.NoUpdating = 0, GlobalIlluminationUpdateMode.Delayed = 1, GlobalIlluminationUpdateMode.Realtime = 2 }
 

Public Member Functions

void UpdateSettings ()
 Updates/refreshes settings. More...
 
void UpdateLightingPass ()
 Update deferred lighting pass(used for updating dynamic directional/point lights). More...
 
void UpdateBackgroundSettings ()
 Update background color/skybox changes made to camera/scene. More...
 
void OnPreRenderMainCamera (Camera mainCam)
 
bool UpdateGlobalIllumination ()
 Attempts to update global illumination, returns true if started updating successfully. More...
 
void DisplayRenderResult (RenderTexture src, RenderTexture dst)
 
bool IsGlobalIlluminationUpdating ()
 
void UpdateBrightnessScale ()
 Update brightness More...
 
long GetRAMUsage ()
 
RenderTexture Create3DRenderTexture (int width, int height, int depth, RenderTextureFormat rtf)
 
void OnDrawGizmosSelected ()
 

Static Public Member Functions

static bool IsDGISupported ()
 

Public Attributes

float renderScale = 1.0f
 Screen render scale. More...
 
FilterMode renderScaleFilterMode = FilterMode.Bilinear
 Render scale texture filter. More...
 
RenderingPath renderingPath = RenderingPath.Deferred
 Rendering path. More...
 
LightingSystemCameraDisplay deferredCameraDisplay = null
 LightingSystemCameraDisplay component attached to main camera, used for deferred rendering. More...
 
GlobalIlluminationQuality quality = GlobalIlluminationQuality.Low
 Global illumination lightmap quality. More...
 
float lightmapDistance = 512.0f
 Global illumination lightmap distance(similiar to shadow distance). More...
 
bool levelOfDetailCascade = false
 Use half of the lightmap resolution to create a lower resolution GI map to cover more view distance. More...
 
float levelOfDetailCascadeScale = 16.0f
 Scale of lower resolution lightmap cascade. More...
 
GlobalIlluminationUpdateMode updateMode = GlobalIlluminationUpdateMode.Delayed
 Global illumination voxel map update priority. More...
 
LayerMask cullingMask = -1
 Global illumination culling mask, objects in this culling mask will effect global illumination. More...
 
float backgroundLightIntensity = 1.0f
 Intensity of the light from the background(skybox or clear color). More...
 
Vector3 brightnessScale = Vector3.one
 Brightness scale. More...
 
bool realtimeFinalGather = true
 Real-time diffuse global illumination through a real-time final gather, very expensive. More...
 
int denoiseIterations = 1
 Number of denoising iterations applied to screen, a cheap way of reducing reflection fuzziness. More...
 
bool screenSpaceShadows = false
 Screen-space shadows for direct lighting, works best with real-time final gather. More...
 
int screenSpaceShadowIterations = 8
 The distance in pixels of the screen-space shadows, larger is more expensive. More...
 
float screenSpaceShadowDistance = 1.0f
 The distance in world units that considers a hit when screen space shadow tracing. More...
 
int bounces = 2
 Number of computed global illumination bounces. More...
 
int computedPaths = 32
 Number of computed global illumination paths. More...
 
int computedSteps = 8
 Number of computed global illumination ray-trace steps(GI view distance). More...
 
int shadowRayTraceSteps = 16
 Number of shadow ray-trace steps in computed GI. Shadow view distance for Direction/Point lights. More...
 
int realtimePaths = 8
 Max number of real-time paths, higher reduces soft reflection fuzziness. More...
 
int realtimeSteps = 8
 Number of real-time ray-trace steps(higher means longer view distance in reflections). More...
 
int lightMapConvolutionSteps = 1
 Number of lightmap convolution steps in computed global illumination, can cause light bleeding problems with more then 2 steps. More...
 
Color fogColor = Color.black
 
float fogDepth = 1000.0f
 
float fogIntensity = 1.0f
 
float fogPower = 1.0f
 
ComputeShader addSliceToVolumeCS
 
Shader voxelMaterialPassShader
 
Shader lightingPassShader
 
Color originBackgroundColor
 
List< PrelightingEffectprelightingPostEffects = new List<PrelightingEffect>()
 

Static Public Attributes

static LightingSystem lightingSystem
 Static LightingSystem reference. More...
 

Detailed Description

Lighting system.

Member Enumeration Documentation

Enumerator
VeryLow 
Low 
Medium 
High 
VeryHigh 
Enumerator
NoUpdating 
Delayed 
Realtime 
Enumerator
ForwardUnlit 
Deferred 

Member Function Documentation

RenderTexture EthansGraphicsKit.Lighting.LightingSystem.Create3DRenderTexture ( int  width,
int  height,
int  depth,
RenderTextureFormat  rtf 
)
void EthansGraphicsKit.Lighting.LightingSystem.DisplayRenderResult ( RenderTexture  src,
RenderTexture  dst 
)
long EthansGraphicsKit.Lighting.LightingSystem.GetRAMUsage ( )

Returns
Estimated number of bytes used on the GPU by the lighting system.
static bool EthansGraphicsKit.Lighting.LightingSystem.IsDGISupported ( )
static

Returns
True if deferred global illumination is supported on this device.
bool EthansGraphicsKit.Lighting.LightingSystem.IsGlobalIlluminationUpdating ( )

Returns
True if global illumination is currently updating.
void EthansGraphicsKit.Lighting.LightingSystem.OnDrawGizmosSelected ( )
void EthansGraphicsKit.Lighting.LightingSystem.OnPreRenderMainCamera ( Camera  mainCam)
void EthansGraphicsKit.Lighting.LightingSystem.UpdateBackgroundSettings ( )

Update background color/skybox changes made to camera/scene.

void EthansGraphicsKit.Lighting.LightingSystem.UpdateBrightnessScale ( )

Update brightness

bool EthansGraphicsKit.Lighting.LightingSystem.UpdateGlobalIllumination ( )

Attempts to update global illumination, returns true if started updating successfully.

Returns
void EthansGraphicsKit.Lighting.LightingSystem.UpdateLightingPass ( )

Update deferred lighting pass(used for updating dynamic directional/point lights).

void EthansGraphicsKit.Lighting.LightingSystem.UpdateSettings ( )

Updates/refreshes settings.

Member Data Documentation

ComputeShader EthansGraphicsKit.Lighting.LightingSystem.addSliceToVolumeCS
float EthansGraphicsKit.Lighting.LightingSystem.backgroundLightIntensity = 1.0f

Intensity of the light from the background(skybox or clear color).

int EthansGraphicsKit.Lighting.LightingSystem.bounces = 2

Number of computed global illumination bounces.

Vector3 EthansGraphicsKit.Lighting.LightingSystem.brightnessScale = Vector3.one

Brightness scale.

int EthansGraphicsKit.Lighting.LightingSystem.computedPaths = 32

Number of computed global illumination paths.

int EthansGraphicsKit.Lighting.LightingSystem.computedSteps = 8

Number of computed global illumination ray-trace steps(GI view distance).

LayerMask EthansGraphicsKit.Lighting.LightingSystem.cullingMask = -1

Global illumination culling mask, objects in this culling mask will effect global illumination.

LightingSystemCameraDisplay EthansGraphicsKit.Lighting.LightingSystem.deferredCameraDisplay = null

LightingSystemCameraDisplay component attached to main camera, used for deferred rendering.

int EthansGraphicsKit.Lighting.LightingSystem.denoiseIterations = 1

Number of denoising iterations applied to screen, a cheap way of reducing reflection fuzziness.

Color EthansGraphicsKit.Lighting.LightingSystem.fogColor = Color.black
float EthansGraphicsKit.Lighting.LightingSystem.fogDepth = 1000.0f
float EthansGraphicsKit.Lighting.LightingSystem.fogIntensity = 1.0f
float EthansGraphicsKit.Lighting.LightingSystem.fogPower = 1.0f
bool EthansGraphicsKit.Lighting.LightingSystem.levelOfDetailCascade = false

Use half of the lightmap resolution to create a lower resolution GI map to cover more view distance.

float EthansGraphicsKit.Lighting.LightingSystem.levelOfDetailCascadeScale = 16.0f

Scale of lower resolution lightmap cascade.

Shader EthansGraphicsKit.Lighting.LightingSystem.lightingPassShader
LightingSystem EthansGraphicsKit.Lighting.LightingSystem.lightingSystem
static

Static LightingSystem reference.

int EthansGraphicsKit.Lighting.LightingSystem.lightMapConvolutionSteps = 1

Number of lightmap convolution steps in computed global illumination, can cause light bleeding problems with more then 2 steps.

float EthansGraphicsKit.Lighting.LightingSystem.lightmapDistance = 512.0f

Global illumination lightmap distance(similiar to shadow distance).

Color EthansGraphicsKit.Lighting.LightingSystem.originBackgroundColor
List<PrelightingEffect> EthansGraphicsKit.Lighting.LightingSystem.prelightingPostEffects = new List<PrelightingEffect>()
GlobalIlluminationQuality EthansGraphicsKit.Lighting.LightingSystem.quality = GlobalIlluminationQuality.Low

Global illumination lightmap quality.

bool EthansGraphicsKit.Lighting.LightingSystem.realtimeFinalGather = true

Real-time diffuse global illumination through a real-time final gather, very expensive.

int EthansGraphicsKit.Lighting.LightingSystem.realtimePaths = 8

Max number of real-time paths, higher reduces soft reflection fuzziness.

int EthansGraphicsKit.Lighting.LightingSystem.realtimeSteps = 8

Number of real-time ray-trace steps(higher means longer view distance in reflections).

RenderingPath EthansGraphicsKit.Lighting.LightingSystem.renderingPath = RenderingPath.Deferred

Rendering path.

float EthansGraphicsKit.Lighting.LightingSystem.renderScale = 1.0f

Screen render scale.

FilterMode EthansGraphicsKit.Lighting.LightingSystem.renderScaleFilterMode = FilterMode.Bilinear

Render scale texture filter.

float EthansGraphicsKit.Lighting.LightingSystem.screenSpaceShadowDistance = 1.0f

The distance in world units that considers a hit when screen space shadow tracing.

int EthansGraphicsKit.Lighting.LightingSystem.screenSpaceShadowIterations = 8

The distance in pixels of the screen-space shadows, larger is more expensive.

bool EthansGraphicsKit.Lighting.LightingSystem.screenSpaceShadows = false

Screen-space shadows for direct lighting, works best with real-time final gather.

int EthansGraphicsKit.Lighting.LightingSystem.shadowRayTraceSteps = 16

Number of shadow ray-trace steps in computed GI. Shadow view distance for Direction/Point lights.

GlobalIlluminationUpdateMode EthansGraphicsKit.Lighting.LightingSystem.updateMode = GlobalIlluminationUpdateMode.Delayed

Global illumination voxel map update priority.

Shader EthansGraphicsKit.Lighting.LightingSystem.voxelMaterialPassShader

The documentation for this class was generated from the following file: