Miniature view of the scene appears at specific viewport camera angle, clip start/end and with Shadows active #122008

Open
opened 2024-05-20 14:48:57 +02:00 by Stefano Bonicatti · 7 comments

System Information
Operating system: ArchLinux
Graphics card: NVIDIA RTX 3090

Blender Version
Broken: Blender 4.0.0 (878f71061b), 4.1.1 (e1743a0317), 4.2.0 alpha (14233be92f)
Worked: 3.6.12 (626a6b1c67), see Additional Info

Short description of error
A strange artifact that seems to correspond to a miniature view of the scene I'm working on appears in the shadow at very specific camera angles, with clip start = 0.001m and clip end = 100m and shadows active.

image

Exact steps for others to reproduce the error

  1. From a new scene, enable Shadows in the Viewport Shading
  2. In the N panel, View tab, set Clip Start to 0.001m and Clip End to 100m
  3. Select the side faces and the bottom face of the default cube and flip the normals (the idea is that this is a room)
  4. Cut a hole in one of the side faces (make it big, this helps seeing the issue more easily)
  5. Move yourself inside the cube
  6. Start slowing rotating around and look at the floor, changing also the pitch of the camera, up and down, until you'll see a square artifact flickering in and out (the shape corresponds to the hole you just made)

Attached a video (using Blender 4.2.0 alpha) to show how to reproduce/what to search for. At second 56 the flickering starts at the top, but unfortunately I did not see it, but later I'll find it. I'll also increase the size of the hole and show that it makes it slightly more visible.

I also have the blend file I was working on already pointed to the issue (please don't judge my hastily thrown together walls xD).
The camera is already pointed at the problem and if you zoom in and out, different pieces of the room appear or disappear in that miniature render.

Additional info

  • If you disable the shadow, the artifact goes away
  • If you change the Clip Start by a little (like a 0.001) the artifact seems to go away, but if you slightly rotate the camera again, it will appear again
  • I tested the 3.6.12 version and on the described/very specific conditions I could not see the artifact. Not sure though if this is really an indication that the issue wasn't there or not, but I figured I put it anyway.
**System Information** Operating system: ArchLinux Graphics card: NVIDIA RTX 3090 **Blender Version** Broken: Blender 4.0.0 (878f71061b8e), 4.1.1 (e1743a0317bc), 4.2.0 alpha (14233be92f91) Worked: 3.6.12 (626a6b1c6799), see Additional Info **Short description of error** A strange artifact that seems to correspond to a miniature view of the scene I'm working on appears in the shadow at very specific camera angles, with clip start = 0.001m and clip end = 100m and shadows active. ![image](/attachments/2761fb0f-7f13-4647-a803-dc412c20a4e6) **Exact steps for others to reproduce the error** 1. From a new scene, enable Shadows in the Viewport Shading 2. In the N panel, View tab, set Clip Start to 0.001m and Clip End to 100m 3. Select the side faces and the bottom face of the default cube and flip the normals (the idea is that this is a room) 4. Cut a hole in one of the side faces (make it big, this helps seeing the issue more easily) 5. Move yourself inside the cube 6. Start slowing rotating around and look at the floor, changing also the pitch of the camera, up and down, until you'll see a square artifact flickering in and out (the shape corresponds to the hole you just made) Attached a video (using Blender 4.2.0 alpha) to show how to reproduce/what to search for. At second 56 the flickering starts at the top, but unfortunately I did not see it, but later I'll find it. I'll also increase the size of the hole and show that it makes it slightly more visible. I also have the blend file I was working on already pointed to the issue (please don't judge my hastily thrown together walls xD). The camera is already pointed at the problem and if you zoom in and out, different pieces of the room appear or disappear in that miniature render. **Additional info** - If you disable the shadow, the artifact goes away - If you change the Clip Start by a little (like a 0.001) the artifact seems to go away, but if you slightly rotate the camera again, it will appear again - I tested the 3.6.12 version and on the described/very specific conditions I could not see the artifact. Not sure though if this is really an indication that the issue wasn't there or not, but I figured I put it anyway.
Stefano Bonicatti added the
Status
Needs Triage
Type
Report
Priority
Normal
labels 2024-05-20 14:48:57 +02:00
Member

Can confirm that this only happens when near clipping is relatively small. If it's bigger then I can't make it to show.

Can confirm that this only happens when near clipping is relatively small. If it's bigger then I can't make it to show.
YimingWu added
Module
EEVEE & Viewport
Status
Confirmed
Interest
EEVEE
and removed
Status
Needs Triage
labels 2024-05-21 06:47:04 +02:00

Did it happen in 4.0? I think it might be related to Workbench Next becoming default in this release.

Also, it doesn't seem to be an EEVEE specific issue. So removing the tag.

Did it happen in 4.0? I think it might be related to Workbench Next becoming default in this release. Also, it doesn't seem to be an EEVEE specific issue. So removing the tag.
Clément Foucault added
Interest
Workbench
and removed
Interest
EEVEE
labels 2024-05-21 11:38:56 +02:00

Did it happen in 4.0? I think it might be related to Workbench Next becoming default in this release.

I loaded up my room scene in 4.0.0 now and the same issue is present (I've updated the description too)
EDIT: Also corrected the hash for 3.6.12. I inadvertently tested with an RC. I retested now with the stable release, the result is the same (no artifact).

> Did it happen in 4.0? I think it might be related to Workbench Next becoming default in this release. I loaded up my room scene in 4.0.0 now and the same issue is present (I've updated the description too) EDIT: Also corrected the hash for 3.6.12. I inadvertently tested with an RC. I retested now with the stable release, the result is the same (no artifact).

Don't know if it's useful, but while I was messing to see if I could find anything else interesting, I can see that in the Viewport Shading panel, when going in the Shadow options and changing the light direction, the "miniature" moves with it (and also sometimes changes what's visible in it).

Don't know if it's useful, but while I was messing to see if I could find anything else interesting, I can see that in the Viewport Shading panel, when going in the Shadow options and changing the light direction, the "miniature" moves with it (and also sometimes changes what's visible in it).

Might be the end caps of the shadows stencil being out of view or something like that. cc @pragma37

Might be the end caps of the shadows stencil being out of view or something like that. cc @pragma37
Member

I think this is just a precision issue, causing the stencil shadow surface to overlap the far plane.
Increasing the offset from the far plane in workbench_shadow_vert to 1e-1 fixes it for this case, but setting a smaller clip start will show the issue again.

So, I'm tagging this as a known limitation.
Having such a low clip start is going to cause issues in other places too.
We even have a manual page explaining this:
https://docs.blender.org/manual/en/latest/troubleshooting/3d_view.html#troubleshooting-depth

I think this is just a precision issue, causing the stencil shadow surface to overlap the far plane. Increasing the offset from the far plane in `workbench_shadow_vert` to 1e-1 fixes it for this case, but setting a smaller clip start will show the issue again. So, I'm tagging this as a known limitation. Having such a low clip start is going to cause issues in other places too. We even have a manual page explaining this: https://docs.blender.org/manual/en/latest/troubleshooting/3d_view.html#troubleshooting-depth
Miguel Pozo added
Type
Known Issue
and removed
Type
Report
labels 2024-06-11 17:17:37 +02:00

I see; I'm aware of the precision issues for large ranges (which is the one described on the wiki afaik), but I figured that starting from the default clip range that is 0.01 to 1000 and dividing it by 10 would still somewhat keep the same range.
I know that past to a certain point, just for general float precision issues, any value lower than X would cause issues, but I wasn't aware that 0.001 was already too much.

Something I've tried just now is also to further reduce the far plane to 10m, and the "miniature" is bigger now, so the artifact is still there; seems to go away either if I go down to 1m on the far plane, or back to 0.01 on the near.

I see; I'm aware of the precision issues for large ranges (which is the one described on the wiki afaik), but I figured that starting from the default clip range that is 0.01 to 1000 and dividing it by 10 would still somewhat keep the same range. I know that past to a certain point, just for general float precision issues, any value lower than X would cause issues, but I wasn't aware that 0.001 was already too much. Something I've tried just now is also to further reduce the far plane to 10m, and the "miniature" is bigger now, so the artifact is still there; seems to go away either if I go down to 1m on the far plane, or back to 0.01 on the near.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset System
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Asset Browser Project
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#122008
No description provided.