Refactor shader structures naming with a prefix
This commit is contained in:
@@ -27,14 +27,14 @@ struct ForwardShadingFeature : MaterialShaderFeature
|
||||
|
||||
PACK_STRUCT(struct Data
|
||||
{
|
||||
LightData DirectionalLight;
|
||||
LightShadowData DirectionalLightShadow;
|
||||
LightData SkyLight;
|
||||
ProbeData EnvironmentProbe;
|
||||
ExponentialHeightFogData ExponentialHeightFog;
|
||||
ShaderLightData DirectionalLight;
|
||||
ShaderLightShadowData DirectionalLightShadow;
|
||||
ShaderLightData SkyLight;
|
||||
ShaderEnvProbeData EnvironmentProbe;
|
||||
ShaderExponentialHeightFogData ExponentialHeightFog;
|
||||
Float3 Dummy2;
|
||||
uint32 LocalLightsCount;
|
||||
LightData LocalLights[MaxLocalLights];
|
||||
ShaderLightData LocalLights[MaxLocalLights];
|
||||
});
|
||||
|
||||
static void Bind(MaterialShader::BindParameters& params, Span<byte>& cb, int32& srv);
|
||||
|
||||
@@ -61,7 +61,7 @@ bool EnvironmentProbe::IsUsingCustomProbe() const
|
||||
return _isUsingCustomProbe;
|
||||
}
|
||||
|
||||
void EnvironmentProbe::SetupProbeData(const RenderContext& renderContext, ProbeData* data) const
|
||||
void EnvironmentProbe::SetupProbeData(const RenderContext& renderContext, ShaderEnvProbeData* data) const
|
||||
{
|
||||
const float radius = GetScaledRadius();
|
||||
data->Data0 = Float4(GetPosition() - renderContext.View.Origin, 0);
|
||||
|
||||
@@ -95,7 +95,7 @@ public:
|
||||
/// </summary>
|
||||
/// <param name="renderContext">Rendering context</param>
|
||||
/// <param name="data">Packed probe data to set</param>
|
||||
void SetupProbeData(const RenderContext& renderContext, struct ProbeData* data) const;
|
||||
void SetupProbeData(const RenderContext& renderContext, struct ShaderEnvProbeData* data) const;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the custom probe (null if using baked one or none).
|
||||
|
||||
@@ -144,7 +144,7 @@ void ExponentialHeightFog::GetVolumetricFogOptions(VolumetricFogOptions& result)
|
||||
result.FogParameters = Float4(density, height, heightFalloff, 0.0f);
|
||||
}
|
||||
|
||||
void ExponentialHeightFog::GetExponentialHeightFogData(const RenderView& view, ExponentialHeightFogData& result) const
|
||||
void ExponentialHeightFog::GetExponentialHeightFogData(const RenderView& view, ShaderExponentialHeightFogData& result) const
|
||||
{
|
||||
const float height = (float)GetPosition().Y;
|
||||
const float density = FogDensity / 1000.0f;
|
||||
@@ -180,8 +180,8 @@ void ExponentialHeightFog::GetExponentialHeightFogData(const RenderView& view, E
|
||||
}
|
||||
|
||||
PACK_STRUCT(struct Data {
|
||||
GBufferData GBuffer;
|
||||
ExponentialHeightFogData ExponentialHeightFog;
|
||||
ShaderGBufferData GBuffer;
|
||||
ShaderExponentialHeightFogData ExponentialHeightFog;
|
||||
});
|
||||
|
||||
void ExponentialHeightFog::DrawFog(GPUContext* context, RenderContext& renderContext, GPUTextureView* output)
|
||||
|
||||
@@ -155,7 +155,7 @@ public:
|
||||
|
||||
// [IFogRenderer]
|
||||
void GetVolumetricFogOptions(VolumetricFogOptions& result) const override;
|
||||
void GetExponentialHeightFogData(const RenderView& view, ExponentialHeightFogData& result) const override;
|
||||
void GetExponentialHeightFogData(const RenderView& view, ShaderExponentialHeightFogData& result) const override;
|
||||
void DrawFog(GPUContext* context, RenderContext& renderContext, GPUTextureView* output) override;
|
||||
|
||||
protected:
|
||||
|
||||
@@ -21,8 +21,8 @@ PACK_STRUCT(struct Data {
|
||||
Matrix WVP;
|
||||
Float3 ViewOffset;
|
||||
float Padding;
|
||||
GBufferData GBuffer;
|
||||
AtmosphericFogData Fog;
|
||||
ShaderGBufferData GBuffer;
|
||||
ShaderAtmosphericFogData Fog;
|
||||
});
|
||||
|
||||
Sky::Sky(const SpawnParams& params)
|
||||
@@ -52,7 +52,7 @@ Sky::~Sky()
|
||||
SAFE_DELETE_GPU_RESOURCE(_psFog);
|
||||
}
|
||||
|
||||
void Sky::InitConfig(AtmosphericFogData& config) const
|
||||
void Sky::InitConfig(ShaderAtmosphericFogData& config) const
|
||||
{
|
||||
config.AtmosphericFogDensityScale = 1.0f;
|
||||
config.AtmosphericFogSunDiscScale = SunDiscScale;
|
||||
|
||||
@@ -54,7 +54,7 @@ private:
|
||||
_psFog = nullptr;
|
||||
}
|
||||
#endif
|
||||
void InitConfig(AtmosphericFogData& config) const;
|
||||
void InitConfig(ShaderAtmosphericFogData& config) const;
|
||||
|
||||
public:
|
||||
// [Actor]
|
||||
|
||||
@@ -20,7 +20,7 @@ private:
|
||||
|
||||
// Packed shader constant buffer structure (this MUST match shader code)
|
||||
PACK_STRUCT(struct ASSAOConstants {
|
||||
GBufferData GBuffer;
|
||||
ShaderGBufferData GBuffer;
|
||||
|
||||
Float2 ViewportPixelSize;
|
||||
Float2 HalfViewportPixelSize;
|
||||
|
||||
@@ -19,7 +19,7 @@ PACK_STRUCT(struct Data
|
||||
float StationaryBlending;
|
||||
float MotionBlending;
|
||||
float Dummy0;
|
||||
GBufferData GBuffer;
|
||||
ShaderGBufferData GBuffer;
|
||||
});
|
||||
|
||||
bool TAA::Init()
|
||||
|
||||
@@ -10,21 +10,21 @@
|
||||
/// <summary>
|
||||
/// Structure that contains information about GBuffer for shaders.
|
||||
/// </summary>
|
||||
struct GBufferData
|
||||
{
|
||||
PACK_STRUCT(struct ShaderGBufferData
|
||||
{
|
||||
Float4 ViewInfo;
|
||||
Float4 ScreenSize;
|
||||
Float3 ViewPos;
|
||||
float ViewFar;
|
||||
Matrix InvViewMatrix;
|
||||
Matrix InvProjectionMatrix;
|
||||
};
|
||||
});
|
||||
|
||||
/// <summary>
|
||||
/// Structure that contains information about exponential height fog for shaders.
|
||||
/// </summary>
|
||||
struct ExponentialHeightFogData
|
||||
{
|
||||
PACK_STRUCT(struct ShaderExponentialHeightFogData
|
||||
{
|
||||
Float3 FogInscatteringColor;
|
||||
float FogMinOpacity;
|
||||
|
||||
@@ -43,13 +43,13 @@ struct ExponentialHeightFogData
|
||||
float VolumetricFogMaxDistance;
|
||||
float DirectionalInscatteringStartDistance;
|
||||
float StartDistance;
|
||||
};
|
||||
});
|
||||
|
||||
/// <summary>
|
||||
/// Structure that contains information about atmosphere fog for shaders.
|
||||
/// </summary>
|
||||
struct AtmosphericFogData
|
||||
{
|
||||
PACK_STRUCT(struct ShaderAtmosphericFogData
|
||||
{
|
||||
float AtmosphericFogDensityScale;
|
||||
float AtmosphericFogSunDiscScale;
|
||||
float AtmosphericFogDistanceScale;
|
||||
@@ -65,12 +65,12 @@ struct AtmosphericFogData
|
||||
|
||||
Float3 AtmosphericFogSunColor;
|
||||
float AtmosphericFogDensityOffset;
|
||||
};
|
||||
});
|
||||
|
||||
/// <summary>
|
||||
/// Structure that contains information about light for shaders.
|
||||
/// </summary>
|
||||
PACK_STRUCT(struct LightData {
|
||||
PACK_STRUCT(struct ShaderLightData {
|
||||
Float2 SpotAngles;
|
||||
float SourceRadius;
|
||||
float SourceLength;
|
||||
@@ -89,7 +89,7 @@ PACK_STRUCT(struct LightData {
|
||||
/// <summary>
|
||||
/// Structure that contains information about light for shaders.
|
||||
/// </summary>
|
||||
PACK_STRUCT(struct LightShadowData {
|
||||
PACK_STRUCT(struct ShaderLightShadowData {
|
||||
Float2 ShadowMapSize;
|
||||
float Sharpness;
|
||||
float Fade;
|
||||
@@ -104,7 +104,7 @@ PACK_STRUCT(struct LightShadowData {
|
||||
/// <summary>
|
||||
/// Packed env probe data
|
||||
/// </summary>
|
||||
PACK_STRUCT(struct ProbeData {
|
||||
PACK_STRUCT(struct ShaderEnvProbeData {
|
||||
Float4 Data0; // x - Position.x, y - Position.y, z - Position.z, w - unused
|
||||
Float4 Data1; // x - Radius , y - 1 / Radius, z - Brightness, w - unused
|
||||
});
|
||||
|
||||
@@ -86,7 +86,7 @@ public:
|
||||
/// </summary>
|
||||
/// <param name="view">The rendering view.</param>
|
||||
/// <param name="result">The result.</param>
|
||||
virtual void GetExponentialHeightFogData(const RenderView& view, ExponentialHeightFogData& result) const = 0;
|
||||
virtual void GetExponentialHeightFogData(const RenderView& view, ShaderExponentialHeightFogData& result) const = 0;
|
||||
|
||||
/// <summary>
|
||||
/// Draw fog using GBuffer inputs
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
#include "Engine/Engine/Engine.h"
|
||||
|
||||
PACK_STRUCT(struct GBufferPassData{
|
||||
GBufferData GBuffer;
|
||||
ShaderGBufferData GBuffer;
|
||||
Float3 Dummy0;
|
||||
int32 ViewMode;
|
||||
});
|
||||
@@ -393,7 +393,7 @@ bool GBufferPass::IsDebugView(ViewMode mode)
|
||||
}
|
||||
}
|
||||
|
||||
void GBufferPass::SetInputs(const RenderView& view, GBufferData& gBuffer)
|
||||
void GBufferPass::SetInputs(const RenderView& view, ShaderGBufferData& gBuffer)
|
||||
{
|
||||
// GBuffer params:
|
||||
// ViewInfo : x-1/Projection[0,0] y-1/Projection[1,1] z-(Far / (Far - Near) w-(-Far * Near) / (Far - Near) / Far)
|
||||
|
||||
@@ -73,7 +73,7 @@ public:
|
||||
/// </summary>
|
||||
/// <param name="view">The rendering view.</param>
|
||||
/// <param name="gBuffer">GBuffer input to setup</param>
|
||||
static void SetInputs(const RenderView& view, GBufferData& gBuffer);
|
||||
static void SetInputs(const RenderView& view, ShaderGBufferData& gBuffer);
|
||||
|
||||
private:
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ PACK_STRUCT(struct Data0
|
||||
DynamicDiffuseGlobalIlluminationPass::ConstantsData DDGI;
|
||||
GlobalSignDistanceFieldPass::ConstantsData GlobalSDF;
|
||||
GlobalSurfaceAtlasPass::ConstantsData GlobalSurfaceAtlas;
|
||||
GBufferData GBuffer;
|
||||
ShaderGBufferData GBuffer;
|
||||
float Padding0;
|
||||
float ProbesDistanceLimit;
|
||||
float ResetBlend;
|
||||
|
||||
@@ -54,7 +54,7 @@ PACK_STRUCT(struct Data0
|
||||
GlobalSignDistanceFieldPass::ConstantsData GlobalSDF;
|
||||
GlobalSurfaceAtlasPass::ConstantsData GlobalSurfaceAtlas;
|
||||
DynamicDiffuseGlobalIlluminationPass::ConstantsData DDGI;
|
||||
LightData Light;
|
||||
ShaderLightData Light;
|
||||
});
|
||||
|
||||
PACK_STRUCT(struct AtlasTileVertex
|
||||
|
||||
@@ -13,12 +13,12 @@
|
||||
#include "Engine/Graphics/RenderTask.h"
|
||||
|
||||
PACK_STRUCT(struct PerLight{
|
||||
LightData Light;
|
||||
ShaderLightData Light;
|
||||
Matrix WVP;
|
||||
});
|
||||
|
||||
PACK_STRUCT(struct PerFrame{
|
||||
GBufferData GBuffer;
|
||||
ShaderGBufferData GBuffer;
|
||||
});
|
||||
|
||||
String LightPass::ToString() const
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
#include "Engine/Engine/Time.h"
|
||||
|
||||
PACK_STRUCT(struct Data {
|
||||
GBufferData GBuffer;
|
||||
ShaderGBufferData GBuffer;
|
||||
Matrix CurrentVP;
|
||||
Matrix PreviousVP;
|
||||
Float4 TemporalAAJitter;
|
||||
|
||||
@@ -18,9 +18,9 @@ class ReflectionsPass : public RendererPass<ReflectionsPass>
|
||||
private:
|
||||
|
||||
PACK_STRUCT(struct Data {
|
||||
ProbeData PData;
|
||||
ShaderEnvProbeData PData;
|
||||
Matrix WVP;
|
||||
GBufferData GBuffer;
|
||||
ShaderGBufferData GBuffer;
|
||||
});
|
||||
|
||||
AssetReference<Shader> _shader;
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace
|
||||
CriticalSection MemPoolLocker;
|
||||
}
|
||||
|
||||
void RenderDirectionalLightData::SetupLightData(LightData* data, bool useShadow) const
|
||||
void RenderDirectionalLightData::SetupLightData(ShaderLightData* data, bool useShadow) const
|
||||
{
|
||||
data->SpotAngles.X = -2.0f;
|
||||
data->SpotAngles.Y = 1.0f;
|
||||
@@ -56,7 +56,7 @@ void RenderDirectionalLightData::SetupLightData(LightData* data, bool useShadow)
|
||||
data->RadiusInv = 0;
|
||||
}
|
||||
|
||||
void RenderSpotLightData::SetupLightData(LightData* data, bool useShadow) const
|
||||
void RenderSpotLightData::SetupLightData(ShaderLightData* data, bool useShadow) const
|
||||
{
|
||||
data->SpotAngles.X = CosOuterCone;
|
||||
data->SpotAngles.Y = InvCosConeDifference;
|
||||
@@ -73,7 +73,7 @@ void RenderSpotLightData::SetupLightData(LightData* data, bool useShadow) const
|
||||
data->RadiusInv = 1.0f / Radius;
|
||||
}
|
||||
|
||||
void RenderPointLightData::SetupLightData(LightData* data, bool useShadow) const
|
||||
void RenderPointLightData::SetupLightData(ShaderLightData* data, bool useShadow) const
|
||||
{
|
||||
data->SpotAngles.X = -2.0f;
|
||||
data->SpotAngles.Y = 1.0f;
|
||||
@@ -90,7 +90,7 @@ void RenderPointLightData::SetupLightData(LightData* data, bool useShadow) const
|
||||
data->RadiusInv = 1.0f / Radius;
|
||||
}
|
||||
|
||||
void RenderSkyLightData::SetupLightData(LightData* data, bool useShadow) const
|
||||
void RenderSkyLightData::SetupLightData(ShaderLightData* data, bool useShadow) const
|
||||
{
|
||||
data->SpotAngles.X = AdditiveColor.X;
|
||||
data->SpotAngles.Y = AdditiveColor.Y;
|
||||
|
||||
@@ -61,7 +61,7 @@ struct RenderDirectionalLightData : RenderLightData
|
||||
float Cascade3Spacing;
|
||||
float Cascade4Spacing;
|
||||
|
||||
void SetupLightData(LightData* data, bool useShadow) const;
|
||||
void SetupLightData(ShaderLightData* data, bool useShadow) const;
|
||||
};
|
||||
|
||||
struct RenderSpotLightData : RenderLightData
|
||||
@@ -79,7 +79,7 @@ struct RenderSpotLightData : RenderLightData
|
||||
|
||||
GPUTexture* IESTexture;
|
||||
|
||||
void SetupLightData(LightData* data, bool useShadow) const;
|
||||
void SetupLightData(ShaderLightData* data, bool useShadow) const;
|
||||
};
|
||||
|
||||
struct RenderPointLightData : RenderLightData
|
||||
@@ -93,7 +93,7 @@ struct RenderPointLightData : RenderLightData
|
||||
|
||||
GPUTexture* IESTexture;
|
||||
|
||||
void SetupLightData(LightData* data, bool useShadow) const;
|
||||
void SetupLightData(ShaderLightData* data, bool useShadow) const;
|
||||
};
|
||||
|
||||
struct RenderSkyLightData : RenderLightData
|
||||
@@ -103,7 +103,7 @@ struct RenderSkyLightData : RenderLightData
|
||||
|
||||
CubeTexture* Image;
|
||||
|
||||
void SetupLightData(LightData* data, bool useShadow) const;
|
||||
void SetupLightData(ShaderLightData* data, bool useShadow) const;
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
PACK_STRUCT(struct Data
|
||||
{
|
||||
GBufferData GBuffer;
|
||||
ShaderGBufferData GBuffer;
|
||||
|
||||
float MaxColorMiplevel;
|
||||
float TraceSizeMax;
|
||||
|
||||
@@ -19,9 +19,9 @@
|
||||
#define PointLight_NearPlane 10.0f
|
||||
|
||||
PACK_STRUCT(struct Data{
|
||||
GBufferData GBuffer;
|
||||
LightData Light;
|
||||
LightShadowData LightShadow;
|
||||
ShaderGBufferData GBuffer;
|
||||
ShaderLightData Light;
|
||||
ShaderLightShadowData LightShadow;
|
||||
Matrix WVP;
|
||||
Matrix ViewProjectionMatrix;
|
||||
Float2 Dummy0;
|
||||
|
||||
@@ -47,7 +47,7 @@ private:
|
||||
int32 ContextIndex;
|
||||
int32 ContextCount;
|
||||
bool BlendCSM;
|
||||
LightShadowData Constants;
|
||||
ShaderLightShadowData Constants;
|
||||
};
|
||||
|
||||
// Shader stuff
|
||||
@@ -91,7 +91,7 @@ public:
|
||||
// TODO: use full scene shadow map atlas with dynamic slots allocation
|
||||
int32 LastDirLightIndex = -1;
|
||||
GPUTextureView* LastDirLightShadowMap = nullptr;
|
||||
LightShadowData LastDirLight;
|
||||
ShaderLightShadowData LastDirLight;
|
||||
|
||||
public:
|
||||
void Prepare();
|
||||
|
||||
@@ -263,7 +263,7 @@ GPUTextureView* VolumetricFogPass::GetLocalShadowedLightScattering(RenderContext
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
void VolumetricFogPass::RenderRadialLight(RenderContext& renderContext, GPUContext* context, T& light, LightShadowData& shadow)
|
||||
void VolumetricFogPass::RenderRadialLight(RenderContext& renderContext, GPUContext* context, T& light, ShaderLightShadowData& shadow)
|
||||
{
|
||||
// Prepare
|
||||
VolumetricFogOptions options;
|
||||
@@ -387,7 +387,7 @@ void VolumetricFogPass::RenderRadialLight(RenderContext& renderContext, GPUConte
|
||||
}
|
||||
}
|
||||
|
||||
void VolumetricFogPass::RenderLight(RenderContext& renderContext, GPUContext* context, RenderPointLightData& light, GPUTextureView* shadowMap, LightShadowData& shadow)
|
||||
void VolumetricFogPass::RenderLight(RenderContext& renderContext, GPUContext* context, RenderPointLightData& light, GPUTextureView* shadowMap, ShaderLightShadowData& shadow)
|
||||
{
|
||||
// Skip lights with no volumetric light influence or not casting volumetric shadow
|
||||
if (light.VolumetricScatteringIntensity <= ZeroTolerance || !light.CastVolumetricShadow)
|
||||
@@ -401,7 +401,7 @@ void VolumetricFogPass::RenderLight(RenderContext& renderContext, GPUContext* co
|
||||
context->UnBindSR(5);
|
||||
}
|
||||
|
||||
void VolumetricFogPass::RenderLight(RenderContext& renderContext, GPUContext* context, RenderSpotLightData& light, GPUTextureView* shadowMap, LightShadowData& shadow)
|
||||
void VolumetricFogPass::RenderLight(RenderContext& renderContext, GPUContext* context, RenderSpotLightData& light, GPUTextureView* shadowMap, ShaderLightShadowData& shadow)
|
||||
{
|
||||
// Skip lights with no volumetric light influence or not casting volumetric shadow
|
||||
if (light.VolumetricScatteringIntensity <= ZeroTolerance || !light.CastVolumetricShadow)
|
||||
|
||||
@@ -36,7 +36,7 @@ private:
|
||||
});
|
||||
|
||||
PACK_STRUCT(struct Data {
|
||||
GBufferData GBuffer;
|
||||
ShaderGBufferData GBuffer;
|
||||
|
||||
Float3 GlobalAlbedo;
|
||||
float GlobalExtinctionScale;
|
||||
@@ -62,8 +62,8 @@ private:
|
||||
|
||||
Float4 FrameJitterOffsets[8];
|
||||
|
||||
LightData DirectionalLight;
|
||||
LightShadowData DirectionalLightShadow;
|
||||
ShaderLightData DirectionalLight;
|
||||
ShaderLightShadowData DirectionalLightShadow;
|
||||
SkyLightData SkyLight;
|
||||
DynamicDiffuseGlobalIlluminationPass::ConstantsData DDGI;
|
||||
});
|
||||
@@ -76,8 +76,8 @@ private:
|
||||
Float4 ViewSpaceBoundingSphere;
|
||||
Matrix ViewToVolumeClip;
|
||||
|
||||
LightData LocalLight;
|
||||
LightShadowData LocalLightShadow;
|
||||
ShaderLightData LocalLight;
|
||||
ShaderLightShadowData LocalLightShadow;
|
||||
});
|
||||
|
||||
// Shader stuff
|
||||
@@ -156,7 +156,7 @@ public:
|
||||
/// <param name="light">The light.</param>
|
||||
/// <param name="shadowMap">The shadow map.</param>
|
||||
/// <param name="shadow">The light shadow data.</param>
|
||||
void RenderLight(RenderContext& renderContext, GPUContext* context, RenderPointLightData& light, GPUTextureView* shadowMap, LightShadowData& shadow);
|
||||
void RenderLight(RenderContext& renderContext, GPUContext* context, RenderPointLightData& light, GPUTextureView* shadowMap, ShaderLightShadowData& shadow);
|
||||
|
||||
/// <summary>
|
||||
/// Renders the light to the volumetric fog light scattering volume texture. Called by the light pass after shadow map rendering. Used by the shadows casting lights.
|
||||
@@ -166,7 +166,7 @@ public:
|
||||
/// <param name="light">The light.</param>
|
||||
/// <param name="shadowMap">The shadow map.</param>
|
||||
/// <param name="shadow">The light shadow data.</param>
|
||||
void RenderLight(RenderContext& renderContext, GPUContext* context, RenderSpotLightData& light, GPUTextureView* shadowMap, LightShadowData& shadow);
|
||||
void RenderLight(RenderContext& renderContext, GPUContext* context, RenderSpotLightData& light, GPUTextureView* shadowMap, ShaderLightShadowData& shadow);
|
||||
|
||||
/// <summary>
|
||||
/// Renders the volumetric fog (generates integrated light scattering 3D texture). Does nothing if feature is disabled or not supported.
|
||||
@@ -180,7 +180,7 @@ private:
|
||||
GPUTextureView* GetLocalShadowedLightScattering(RenderContext& renderContext, GPUContext* context, VolumetricFogOptions& options) const;
|
||||
void InitCircleBuffer();
|
||||
template<typename T>
|
||||
void RenderRadialLight(RenderContext& renderContext, GPUContext* context, T& light, LightShadowData& shadow);
|
||||
void RenderRadialLight(RenderContext& renderContext, GPUContext* context, T& light, ShaderLightShadowData& shadow);
|
||||
template<typename T>
|
||||
void RenderRadialLight(RenderContext& renderContext, GPUContext* context, RenderView& view, VolumetricFogOptions& options, T& light, PerLight& perLight, GPUConstantBuffer* cb1);
|
||||
#if COMPILE_WITH_DEV_ENV
|
||||
|
||||
Reference in New Issue
Block a user