mirror of
https://github.com/X0nk/Bliss-Shader.git
synced 2026-10-10 05:03:04 +08:00
fix end lightning ignoring sky lightmap on translucents
This commit is contained in:
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user