mirror of
https://github.com/Merlin1809/Eclipse-Shader.git
synced 2026-10-11 17:58:20 +08:00
fix crash on Intel GPUs
This commit is contained in:
1 parent
2e0a04dd97
commit
6bfc8e03a8
3 files changed
+7
-5
No files matched your search
@@ -114,6 +114,7 @@ uniform int heldItemId2;
|
||||
#endif
|
||||
|
||||
#ifdef IS_LPV_ENABLED
|
||||
#include "/lib/lpv_blocks.glsl"
|
||||
#include "/lib/lpv_common.glsl"
|
||||
#include "/lib/lpv_render.glsl"
|
||||
#endif
|
||||
|
||||
@@ -141,6 +141,7 @@ uniform sampler2D colortex4;
|
||||
uniform sampler3D texLpv2;
|
||||
|
||||
#include "/lib/hsv.glsl"
|
||||
#include "/lib/lpv_blocks.glsl"
|
||||
#include "/lib/lpv_common.glsl"
|
||||
#include "/lib/lpv_render.glsl"
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
if(hand) return 1.0;
|
||||
|
||||
vec3 WlightDir = normalize((gbufferModelViewInverse*vec4(lightDir, 1.0)).xyz);
|
||||
vec3 WlightDir = normalize((gbufferModelViewInverse*vec4(lightDir, 1.0)) .xyz);
|
||||
|
||||
float NdotL = dot(normals, WlightDir);
|
||||
NdotL = smoothstep(0.0, 0.2, abs(NdotL));
|
||||
@@ -75,15 +75,15 @@
|
||||
vec3 lightFinal = vec3(0.0);
|
||||
vec3 lightColor = vec3(0.0);
|
||||
|
||||
uvec2 blockData = texelFetch(texBlockData, itemId, 0).rg;
|
||||
vec4 lightColorRange = unpackUnorm4x8(blockData.r);
|
||||
uint blockData = imageLoad(imgBlockData, itemId).r;
|
||||
vec4 lightColorRange = unpackUnorm4x8(blockData);
|
||||
lightColor = srgbToLinear(lightColorRange.rgb);
|
||||
lightRange = lightColorRange.a * 255.0;
|
||||
|
||||
if (lightRange > 0.0) {
|
||||
float lightDist = length(playerPos+relativeEyePosition);
|
||||
// vec3 lightDir = playerPos / lightDist;
|
||||
float NoL = 1.0;//max(dot(normal, lightDir), 0.0);
|
||||
const float NoL = 1.0;//max(dot(normal, lightDir), 0.0);
|
||||
float falloff = pow(1.0 - lightDist / lightRange, 3.0);
|
||||
lightFinal = lightColor * NoL * max(falloff, 0.0);
|
||||
}
|
||||
@@ -118,7 +118,7 @@ vec3 doBlockLightLighting(
|
||||
// vec3 lpvBlockLight = GetLpvBlockLight(lpvSample);
|
||||
|
||||
// create a smooth falloff at the edges of the voxel volume.
|
||||
float fadeLength = 10.0; // in meters
|
||||
const float fadeLength = 10.0; // in meters
|
||||
vec3 cubicRadius = clamp(min(((LpvSize3-1.0) - lpvPos)/fadeLength, lpvPos/fadeLength), 0.0, 1.0);
|
||||
float voxelRangeFalloff = cubicRadius.x*cubicRadius.y*cubicRadius.z;
|
||||
voxelRangeFalloff = 1.0 - pow(1.0-pow(voxelRangeFalloff,1.5),3.0);
|
||||
|
||||
Reference in new issue
Block a user