Commit Graph

2384 Commits

Author SHA1 Message Date
7e8e7bfe69 Fix T72862: Viewport Render doesn't render Grease Pencil Overlays
Fix by @campbellbarton
Note: Duplicated commit done in master first by error
2020-01-27 11:40:38 +01:00
dfb4a2e907 Fix T72862: Viewport Render doesn't render Grease Pencil Overlays, Shading
Fix by @campbellbarton
2020-01-27 11:34:00 +01:00
d6bd359545 Merge branch 'blender-v2.82-release' 2020-01-24 09:43:42 +01:00
c5436883c6 Fix T69121 DRW: Missing depth buffer refresh with GPencil + Cycles
I just cleaned up the logic and checked for GPencil objects in the scene.
2020-01-23 21:38:06 +01:00
fb671035be Merge branch 'blender-v2.82-release' 2020-01-23 16:56:26 +01:00
3cd32c376d Fix T66956 EEVEE: NaN produced by bad geometry mess with the DoF
Sanitize the source of the depth of field.
2020-01-23 15:41:41 +01:00
6dcbc3cd5a Fix T73335 Overlay: Light Distance line does not represent custom distance
This is a fix to the issue that light distance line end does not represent
anything now that shadow bounds are computed automatically.
2020-01-23 15:41:41 +01:00
b6051f1f01 Merge branch 'blender-v2.82-release' 2020-01-20 21:14:30 +01:00
335930ab4e Overlay: Improve Outline diagonal Antialiasing
I doubt we can do much better. Most of the aliasing comes from the edge
detection which does not use a lot of samples. We could use more samples
but then the detection becomes way more complex and expensive.

The second issue comes from the reconstruction (AA pass) that only bleed
adjacent pixels in if their line direction is perpendicular to the offset.
This makes corner gaps on certain diagonals.
2020-01-20 19:36:08 +01:00
a5270d4cf3 Merge branch 'blender-v2.82-release' 2020-01-20 14:53:14 +01:00
3bda3a2992 Fix T73187 Overlay: Stereo 3D Camera not displaying correctly 2020-01-20 14:15:54 +01:00
bb692a2d0f Fix T59747 EEVEE: Bug on EnvironmentTexture 2020-01-20 13:48:25 +01:00
ccfe5bf215 Cleanup: remove redundant function 2020-01-20 13:27:19 +01:00
e6ccd512e6 EEVEE: Fix crash during lightbake 2020-01-20 12:55:21 +01:00
a5a30e485f Merge branch 'blender-v2.82-release' 2020-01-20 09:50:09 +01:00
6368343da9 Fix T73129: sculpt mode slow on mesh with fake user
We can't use the fast path when the mesh is used by mulitple objects and so
slower sculpting is expected then. But fake users should not affect this. This
also fixes the same type of error in a few other areas.
2020-01-20 09:39:54 +01:00
966383138a Weight Paint: implement a red shade for bones with locked weights.
Blender supports locking vertex groups to prevent changes to the
weights. However, as mentioned in comments for D3837, it is hard
to use this because there is no interface for locking in 3D View.

This adds a red shade to bones that are associated with a locked
weight group during weight paint mode, as the first step to adding
such interface. The next step is adding a pie menu for lock/unlock.

Differential Revision: https://developer.blender.org/D6533
2020-01-18 11:43:31 +03:00
1f92e9903f Merge branch 'blender-v2.82-release' 2020-01-17 20:09:44 +01:00
7b29956cc5 Fix T67942 EEVEE: Crash when empty is set as camera and motion blur is on 2020-01-17 19:43:41 +01:00
f185a9b97c Merge branch 'blender-v2.82-release' 2020-01-18 03:12:25 +11:00
6eaf51ef3e DRW: Use USHORT for vertex color and upload them in linear color to the GPU
This way we remove the need for the srgb boolean uniform and a lot of code complexity. However, mesh update is going to be a bit slower.

I did not benchmark the performance impact.

This also fix a typo in draw_cache_impl_particles.c and fix hair not using vertex color in workbench.

Reviewed By: jbakker

Differential Revision: https://developer.blender.org/D6610
2020-01-17 16:29:20 +01:00
7c9d15fca8 Fix T71154: EEVEE Soft Shadows Viewport Rendering
EEVEE Soft shadows were not rendered correctly during viewport
rendering. The reason for this is that during viewport rendering the
shadow buffers were only update once and not per sample. This resulted
that all the samples calculated the same shadow.

This fix moves the call to `EEVEE_shadows_update` from cache finished to
draw scene. This needs to happen before `EEVEE_lightprobes_refresh`.

Reviewed By: fclem

Differential Revision: https://developer.blender.org/D6538
2020-01-17 14:03:29 +01:00
d72ffb5e9a Overlay: Fix wrong 3D icon for cubemap lightprobes 2020-01-16 19:47:19 +01:00
5d5add5de2 Fix T69794 "Bake Cubemap Only" resets Irradiance Volume if world is updated
Was caused by a clear done for when irradiance need to be baked.
2020-01-16 19:47:19 +01:00
0461ff764a Fix EEVEE: Planar Reflection data has inverted facing
Unreported bug
2020-01-16 15:56:45 +01:00
Lukas Stockner
7d8a186335 Fix T73133: UDIM texture count in Eevee is limited by OpenGL
Based on @fclem's suggestion in D6421, this commit implements support for
storing all tiles of a UDIM texture in a single 2D array texture on the GPU.

Previously, Eevee was binding one OpenGL texture per tile, quickly running
into hardware limits with nontrivial UDIM texture sets.
Workbench meanwhile had no UDIM support at all, as reusing the per-tile
approach would require splitting the mesh by tile as well as texture.

With this commit, both Workbench as well as Eevee now support huge numbers
of tiles, with the eventual limits being GPU memory and ultimately
GL_MAX_ARRAY_TEXTURE_LAYERS, which tends to be in the 1000s on modern GPUs.

Initially my plan was to have one array texture per unique size, but managing
the different textures and keeping everything consistent ended up being way
too complex.

Therefore, we now use a simpler version that allocates a texture that
is large enough to fit the largest tile and then packs all tiles into as many
layers as necessary.

As a result, each UDIM texture only binds two textures (one for the actual
images, one for metadata) regardless of how many tiles are used.

Note that this rolls back per-tile GPUTextures, meaning that we again have
per-Image GPUTextures like we did before the original UDIM commit,
but now with four instead of two types.

Reviewed By: fclem

Differential Revision: https://developer.blender.org/D6456
2020-01-16 02:06:49 +01:00
848b28d71e Fix T72104 Blender selects faces outside of Clipping Region if X-Ray is off 2020-01-15 19:54:27 +01:00
3fa548f986 Fix T72871 Overlay: Spotlights cone is much smaller than before 2020-01-15 14:45:42 +01:00
aa3720ed82 Fix T72574 Overlay: 'Show Cone' for Spotlights not working anymore 2020-01-15 14:45:42 +01:00
e2724abc22 Fix T72490 Collections: Exclude From View toggle causes segment violation 2020-01-14 17:59:40 +01:00
d51dcaf104 Fix T73116 Crash on startup caused by implicit conversion in glsl
Old drivers does not support this. Promote everything to uint.
2020-01-14 17:26:35 +01:00
39d5d11e02 Fix T71402 EEVEE: Transparent material add volume scattering
This adds correct scattering handling by removing the extra light added
to opaque pass.

Also fix T69062 EEVEE alpha blend and volumetrics
2020-01-14 16:55:11 +01:00
fca069a705 Fix T72547 Wireframe overlay clipping issues
The view vector was not correct in orthographic view.

Also reduce the curvature bias a little.
2020-01-14 16:55:11 +01:00
9954cbfca6 Fix T72063: Workbench Sculpt Render
When sculpting and doing a image render the workbench used the sculpt
batch what is created by a different GPU context and would not show up.

In debug builds an assert for this case is checked. I rechecked all
`use_sculpt_pbvh` that it also checked if it was rendering. Only the
workbench deferred didn't do this for the default render mode.

With this change the user can render a workbench render directly from
sculpt mode.
2020-01-14 11:03:45 +01:00
84825e4b50 Fix T72957 Crash using Eye dropper in Edit mode with X-ray 2020-01-13 16:53:40 +01:00
820794e162 Overlay: Edit Mode: Fix vertices depth test not always on 2020-01-13 16:27:01 +01:00
162cb74320 Fix T67305: Sculptmode Wireframe Coloring
When in sculptmode the wireframe coloring should always be disabled.
When an object was sculpted but had modifiers this was not detected and
the colors were still shown.

This fix will disable wireframe coloring for any object that is in
sculptmode.
2020-01-13 12:57:37 +01:00
07a959067d Fix T72667: Collection delete hierarchy in edit-mode crashes
Also resolves T72848, although updating multiple windows doesn't work,
this matches 2.7x behavior.
2020-01-08 22:35:26 +11:00
94d19d5ff5 GPencil: Fix unreported memory leak
Thanks to @dfelinto for his help
2020-01-07 14:14:19 +01:00
409d3f4880 Workbench: Force Vertex Colors in Paint Mode
Vertex colors behaved differently as the paint overlay mixed the colors
in display mode and the results was multiplied on top of the original
shading.

This patch will align the implementation to texture painting where the
colors are drawn by the workbench engine so the correct shading is
applied.

This also means that we don't show the vertex colors overlay when not
in solid mode.

Reviewed By: fclem

Differential Revision: https://developer.blender.org/D6436
2019-12-18 13:31:12 +01:00
2a35383bb0 Fix T72353: Camera Limits Visibility
Due to recent refactoring of the overlay unification the camera limits
were also visible when the overlays were turned off. This was because
the `draw_extra` had an exception for when looking through the camera.

This change also takes the global hide overlays into account. So now the
camera limits will not be drawn when overlays are turned off. This also
fixed other camera related overlay drawing.

Reviewed By: fclem

Differential Revision: https://developer.blender.org/D6394
2019-12-18 10:59:35 +01:00
11e4eafd9b Cleanup: compiler warnings 2019-12-17 09:12:03 +11:00
714e48ec55 GPencil: Fix unreported missing onion skin in renders
When the option was enabled, the onion was not render as expected.
2019-12-16 18:54:36 +01:00
d27ccf990c Mantaflow [Part 6]: Updates in /blender/source
A collection of smaller changes that are required in the /blender/source files. A lot of them are also due to variable renaming.

Reviewed By: sergey

Maniphest Tasks: T59995

Differential Revision: https://developer.blender.org/D3855
2019-12-16 16:37:01 +01:00
5a97a74c69 Cleanup: whitespace 2019-12-16 13:49:11 +11:00
7878adf49c DrawManager: Disable Clipping in material/rendered mode
Viewport: Disable Clipping For EEVEE and External Renderers

Currently it is possible that, when using viewport clipping, the display and tools communicate
different information to the user then the renderer does. The reason is
that the renderer does not support viewport clipping. Both EEVEE and
Cycles do not support it.

This patch will disable the clipping in all the tools and drawing code
when the viewport drawing mode is `Material Preview` or `Rendered`.

This patch introduces a `RV3D_CLIPPING_ENABLED` util that checks if
clipping is enabled for the given `rv3d` and `v3d`. Also in places where
it was needed we added the `ViewContext` as a carrier for the `View3D`
and `RegionView3D`.

There are a few areas in the tooling (select, projection painting) that
still needs to be tackled after this patch.

Reviewed By: fclem

Differential Revision: https://developer.blender.org/D6047
2019-12-11 16:58:14 +01:00
Robert Guetzkow
a1bd78b488 Add missing draw state check to OVERLAY_edit_mesh_draw
Fix for T72309. The crash was caused by a missing check of the draw state, which resulted in dereferencing of a null pointer.

Reviewed By: fclem

Differential Revision: https://developer.blender.org/D6380
2019-12-11 13:37:30 +01:00
63d521432e Cleanup: spelling 2019-12-11 10:56:53 +11:00
e0fbea9c0d Overlay Engine: Armature: Fix bones disapearing with custom bone color
This seems to only affect some drivers. Rendering to multiple targets
without all output variables defined seems to be undefined behavior.
Thanks to gaiaclary for reporting on blendercoders.
2019-12-11 00:26:52 +01:00
42a551d2dd Fix T72220: Hide Edit Overlays
The edit overlays were drawn dispite of the global hide overlays toggle.
This patch checks the global hide overlay toggle to see if it needs to draw
these overlays.

Reviewed By: fclem

Differential Revision: https://developer.blender.org/D6371
2019-12-10 10:55:29 +01:00