Bug with Simply option when rendering #46255

Closed
opened 2015-09-24 23:31:53 +02:00 by Emmanuel LORANT · 13 comments

System Information
Operating system and graphics card

Windows 7 x64, GTX 580 3Gb for display, GTX 780 6 Gb for render

Blender Version
Broken: (example: 2.69.7 4b206af, see splash screen) : 2.76 x64 RC2 (and 2.75 x64)
Worked: (optional)

Short description of error

I checked the Simplify option in the Scene panel and set the subdivsion level for viewport at 0. I let the Render subdivision at 6.
The tail has a subsurf level at 2 and as you can see in the picture, the sticker which is a subdivided plane (no subsurf modifier) with a modifier shrinkwrap (settings in the picture) is no rendered as expected when Simplify option is checked. If I uncheck the Simplify option, the render is ok.

http://www.pasteall.org/pic/93476

Exact steps for others to reproduce the error
Based on a (as simple as possible) attached .blend file with minimum amount of steps

**System Information** Operating system and graphics card Windows 7 x64, GTX 580 3Gb for display, GTX 780 6 Gb for render **Blender Version** Broken: (example: 2.69.7 4b206af, see splash screen) : 2.76 x64 RC2 (and 2.75 x64) Worked: (optional) **Short description of error** I checked the Simplify option in the Scene panel and set the subdivsion level for viewport at 0. I let the Render subdivision at 6. The tail has a subsurf level at 2 and as you can see in the picture, the sticker which is a subdivided plane (no subsurf modifier) with a modifier shrinkwrap (settings in the picture) is no rendered as expected when Simplify option is checked. If I uncheck the Simplify option, the render is ok. http://www.pasteall.org/pic/93476 **Exact steps for others to reproduce the error** Based on a (as simple as possible) attached .blend file with minimum amount of steps

Changed status to: 'Open'

Changed status to: 'Open'

Added subscriber: @EmmanuelLORANT

Added subscriber: @EmmanuelLORANT

Here is a simple blend file : http://www.pasteall.org/blend/38231

Just check or uncheck simplify and hit F12.

Here is a simple blend file : http://www.pasteall.org/blend/38231 Just check or uncheck simplify and hit F12.

Added subscriber: @mont29

Added subscriber: @mont29

Please always upload files here directly… bug_simplify.blend

Can confirm that results with simplify do not match those without it, not quite sure why, but you are using an insanely small level of offset for your shrinkwrap too, maybe a mere float imprecision issue?

Please always upload files here directly… [bug_simplify.blend](https://archive.blender.org/developer/F238887/bug_simplify.blend) Can confirm that results with simplify do not match those without it, not quite sure why, but you are using an insanely small level of offset for your shrinkwrap too, maybe a mere float imprecision issue?

Added subscriber: @zeauro

Added subscriber: @zeauro

Bug is not relative to simplify option. Same result happens with subdivision surface modifier viewport level set to 0.
Problem is that shrinkwrap only takes into account viewport level of subdivision surface modifier.
It seems that Subsurf levels feature of shrinkwrap modifier does not work.

Bug is not relative to simplify option. Same result happens with subdivision surface modifier viewport level set to 0. Problem is that shrinkwrap only takes into account viewport level of subdivision surface modifier. It seems that Subsurf levels feature of shrinkwrap modifier does not work.

Added subscribers: @LukasTonne, @Sergey, @ideasman42

Added subscribers: @LukasTonne, @Sergey, @ideasman42

Good spot @zeauro, indeed currently we do not have a real way to ensure we get real 'render' DM (tagged as TODO in object_get_derived_final()).

@Sergey @ideasman42 @LukasTonne I think this is a TODO/known limitation more than a bug currently?

Good spot @zeauro, indeed currently we do not have a real way to ensure we get real 'render' DM (tagged as TODO in `object_get_derived_final()`). @Sergey @ideasman42 @LukasTonne I think this is a TODO/known limitation more than a bug currently?

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Sergey Sharybin self-assigned this 2015-09-25 12:21:04 +02:00

This is indeed a limitation of current dependency graph. I've tried to solve this during my last GSoC and had system basical working. But then it was disabled because of huge issues in the Blender Internal's duplication code which couldn't really cache single DeivedMesh for render.

While i can see how annoying it is, it's not really a bug. Just a known limitation. So thanks for the report, but sending to archive for until we'll re-work duplication code in BI.

This is indeed a limitation of current dependency graph. I've tried to solve this during my last GSoC and had system basical working. But then it was disabled because of huge issues in the Blender Internal's duplication code which couldn't really cache single DeivedMesh for render. While i can see how annoying it is, it's not really a bug. Just a known limitation. So thanks for the report, but sending to archive for until we'll re-work duplication code in BI.
Member

The general problem is that any interaction of 2 or more objects is based on the viewport settings, not render. For example this also applies to collisions in physics sims.

The rationale seems to be that higher subdiv for rendering is supposed to be a visual refinement of the mesh only. That it has consequences for other objects is an unfortunate design limitation that has to be taken into account on the artist side. I'm not sure if solving this for immediate modifiers like shrinkwrap (as opposed to incremental simulations with collision) is feasible in an acceptable way.

The general problem is that **any** interaction of 2 or more objects is based on the viewport settings, not render. For example this also applies to collisions in physics sims. The rationale seems to be that higher subdiv for rendering is supposed to be a visual refinement of the mesh only. That it has consequences for other objects is an unfortunate design limitation that has to be taken into account on the artist side. I'm not sure if solving this for immediate modifiers like shrinkwrap (as opposed to incremental simulations with collision) is feasible in an acceptable way.

In my opinion, it would be better to back as it was before (if I remember well) : no options for render or at least a warning so no confusion is possible.
Or perhaps, put the Simplify option in Properties -> Render -> Render panel so when you click Render, you see immediatly that Simplify is checked or not.

In my opinion, it would be better to back as it was before (if I remember well) : no options for render or at least a warning so no confusion is possible. Or perhaps, put the Simplify option in Properties -> Render -> Render panel so when you click Render, you see immediatly that Simplify is checked or not.
Sign in to join this conversation.
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
5 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#46255
No description provided.