Skip to content

Disabling depth prepass in the Project Settings breaks opaque material rendering #82860

Closed
@Calinou

Description

@Calinou

Godot version

4.0.stable, 4.1.1.stable, 4.2.dev fe8a58b

System information

Godot v4.2.dev (fe8a58b) - Fedora Linux 38 (KDE Plasma) - X11 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 4090 (nvidia; 535.113.01) - 13th Gen Intel(R) Core(TM) i9-13900K (32 Threads)

Issue description

Disabling depth prepass in the Project Settings breaks opaque material rendering. All opaque objects will no longer be rendered until the project is reloaded.

This occurs both in the editor and running project (if toggling the project setting's value with a script).

simplescreenrecorder-2023-10-05_17.55.33.mp4

Steps to reproduce

  • Use the Forward+ rendering method. (I can't reproduce this when using the Compatibility rendering method, but toggling the setting makes no performance difference there. Does the setting have an effect when using Compatibility?)
  • Disable Rendering > Driver > Depth Prepass > Enable in the Project Settings, or use the following in a script:
ProjectSettings.set_setting("rendering/driver/depth_prepass/enable", not bool(ProjectSettings.get_setting("rendering/driver/depth_prepass/enable")))

Minimal reproduction project

test_depth_prepass.zip

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions