fix end lightning ignoring sky lightmap on translucents

This commit is contained in:
Xonk
2026-08-17 22:09:42 -04:00
parent c765540542
commit 4b9e25d1fc
3 changed files with 5 additions and 5 deletions
+1 -1
View File
@@ -686,7 +686,7 @@ if (gl_FragCoord.x * texelSize.x < 1.0 && gl_FragCoord.y * texelSize.y < 1.0 )
float fogShadow = GetEndFogShadow(feetPlayerPos+cameraPosition, lightPos); float fogShadow = GetEndFogShadow(feetPlayerPos+cameraPosition, lightPos);
float endPhase = endFogPhase(lightPos); float endPhase = endFogPhase(lightPos);
Direct_lighting += lightColors * endPhase * end_NdotL * fogShadow; Direct_lighting += pow(lightmap.y,5) *lightColors * endPhase * end_NdotL * fogShadow;
vec3 AmbientLightColor = vec3(0.3,0.6,1.0); vec3 AmbientLightColor = vec3(0.3,0.6,1.0);
+1 -1
View File
@@ -1106,7 +1106,7 @@ void main() {
float lightningflash = 0.0; float lightningflash = 0.0;
vec3 lightPos = LightSourcePosition(feetPlayerPos+cameraPosition, cameraPosition,vortexBounds, lightningflash); vec3 lightPos = LightSourcePosition(feetPlayerPos+cameraPosition, cameraPosition,vortexBounds, lightningflash);
vec3 lightColors = pow(lightmap.y,8) * LightSourceColors(vortexBounds, lightningflash); vec3 lightColors = pow(lightmap.y,5) * LightSourceColors(vortexBounds, lightningflash);
float end_NdotL = clamp(dot(slopednormal, normalize(-lightPos))*0.5+0.5,0.0,1.0); float end_NdotL = clamp(dot(slopednormal, normalize(-lightPos))*0.5+0.5,0.0,1.0);
end_NdotL *= end_NdotL; end_NdotL *= end_NdotL;
+3 -3
View File
@@ -95,7 +95,7 @@ vec3 LightSourcePosition(vec3 worldPos, vec3 cameraPos, float vortexBounds, out
#ifdef THE_ORB #ifdef THE_ORB
cellSize = 200.0; cellSize = 200.0;
vec3 orbpos = (worldPos - cameraPos - ManualLightPos) - lightningBoltPos; vec3 orbpos = (worldPos - cameraPos - ManualLightPos);
orbpos += fract(cameraPos/cellSize)*cellSize - cellSize*0.5; orbpos += fract(cameraPos/cellSize)*cellSize - cellSize*0.5;
return orbpos; return orbpos;
@@ -119,7 +119,7 @@ vec3 LightSourcePosition_VL(vec3 worldPos, vec3 cameraPos, vec3 lightningBoltPos
#ifdef THE_ORB #ifdef THE_ORB
cellSize = 200.0; cellSize = 200.0;
// vec3 orbpos = worldPos - cameraPos - ManualLightPos;// - vec3(sin(frameTimeCounter), cos(frameTimeCounter), cos(frameTimeCounter))*100; // vec3 orbpos = worldPos - cameraPos - ManualLightPos;// - vec3(sin(frameTimeCounter), cos(frameTimeCounter), cos(frameTimeCounter))*100;
vec3 orbpos = (worldPos - cameraPos - ManualLightPos) - lightningBoltPos;// - vec3(sin(frameTimeCounter), cos(frameTimeCounter), cos(frameTimeCounter))*100; vec3 orbpos = (worldPos - cameraPos - ManualLightPos);// - vec3(sin(frameTimeCounter), cos(frameTimeCounter), cos(frameTimeCounter))*100;
orbpos += fract(cameraPos/cellSize)*cellSize - cellSize*0.5; orbpos += fract(cameraPos/cellSize)*cellSize - cellSize*0.5;
return orbpos; return orbpos;
@@ -225,7 +225,7 @@ vec3 LightSourceColors(float vortexBounds, float lightningflash){
vec3 lightningColor = vec3(END_LIGHTNING_COL_R,END_LIGHTNING_COL_G,END_LIGHTNING_COL_B) * lightningflash; vec3 lightningColor = vec3(END_LIGHTNING_COL_R,END_LIGHTNING_COL_G,END_LIGHTNING_COL_B) * lightningflash;
#ifdef THE_ORB #ifdef THE_ORB
return vec3(ORB_R, ORB_G, ORB_B) * ORB_ColMult * lightningflash; return vec3(ORB_R, ORB_G, ORB_B) * ORB_ColMult;
#else #else
return mix(lightningColor, vortexColor, vortexBounds); return mix(lightningColor, vortexColor, vortexBounds);
#endif #endif