Improve the appearance of simple parallax in SpatialMaterial
This uses offset limiting to avoid distortion in the distance, and makes simple (non-deep) parallax more usable overall.
This commit is contained in:
parent
a05aefb74b
commit
cc2b6acbd2
1 changed files with 3 additions and 1 deletions
|
@ -776,7 +776,9 @@ void SpatialMaterial::_update_shader() {
|
|||
|
||||
} else {
|
||||
code += "\t\tfloat depth = texture(texture_depth, base_uv).r;\n";
|
||||
code += "\t\tvec2 ofs = base_uv - view_dir.xy / view_dir.z * (depth * depth_scale);\n";
|
||||
// Use offset limiting to improve the appearance of non-deep parallax.
|
||||
// This reduces the impression of depth, but avoids visible warping in the distance.
|
||||
code += "\t\tvec2 ofs = base_uv - view_dir.xy * depth * depth_scale;\n";
|
||||
}
|
||||
|
||||
code += "\t\tbase_uv=ofs;\n";
|
||||
|
|
Loading…
Reference in a new issue