Fix vulkan proximity fade
Vulkan uses different normalized device coordinates than OpenGL.
This commit is contained in:
parent
8c162f4a7b
commit
791773fa9d
|
@ -1100,7 +1100,7 @@ void BaseMaterial3D::_update_shader() {
|
|||
|
||||
if (proximity_fade_enabled) {
|
||||
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 += " ALPHA*=clamp(1.0-smoothstep(world_pos.z+proximity_fade_distance,world_pos.z,VERTEX.z),0.0,1.0);\n";
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue