New auto smooth creates artifacts with flat shaded faces(BI) #39735
Labels
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
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
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
6 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#39735
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
System Information
13.10 ubuntu - nvidia 470gtx
Windows 7 - nvidia 570
Blender Version
Broken: Hash:
2ab9a0f
Short description of error
Check the attached picture.
Turning on "Auto Smooth" under object option generate some weird thin artifacts around flatten faces, this happens only at render time(viewport preview or final render) using blender internal, cycles works fine.
Exact steps for others to reproduce the error
1- open attached .blend
2- start any render
from scratch
1- add a monkey
2- add a subsurf modifier
3- switch to blender internal and start viewport render
4- turn on auto smooth
5- look close
referen image
auto_smooth_-_shade_flat.blend blend file
Changed status to: 'Open'
Added subscriber: @NahuelBelich
by the way, an off topic
don't know way that "2-start any render" its bold and bigger and i cant edit my reports, the site doesn't allow me
Added subscriber: @willi-2
Additional info: Same problem with edge split modifier, also after applying modifier. At least back to Blender 2.63
Note: After triangulating the quads, the error disappears. After Alt+J to create quads from tris again, the error is still gone! (Maybe something to do with tesselation and vertex order?)
(About 2-, it’s because you had '------' just below, phabricator uses some remarkup-like syntax ;) ).
Could not reproduce it from scratch, but can confirm it with your file… Note however issue is the same with old autosmooth of BI (you can verify it with official 2.70a). Probably some float precision issue? Will try to investigate.
Added subscriber: @daveh
Not sure if this is the same bug, but I have found most of the primatives, and I suspect every object has one badly shaded face. At first I thought it was flat shaded, but on closer examination, I think it is smooth shaded with the direction reversed from the rest of the mesh.
http://blenderartists.org/forum/showthread.php?318765-Blender-2-7x-development-thread&p=2625611&viewfull=1#post2625611
@daveh: other bug, please make a new bug report (one bug per report). :)
@daveh: fixed as
a7120b9730
.@mont thanks for the tip about "---" ill take didn't know about it ^^, and also for the fix, ill test it as soon as i get a new version from builder or graphic all.
@NahuelBelich arg! That’s why we need one bug, one report! I fixed issue reported by @daveh, not the one you reported… :/
Added subscriber: @brecht
Grmll… I had the idea this was some kind of precision glitch, and thought offsetting slightly split vertices would do the trick. So I spent two hours writing following patch, but it changes nearly nothing. :(
P42: #39735
Brecht, I’d like to summon you here, I do not know BI well enough to understand fully what happens, and how to fix this, if possible!
Blender Internal's raytracer depends on face adjacency tests to avoid some types of self intersection (where the ray starts from some face but due to precision issues intersects the face itself). If the edges are split that check is no longer possible. It seems the edgesplit modifier suffers from the same issue.
I'm not sure what to suggest, either this self intersection system needs to be revised, or you should store the normals in such a way that face adjacency does not change. This bug is as old as raytracing in Blender, not really related to the new autosmooth.
Thanks for the hint, Brecht. Here is a working patch:
P44: #39735
Basic idea is, when autosmooth is enabled, to use orgidx for verts.
Then, when this data is available and both vertices pointers are not the same, we do an extra check over those org indices, which allows us to address the split vertices case.
Notes:
RE_vertren_get_origindex()
inrayobject.cpp
considered valid?Note I also had to tweak slightly the RE_RAYTRACE_EPSILON value, else I still get a few black dots in this file: untitled2.blend.
RE_vertren_get_origindex
here should be fine.Increasing RE_RAYTRACE_EPSILON gives light leaks, it's a tradeoff between that and self intersections. I don't know how significant the light leaks will be with 1e-7 in practice. This stuff has been tweaked for various bug fixes over the years if you look in the git history, you could test the files from those bugfixes to see if it breaks them.
Thanks for quick review and advices, Brecht. Will finish that asap.
This issue was referenced by blender/blender-addons-contrib@3de8f255d7
This issue was referenced by
3de8f255d7
Changed status from 'Open' to: 'Resolved'
Closed by commit
3de8f255d7
.