summaryrefslogtreecommitdiffstats
path: root/brdf.cginc
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2026-07-20 18:19:07 -0700
committeryum <yum.food.vr@gmail.com>2026-07-20 18:19:07 -0700
commit0aa2636033ce27156c387b5cfbb19ed4ca29d12a (patch)
tree12f03b580cf6881dc747f2e3e7c5a7291067f120 /brdf.cginc
parentb7d6ad400c41fcc0608e2dc15ec45d3692d82f16 (diff)
Clanker light volumes fixes
Diffstat (limited to 'brdf.cginc')
-rwxr-xr-xbrdf.cginc14
1 files changed, 13 insertions, 1 deletions
diff --git a/brdf.cginc b/brdf.cginc
index 75eb295..22e0de9 100755
--- a/brdf.cginc
+++ b/brdf.cginc
@@ -7,6 +7,7 @@
#include "pema99.cginc"
#include "pbr.cginc"
#include "glitter.cginc"
+#include "poi.cginc"
float pow5(float x) {
float x2 = x * x;
@@ -284,9 +285,20 @@ float4 brdf(v2f i, Pbr pbr, LightData data, out BrdfData bd) {
{
[branch]
if (_UdonLightVolumeEnabled) {
- specular += LightVolumeSpecular(pbr.albedo.xyz, pbr.smoothness,
+ float3 light_volume_specular = LightVolumeSpecular(pbr.albedo.xyz, pbr.smoothness,
pbr.metallic, pbr.normal, data.common.V, data.indirect.L00,
data.indirect.L01r, data.indirect.L01g, data.indirect.L01b);
+
+#if defined(_BRIGHTNESS_CLAMP)
+ float3 light_volume_specular_hsv = RGBtoHSV(light_volume_specular);
+ light_volume_specular_hsv[2] = clamp(light_volume_specular_hsv[2], 0, _Brightness_Clamp_Max);
+ light_volume_specular = HSVtoRGB(light_volume_specular_hsv);
+#endif
+#if defined(_BRIGHTNESS_MULTIPLIER)
+ light_volume_specular *= _Brightness_Multiplier;
+#endif
+
+ specular += light_volume_specular;
}
}
#endif