Fix vulkan proximity fade
Vulkan uses different normalized device coordinates than OpenGL.
This commit is contained in:
parent
8c162f4a7b
commit
791773fa9d
1 changed files with 1 additions and 1 deletions
|
@ -1100,7 +1100,7 @@ void BaseMaterial3D::_update_shader() {
|
||||||
|
|
||||||
if (proximity_fade_enabled) {
|
if (proximity_fade_enabled) {
|
||||||
code += " float depth_tex = textureLod(DEPTH_TEXTURE,SCREEN_UV,0.0).r;\n";
|
code += " float depth_tex = textureLod(DEPTH_TEXTURE,SCREEN_UV,0.0).r;\n";
|
||||||
code += " vec4 world_pos = INV_PROJECTION_MATRIX * vec4(SCREEN_UV*2.0-1.0,depth_tex*2.0-1.0,1.0);\n";
|
code += " vec4 world_pos = INV_PROJECTION_MATRIX * vec4(SCREEN_UV*2.0-1.0,depth_tex,1.0);\n";
|
||||||
code += " world_pos.xyz/=world_pos.w;\n";
|
code += " world_pos.xyz/=world_pos.w;\n";
|
||||||
code += " ALPHA*=clamp(1.0-smoothstep(world_pos.z+proximity_fade_distance,world_pos.z,VERTEX.z),0.0,1.0);\n";
|
code += " ALPHA*=clamp(1.0-smoothstep(world_pos.z+proximity_fade_distance,world_pos.z,VERTEX.z),0.0,1.0);\n";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue