Commit Graph

4308 Commits

Author SHA1 Message Date
a68bd94d11 Workbench: Use GPU_texture_copy instead of GPU_framebuffer_blit for TAA
This fixes T75477 which seems to be a driver but caused by framebuffer
blitting.
2020-04-22 21:41:10 +02:00
Robert Guetzkow
22cf2572d9 Merge branch 'blender-v2.83-release' 2020-04-22 19:20:11 +02:00
Robert Guetzkow
0dfe30502a Fix T75938: Workbench normal direction for matcaps
Set useMatcap to ensure correct normal direction when using matcaps
in the workbench engine.
2020-04-22 19:13:38 +02:00
c69a047b90 Merge branch 'blender-v2.83-release' 2020-04-22 14:23:00 +02:00
bc83fc9c04 Fix T75981: crash in sculpt mode with mesh that used to have multiple materials
The material indices in a mesh can exceed the number of available materials
slots in the object or mesh, sculpt drawing was not taking that into account.
2020-04-22 13:59:14 +02:00
b2cc2dda9c Fix 3D viewport select using grease pencil engine when not needed
Other draw loops also avoid the overhead of grease pencil drawing when there
are no grease pencil objects in the scene. It's a little faster to skip those
shaders and buffer when not needed.
2020-04-22 13:44:06 +02:00
aba78caa11 Fix T75625: crash on exit in macOS after selecting objects
This code to free shaders by casting a struct to a pointer array is not valid
in general, and particularly when compiling with Clang (on Linux and macOS) it
fails and can read invalid/uninitialized memory .
2020-04-22 13:44:06 +02:00
8eeae02cb0 Merge branch 'blender-v2.83-release' 2020-04-22 21:41:28 +10:00
3542c5eb72 Fix T75971: 3D Text invisible when fill set to None 2020-04-22 19:46:53 +10:00
c1c97c3d4a Merge branch 'blender-v2.83-release' 2020-04-19 21:07:59 +02:00
2816b22b38 Fix T75902 Workbench: render crash 2020-04-19 21:07:47 +02:00
a6c14faa06 Merge branch 'blender-v2.83-release' 2020-04-17 22:04:10 +02:00
76b3aac802 Fix T75842: GPencil Edit mode of unselected object is visible
The overlay must be enabled only for the active object.
2020-04-17 22:03:46 +02:00
59d7fbb052 Merge branch 'blender-v2.83-release' 2020-04-17 21:54:26 +02:00
156319d2b3 Fix T74199 Overlay: Turning off overlays also hides edges 2020-04-17 21:53:38 +02:00
842e817bf7 Fix T73815 Overlay: Z axis line doesn't show alone on the workspace 2020-04-17 21:08:34 +02:00
c3994aa443 Fix typo causing compilation to fail
Sorry guys I thought I had compile before testing.
2020-04-17 20:57:25 +02:00
b7d603b41c Fix T75832 DRW Hair: Crash caused by shader compilation
This also fix it the volume velocity needles.
2020-04-17 20:43:05 +02:00
795a874d0b Merge branch 'blender-v2.83-release'
Conflicts:
	source/blender/makesdna/DNA_userdef_types.h
	source/blender/makesrna/intern/rna_userdef.c
2020-04-17 15:16:16 +02:00
a250be980a Fix T74805 Workbench: Back faces flicker with Auto Depth is enabled 2020-04-17 14:57:36 +02:00
96825403a6 Overlay: Fix unreported bug: Edit mode overlays drawing during auto depth
This would double draw the edit cage on top of the other overlays.
2020-04-17 14:57:35 +02:00
95a018aa32 Workbench: Fix unreported bug: garbage viewport when changing AA settings
Was caused by uninitialized buffer.
2020-04-17 14:57:35 +02:00
493c623b13 Merge branch 'blender-v2.83-release' 2020-04-17 20:24:03 +10:00
adc6659de5 Fix T75820: Child bone head vanishes when connected parent is hidden 2020-04-17 20:21:25 +10:00
ec263547b5 Merge branch 'blender-v2.83-release' 2020-04-16 08:58:25 +02:00
a703bbb4d7 Fix T75567: Paint Mode Wireframe Incorrect
The loop normal VBO is used in two manners. In edit mode to draw the
edge normals. And in paint mode to draw the wireframe. This commit
checks which VBO is needed and build the correct one.

This allows show the wireframe correct in paint mode, when the object is
subdivided.

Reviewed By: Clément Foucault

Differential Revision: https://developer.blender.org/D7419
2020-04-16 08:34:55 +02:00
ef19cd395f Fix T75455: High World Space Cavity Samples Crash
When setting the number of cavity samples to a high number blender could
write out of bounds.

This patch will harmonize the number of iterations in the same way how
it is done during execution.

Reviewed By: Clément Foucault

Differential Revision: https://developer.blender.org/D7425
2020-04-16 08:32:34 +02:00
1685f5824d Cleanup: remove unused scene argument 2020-04-16 11:05:52 +10:00
e0d7b6c78d Fix T75751 Overlay: Clipping Region crashes Blender 2020-04-15 22:30:55 +02:00
Vincent Blankfield
eb46b55e56 Fix T75613: "In Front" setting did not override image empty "Depth"
Differential Revision: https://developer.blender.org/D7418

Reviewers: campbellbarton, brecht
2020-04-15 18:49:32 +02:00
21c658b718 GPUShader: Implement workaround for gizmo drawing on sRGB framebuffer
This solution involves adding a uniform to each fragment shader that is
used by gizmo drawing and use the framebuffer state to set this uniform
accordingly.

This solution can also be carried to external shaders (addons).
A single line of code would then be enough to fix the issue.

The only trickery here is the dummy define:
`#define srgb_to_framebuffer_space(a)`
This is in order to avoid breaking other DRW shaders that use the same
fragment shader code but do not need the tranformation.

Related to T74139

Reviewed By: brecht, campbellbarton

Differential Revision: https://developer.blender.org/D7261
2020-04-14 20:44:56 +02:00
d4ead6e639 Cleanup: Remove unused defines 2020-04-14 16:17:46 +02:00
2ed2dd7b13 GPencil: Add missing 2.82 Random Layer color removed in refactor
Use a single color by object in grease pencil is not practical because is necessary to see all layers.

To tint by layer, the layer tint parameter is used and not the material color as is done in other modes.

This function has been backported from 2.82 because was removed in the 2.83 refactor.
2020-04-14 12:48:11 +02:00
0b86943641 Fix T74901: Smoke Simulation crashes on eevee and is not persistent on Cycles
Issue was introduced in 5260aaf3b1 (fix for T73921).
2020-04-10 12:10:23 +02:00
337a7ed292 Pointclouds: fix point drawing
The radius component is only one float. This resulted in only a third of
intended points to draw and could lead to glitches.

Pointcloud drawing will still change a lot in the future, this is just
to be able to work on some simple tools.

Differential Revision: https://developer.blender.org/D7390
2020-04-10 08:34:07 +02:00
78f56d5582 TaskScheduler: Minor Preparations for TBB
Tasks: move priority from task to task pool {rBf7c18df4f599fe39ffc914e645e504fcdbee8636}
Tasks: split task.c into task_pool.cc and task_iterator.c {rB4ada1d267749931ca934a74b14a82479bcaa92e0}

Differential Revision: https://developer.blender.org/D7385
2020-04-09 19:18:14 +02:00
5e0465e4ec Fix T75343: Wireframe overylay is not working properly with multiple modifiers
Since rBcf258b02f449, only wires and edges that are mapped to the
original mesh were drawn if the mesh was modified by modifiers.
Above commit was only meant for showing orig wires for paint mask
overlays [where final wireframe is not desired], so now only use
MR_EXTRACT_MAPPED when we are in a paint mode.

Maniphest Tasks: T75343

Differential Revision: https://developer.blender.org/D7333
2020-04-07 14:47:06 +02:00
cc0819aee1 Fix (unreported) wrong hair vertex colors
This was already fixed in rB985f33719ce9 once.
But resurfaced after rB7070e4c15e6c [which just reverted a bit too much
;)].

Spotted while looking into T75263.

Differential Revision: https://developer.blender.org/D7308
2020-04-06 12:19:02 +02:00
480ff89bf7 Fix T75311, T75310: Edit Weight Paint Overlay Render Artifacts
During recent refactoring of the edit weight overlay we moved a
assignment before it was valid. Making everything one frame off what
resulted in a flashing frame during TAA, not drawing the overlay until a
second action happened, making overlays too bright.

The reason whas that the painting overlay wasn't initialized in the
first sample, but the draw passes and groups were filled. Resulting in
rendering the overlay twice or not at all.

This change moves the assignment to where it is valid.
2020-04-06 10:28:31 +02:00
6526c3ced8 Fix displaying edit-mesh measurements with deform modifiers
Resolves regression from 2.7x
2020-04-06 15:26:27 +10:00
d138cbfb47 Code Quality: Replace for loops with LISTBASE_FOREACH
Note this only changes cases where the variable was declared inside
the for loop. To handle it outside as well is a different challenge.

Differential Revision: https://developer.blender.org/D7320
2020-04-03 19:27:46 +02:00
b0c1184875 Cleanup: Including "BLI_listbase.h" for LISTBASE_FOREACH macro
These headers are not needed right away, but will be in the upcoming
commit.
2020-04-03 19:27:42 +02:00
b5253159b6 Cleanup: split BKE_anim.h and anim.c into smaller pieces
The files are now split up into the following sections:
- `BKE_anim_path.h` and `anim_path.c` for path/curve functions.
- `BKE_anim_visualization.h` and `anim_visualizationanim_path.c` for
  animation visualization (mostly motion paths).
- `BKE_duplilist.h` for DupliList function declarations. These were
  already implemented in `object_dupli.c`, so they were rather out of
  place being declared in `BKE_anim.h` in the first place.

No functional changes.
2020-04-03 12:13:51 +02:00
973e1f9d9a Cleanup: use term 'attr' instead of 'attrib'
This was already the case in most parts of the GPU API.
Use full name for descriptive-comments.
2020-04-03 17:25:58 +11:00
Pablo Dobarro
b8d9b5e331 Sculpt: Delay Viewport Updates
In Blender 2.81 we update and draw all nodes inside the view planes.
When navigating with a pen tablet after an operation that tags the whole
mesh to update (like undo or inverting the mask), this introduces some
lag as nodes are updating when they enter the view. The viewport is not
fully responsive again until all nodes have entered the view after the
operation.

This commit delays nodes updates until the view navigation stops, so the
viewport navigation is always fully responsive. This introduces some
artifacts while navigating,  so it can be disabled if you don't want to
see them.

I'm storing the update planes in the PBVH. This way I can add support
for some tools to update in real-time only the nodes inside this plane
while running the operator, like the mesh filter.

Reviewed By: jbakker

Differential Revision: https://developer.blender.org/D6269
2020-04-02 18:00:51 +02:00
b26bebd59f Missed file in previous commit 2020-04-02 15:32:17 +02:00
88362565f6 Fix T72688: Vertex Group Weights in Edit Mode Occludes In Front Armatures
Due to legacy this overlay was implemented twice (Edit Mesh and Weight
Painting) with different results. This patch consolidates both drawing
and uses only the Weight Painting drawing.
2020-04-02 15:12:32 +02:00
fa8a3c8f26 Revert "Fix T72688: Vertex Group Weights in Edit Mode Occludes In Front Armatures"
This reverts commit 782e6ea4ed.

Said fix introduced a crash the moment one goes to edit mode.
2020-04-02 15:07:56 +02:00
782e6ea4ed Fix T72688: Vertex Group Weights in Edit Mode Occludes In Front Armatures
Due to legacy this overlay was implemented twice (Edit Mesh and Weight
Painting) with different results. This patch consolidates both drawing
and uses only the Weight Painting drawing.

Reviewed By: Clément Foucault

Differential Revision: https://developer.blender.org/D7289
2020-04-02 11:49:39 +02:00
b0bd9b4c70 Fix T75244: Screw Modifier Crash
Draw batch extraction wrongly assumed that when mapped extraction
happened that all original data could be found. This is not the case as
mapped extraction is also enabled when part of the data is present.

This fix does additional nullptr checks.
2020-03-31 16:05:19 +02:00