Page MenuHome

Cycles adaptive subdivision tasks
Confirmed, NormalPublicTO DO

Assigned To
None
Authored By
Brecht Van Lommel (brecht)
Jan 25 2018, 7:11 AM
Tokens
"Love" token, awarded by BartShoot."100" token, awarded by Dir-Surya."Love" token, awarded by pierogo."Love" token, awarded by Shimoon."Like" token, awarded by Scaredyfish."Love" token, awarded by benkl."Love" token, awarded by 1D_Inc."Love" token, awarded by Yegor."Love" token, awarded by Kubo_Wu."Like" token, awarded by amonpaike."Love" token, awarded by juang3d."Love" token, awarded by mistajuliax."Love" token, awarded by bnzs.

Description

Adaptive subdivision and displacement needs some work still to be considered stable and fully supported. This task is to keep track of what needs to be done.

Subdivision:

  • T49159: Tangents should be computed at the limit surface.
  • T49585: Adaptive subdivision setting linking issue.
  • T49431: Missing smooth (face-varying) UV subdivision.
  • T73395: Pointiness not working with subdivision
  • T73403: Missing vertex colors
  • Motion blur not working (test file)
  • Support for instances, two strategies both worth trying:
    • Object space dicing option so users can manually set it for all instances
    • Bin instances according to distance from camera, so we have about log(N)
  • Grid primitive to reduce memory usage
  • Optimizations, reduce memory allocations, .. (T73564: Adaptive subdivision modifier takes to much memory )
  • In Blender 2.8, Blender subdivides the mesh itself which leads to too much memory usage.

Displacement:

  • Fast BVH refit updates when tweaking displacement shader
  • Better results for bump from vector displacement.
  • Vector displacement tangents compatible with other software.

Related Objects

Event Timeline

Discussed the remaining tasks with @Mai Lavelle (maiself), here's the IRC log for reference.

I'll get the displacement part in a state where it can be made a non-experimental feature. We're pretty close to that, we mainly need to finish D3018 and D3019, and verify that things like Both displacement and tangents are working ok. Vector displacement can be added afterwards, it likely requires some deeper changes to tangents to be compatible with other software.

The subdivision part still requires more work to become a fully supported feature. @Mai Lavelle (maiself) is working on smooth UV subdivision. Instances and cracks / discontinuities are the other two main issues.