Maniphest T70295

Sculpt partial redraw not working
Confirmed, NormalTO DO

Assigned To
None
Authored By
Brecht Van Lommel (brecht)
Sep 27 2019, 11:20 AM
Tags
  • Performance
  • Sculpt, Paint & Texture
  • EEVEE & Viewport
Subscribers
Andrey (andruxa696)
Brecht Van Lommel (brecht)
Erick Tukuniata (erickblender)
Pablo Dobarro (pablodp606)
Przemyslaw Golab (SirPigeonz) (n-pigeon)
TheRedWaxPolice (TheRedWaxPolice)
Tokens
"Love" token, awarded by Dir-Surya."Love" token, awarded by andruxa696."Love" token, awarded by n-pigeon."Love" token, awarded by jfmatheu."Love" token, awarded by MetinSeven.

Description

There are a number of sculpting optimizations that were never made to work in Blender 2.8, which have a significant impact on performance.

  • Clipping of PBVH nodes outside of the viewport is missing, due to missing clipping planes: float(*planes)[4] = NULL; /* TODO proper culling. */
  • Clipping of PBVH nodes does not use Z planes, so objects behind the camera are not skipped.
  • Workbench anti-aliasing happens during a sculpt stroke, causing the entire 3D viewport to be redrawn while painting a stroke. During a stroke, AA could be disabled similar to RV3D_NAVIGATING. However the area outside of the stroke would remain anti-aliased, which might look bad?

Partial redraw is not working at all currently. The smaller render region never makes it into GPUViewport and the clipping planes for PBVH nodes do not take it into account either.

  • Support partial redraw in GPUViewport
  • Ensure it works for all render passes
  • For effects like cavity and depth of field, make sure the region is expanded to avoid drawing artifacts.
  • Use partial redraw clipping planes for PBVH nodes.

Revisions and Commits

rB Blender
D5922
D5926

Related Objects

Mentioned In
rB394b48029c53: Sculpt: Remove partial viewport updates from sculpt stroke code
T68873: Highpoly mesh sculpting performance
D5922: Sculpt: only update GPU buffers of PBVH nodes inside the viewport
rB770e91703d11: Fix part of T70295: sculpt drawing not clipping PBVH behind the camera
rBd3a98b2c3b44: Fix part of T70295: sculpt drawing not clipping PBVH nodes outside of viewport

Event Timeline

Brecht Van Lommel (brecht) lowered the priority of this task from 90 to Normal.Sep 27 2019, 11:20 AM
Brecht Van Lommel (brecht) created this task.
Brecht Van Lommel (brecht) updated the task description.Sep 27 2019, 11:42 AM
Erick Tukuniata (erickblender) added a subscriber: Erick Tukuniata (erickblender).Sep 27 2019, 11:48 AM
Brecht Van Lommel (brecht) mentioned this in rBd3a98b2c3b44: Fix part of T70295: sculpt drawing not clipping PBVH nodes outside of viewport.Sep 27 2019, 2:32 PM
Brecht Van Lommel (brecht) updated the task description.Sep 27 2019, 2:33 PM
Brecht Van Lommel (brecht) mentioned this in rB770e91703d11: Fix part of T70295: sculpt drawing not clipping PBVH behind the camera.Sep 27 2019, 3:00 PM
Brecht Van Lommel (brecht) updated the task description.Sep 27 2019, 3:00 PM
TheRedWaxPolice (TheRedWaxPolice) added a subscriber: TheRedWaxPolice (TheRedWaxPolice).Sep 27 2019, 3:04 PM
Brecht Van Lommel (brecht) updated the task description.Sep 27 2019, 3:08 PM
Metin Seven (MetinSeven) awarded a token.Sep 28 2019, 9:15 AM
Juanfran Matheu (jfmatheu) awarded a token.Sep 28 2019, 1:58 PM
Przemyslaw Golab (SirPigeonz) (n-pigeon) awarded a token.Sep 28 2019, 8:01 PM
Przemyslaw Golab (SirPigeonz) (n-pigeon) added a subscriber: Przemyslaw Golab (SirPigeonz) (n-pigeon).
Brecht Van Lommel (brecht) mentioned this in T68873: Highpoly mesh sculpting performance.Sep 28 2019, 8:07 PM
Brecht Van Lommel (brecht) updated the task description.Sep 28 2019, 8:13 PM
Brecht Van Lommel (brecht) added a commit: rB1ca105ebdccc: Sculpt: disable workbench anti-aliasing during stroke painting.Sep 29 2019, 4:24 PM
Brecht Van Lommel (brecht) added a commit: rBf6fc863acd7c: Sculpt: multithread GPU draw buffer filling for workbench.
Brecht Van Lommel (brecht) added a commit: rB9b0fd5ef2ae0: Sculpt: only update draw buffers for visible nodes during paint stroke.
Brecht Van Lommel (brecht) added a commit: rB0ffb96f70117: Sculpt: minor optimizations for GPU draw buffer filling.
Brecht Van Lommel (brecht) updated the task description.Sep 29 2019, 4:28 PM
Brecht Van Lommel (brecht) updated the task description.
Brecht Van Lommel (brecht) renamed this task from Sculpting partial redraw and clipping not working to Sculpt partial redraw not working.Sep 29 2019, 5:39 PM
Andrey (andruxa696) awarded a token.Nov 5 2019, 9:41 AM
Andrey (andruxa696) added a subscriber: Andrey (andruxa696).Nov 21 2019, 12:01 AM
Brecht Van Lommel (brecht) mentioned this in rB394b48029c53: Sculpt: Remove partial viewport updates from sculpt stroke code.Jan 8 2020, 3:38 PM
surya kiran reddy (Dir-Surya) awarded a token.May 16 2020, 3:23 PM
Clément Foucault (fclem) edited projects, added EEVEE & Viewport; removed GPU / Viewport.Jun 19 2020, 10:23 PM
Clément Foucault (fclem) moved this task from Backlog to Long-Term on the EEVEE & Viewport board.Jul 1 2020, 2:53 AM
Pablo Dobarro (pablodp606) moved this task from Backlog to Long Term (Implementation) on the Sculpt, Paint & Texture board.Jan 5 2021, 5:31 PM