Rename shader light variables to Udon-prefixed versions

Updated all relevant shader files and C# script to use Udon-prefixed light and player variables (e.g., _Udon_LightPositions, _Udon_LightColors, _Udon_PlayerCount) for consistency and to avoid naming conflicts. This change affects variable declarations, macro definitions, and all usages in BlendinShader, LitParticles, Water shaders, and included HLSL files.
This commit is contained in:
DeMuenu
2025-09-26 23:13:06 +02:00
parent 7189afee7b
commit b94c52da3c
7 changed files with 37 additions and 38 deletions

View File

@@ -1,8 +1,8 @@
#ifndef InLoopSetup
#define InLoopSetup(_LightPositions, LightCounter, count, i) \
#define InLoopSetup(_Udon_LightPositions, LightCounter, count, i) \
if (LightCounter >= count) break; \
\
float distanceFromLight = length(i.worldPos - _LightPositions[LightCounter].xyz); \
float distanceFromLight = length(i.worldPos - _Udon_LightPositions[LightCounter].xyz); \
if (distanceFromLight > _LightCutoffDistance) continue; \
\
float contrib = 0.0;
@@ -10,8 +10,8 @@
#endif
#ifndef OutLoopSetup
#define OutLoopSetup(i, _PlayerCount) \
int count = (int)_PlayerCount; \
#define OutLoopSetup(i, _Udon_PlayerCount) \
int count = (int)_Udon_PlayerCount; \
\
float4 dmax = float4(0,0,0,1); \
float dIntensity = 0;

View File

@@ -1,25 +1,25 @@
#ifndef LightTypeCalculations
#define LightTypeCalculations(_LightColors ,LightCounter, i, NdotL, dIntensity, radius, Lightposition) \
#define LightTypeCalculations(_Udon_LightColors ,LightCounter, i, NdotL, dIntensity, radius, Lightposition) \
float invSqMul = max(1e-4, _InverseSqareMultiplier); \
\
if(_LightType[LightCounter] == 0) \
if(_Udon_LightType[LightCounter] == 0) \
{ \
contrib = _LightColors[LightCounter].a / max(1e-4, max(0, max(1, distanceFromLight - radius) * invSqMul) * max(0, max(1, distanceFromLight - radius) * invSqMul)); \
contrib = _Udon_LightColors[LightCounter].a / max(1e-4, max(0, max(1, distanceFromLight - radius) * invSqMul) * max(0, max(1, distanceFromLight - radius) * invSqMul)); \
\
dIntensity += contrib * NdotL; \
} \
else if (_LightType[LightCounter] == 1) \
else if (_Udon_LightType[LightCounter] == 1) \
{ \
float invSq = _LightColors[LightCounter].a / max(1e-4, (distanceFromLight * invSqMul) * (distanceFromLight * invSqMul)); \
float threshold = (-1 + _LightDirections[LightCounter].w / 180); \
float invSq = _Udon_LightColors[LightCounter].a / max(1e-4, (distanceFromLight * invSqMul) * (distanceFromLight * invSqMul)); \
float threshold = (-1 + _Udon_LightDirections[LightCounter].w / 180); \
\
contrib = min(dot(normalize(i.worldPos - Lightposition), -normalize(_LightDirections[LightCounter].xyz)), 0); \
contrib = min(dot(normalize(i.worldPos - Lightposition), -normalize(_Udon_LightDirections[LightCounter].xyz)), 0); \
contrib= 1 - step(threshold, contrib); \
\
contrib = contrib * invSq; \
dIntensity += contrib * NdotL; \
} \
float3 LightColor = _LightColors[LightCounter].xyz; \
float3 LightColor = _Udon_LightColors[LightCounter].xyz; \
#endif

View File

@@ -2,13 +2,12 @@
#define MoonlightGlobalVariables \
\
float _InverseSqareMultiplier; \
float _LightCutoffDistance; \
float _LightCutoffDistance; \
\
float4 _LightPositions[MAX_LIGHTS]; /* xyz = position */ \
float4 _LightColors[MAX_LIGHTS]; /* xyz = position */ \
float4 _LightDirections[MAX_LIGHTS]; /* xyz = direction, w = cos(halfAngle) */ \
float _LightType[MAX_LIGHTS]; /* 0 = sphere, 1 = cone */ \
float _PlayerCount; /* set via SetFloat */ \
\
float4 _Udon_LightPositions[MAX_LIGHTS]; /* xyz = position */ \
float4 _Udon_LightColors[MAX_LIGHTS]; /* xyz = position */ \
float4 _Udon_LightDirections[MAX_LIGHTS]; /* xyz = direction, w = cos(halfAngle) */ \
float _Udon_LightType[MAX_LIGHTS]; /* 0 = sphere, 1 = cone */ \
float _Udon_PlayerCount; /* set via SetFloat */ \
#endif