// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved. @0// Global Illumination: Defines #define USE_GI 1 @1// Global Illumination: Includes #include "./Flax/GI/DDGI.hlsl" #include "./Flax/LightingCommon.hlsl" @2// Global Illumination: Constants DDGIData DDGI; @3// Global Illumination: Resources Texture2D ProbesState : register(t__SRV__); Texture2D ProbesDistance : register(t__SRV__); Texture2D ProbesIrradiance : register(t__SRV__); @4// Global Illumination: Utilities float4 GetGlobalIlluminationLighting(GBufferSample gBuffer) { float3 irradiance = SampleDDGIIrradiance(DDGI, ProbesState, ProbesDistance, ProbesIrradiance, gBuffer.WorldPos, gBuffer.Normal); float3 diffuseColor = GetDiffuseColor(gBuffer); float3 diffuse = Diffuse_Lambert(diffuseColor); return float4(diffuse * irradiance, saturate(length(irradiance))); } @5// Global Illumination: Shaders