Commit Graph

3922 Commits

Author SHA1 Message Date
Clément Foucault
cad09e5227 Merge branch 'blender-v2.82-release' 2020-02-05 19:32:51 +01:00
Clément Foucault
092deb88b0 Fix T73127 EEVEE: Reflection plane not visible in lookdev without scene world 2020-02-05 19:32:16 +01:00
Clément Foucault
77394ef1db Fix T73517 Overlay: Edit Mode: X-Ray does not work if xray is equal to 1 2020-02-05 18:45:39 +01:00
Clément Foucault
994e9f702f Fix T70121 EEVEE/GPencil: Curves cause crash when using background rendering
This was caused by a faulty initialization of cache->surf_per_mat which
should have been empty.
2020-02-05 16:28:34 +01:00
Antonio Vazquez
1bc2a98a9d T73589: Code Quality: Renaming on BKE_material.h
Old Name                             New Name
=========                            =========
init_def_material                    BKE_materials_init
BKE_material_gpencil_default_free    BKE_materials_exit
test_object_materials                BKE_object_materials_test
test_all_objects_materials           BKE_objects_materials_test_all
give_matarar                         BKE_object_material_array
give_totcolp                         BKE_object_material_num
give_current_material_p              BKE_object_material_get_p
give_current_material                BKE_object_material_get
assign_material                      BKE_object_material_assign
assign_matarar                       BKE_object_material_array_assign
give_matarar_id                      BKE_id_material_array
give_totcolp_id                      BKE_id_material_num
assign_material_id                   BKE_id_material_assign
clear_matcopybuf                     BKE_material_copybuf_clear
free_matcopybuf                      BKE_material_copybuf_free
copy_matcopybuf                      BKE_material_copybuf_copy
paste_matcopybuf                     BKE_material_copybuf_paste
BKE_material_init_gpencil_settings   BKE_gpencil_material_attr_init
BKE_material_add_gpencil             BKE_gpencil_material_add
BKE_material_gpencil_get             BKE_gpencil_material
BKE_material_gpencil_default_get     BKE_gpencil_material_default
BKE_material_gpencil_settings_get    BKE_gpencil_material_settings
2020-02-05 15:56:50 +01:00
Julian Eisel
e4605cb155 Merge branch 'blender-v2.82-release' 2020-02-04 20:09:03 +01:00
Clément Foucault
c19112d755 Fix T61685 Curve extrusion looses flat shading in certain viewport shading
This was caused by default surface batch not using loop normals.
2020-02-04 19:31:00 +01:00
Clément Foucault
86fb8062d7 Fix T72155 Overlay: Bone X-ray no longer works in pose or weight paint mode 2020-02-04 19:01:38 +01:00
Clément Foucault
8efd804685 Fix T72504 EEVEE: Crash when rendering Instance Collection with hair
This was caused by a double free of the instance data. Remove the need
of the instance data fix the issue.
2020-02-04 18:35:40 +01:00
Clément Foucault
3685347b41 Selection: Add conservative rasterization to select really small objects
The conservative depth shader is ~4.5x slower than the normal one as it
uses geometry shader and fragment shader discard.

This patch also includes a hack to also fix the view parallel planar
geometry and the really small wire objects.

For some reason, the conservative raster fix does not work with normal
selection but does with box select.

This is a fix for T63356.

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D6714
2020-02-04 15:20:15 +01:00
Campbell Barton
77702245b1 Merge branch 'blender-v2.82-release' 2020-02-04 19:02:03 +11:00
Jeroen Bakker
d09646a40b Fix T73095: Edit Mode Overlay Linked Mesh
When using duplicate linked meshes, objects that are not in edit-mode will be drawn as
it is in edit mode, when another object with the same mesh is in edit mode.
This will not be the case when one of the objects are influenced by modifiers. The change
reflects more how it was done in Blender 2.79.

The current change introduces a draw manager method that checks in detail who is responsible
for the drawing (render engine or overlay engine). If the edit mesh is not the original or
the object that is drawn doesn't draw the original mesh the object will be drawn by the render
engine.

Known Limitation of this patch is that the rendering outside edit mode doesn't reflect the
latest changes until the user switches between object and edit mode. When there are no
modifiers in use, the updating is done immediately.

IMO this would be sufficient for blender 2.82, it also fixes parts of T72733.
The updating of the surface batches requires more development and is
post-poned for now.

Reviewed By: fclem, brecht

Differential Revision: https://developer.blender.org/D6737
2020-02-04 07:46:15 +01:00
Aaron Carlisle
c482e22f3f Merge branch 'blender-v2.82-release' 2020-02-03 22:39:28 -05:00
Clément Foucault
0cd0058e27 Fix T72261 Overlay: Edit Mesh: Edges not visible when using "In front"
This was caused by additional depth pass not rendering in the correct
view.
2020-02-03 19:54:47 +01:00
Clément Foucault
06a8f55104 Overlay: Armature: Fix Display armature as bound box in object mode 2020-02-03 18:53:30 +01:00
Sergey Sharybin
7799890d8e Merge branch 'blender-v2.82-release' 2020-02-03 17:31:26 +01:00
Clément Foucault
59e1c2f629 Overlay: Armature: Fix wireframe display type not working as 2.81 2020-02-03 16:15:05 +01:00
Clément Foucault
88ffee6953 Overlay: Armature: Improve bone outline z-bias in orthographic mode
The bias was too big and cause interpenetration on geometry that was in
front of bones.
2020-02-03 16:15:05 +01:00
Clément Foucault
dcf44dfe8e Fix T65114 Overlay: Armature: Bones with negative scale have wrong display
This moves the backface culling to the fragment shader to avoid all the
limitations of the current system. This has a cost but it is unlikely that
bone drawing will be a bottleneck.
2020-02-03 16:15:05 +01:00
Brecht Van Lommel
53d805abcb Merge branch 'blender-v2.82-release' 2020-01-31 13:03:15 +01:00
Clément Foucault
bcacf47cbc Displist: Add mikktspace tangent space generation for DL_SURF
This should match mesh tangents form surfaces converted to mesh.
2020-01-31 02:55:19 +01:00
Sergey Sharybin
cb8714fd8a Merge branch 'blender-v2.82-release' 2020-01-30 15:51:57 +01:00
Clément Foucault
8c5cb8359a EEVEE: Test maximum texture size before render.
This will catch any non renderable size.
2020-01-30 15:07:23 +01:00
Campbell Barton
4c1b7f311d Merge branch 'blender-v2.82-release' 2020-01-30 13:31:39 +11:00
Clément Foucault
c27d30f3ea Displist: Add mikktspace tangent space generation for DL_INDEX3
This now matches the Mesh behavior. Surfaces and metaball implementation
are yet to be implemented.
2020-01-30 02:46:01 +01:00
Campbell Barton
002b183506 Merge branch 'blender-v2.82-release' 2020-01-30 11:54:15 +11:00
Clément Foucault
15350c70be DRW: Add support for tangent on objects using display lists.
Only Metaballs are left unsupported.
However, the implementation does not match 100% with cycles which converts
all objects to meshes.

Fixes T63424 EEVEE: Normal map node doesn't works with curve objects
2020-01-30 01:37:46 +01:00
Ray Molenkamp
89996da1f5 Merge remote-tracking branch 'origin/blender-v2.82-release' 2020-01-29 15:02:02 -07:00
Clément Foucault
c7c8ee6168 Fix crash when adding modifiers to curve/surface/text objects 2020-01-29 22:53:20 +01:00
Philipp Oeser
3984586292 Merge branch 'blender-v2.82-release'
Merge conflict in source/blender/gpu/GPU_texture.h
2020-01-29 20:29:20 +01:00
Jeroen Bakker
18c88eac17 Fix T73188: RenderResult as Camera BG Image
In blender 2.79 you could use a render result as a camera background
image. This is useful during layout/compositing. During Blender 2.80
development there were 2 issues introduced that removed this feature.

* to receive a render result the image required a lock. This lock wasn't passed and therefore no image was read from the result. Generating an GPUTexture from an Blender image also didn't do the locking.
* the iuser->scene field wasn't set what is required for render results.

This change adds an optional `ibuf` parameter to `GPU_texture_from_blender` that can be passed when available.

Reviewed By: fclem, brecht

Differential Revision: https://developer.blender.org/D6684
2020-01-29 15:07:45 +01:00
Campbell Barton
7642ee627a Merge branch 'blender-v2.82-release' 2020-01-29 11:11:40 +11:00
Clément Foucault
b0f6fb8369 EEVEE: Micro optimize disk light
Try to never do operation twice and try to use MADD operations. Even if this
is very unlikely to make any difference, it can help compilers do some
optimization. I did not measure any difference as probes have much higher
impact on render time because of texture lookups.

Note that disk light is currently the most expensive light type so it
does not hurt to micro optimize.
2020-01-29 01:02:14 +01:00
Clément Foucault
3d73609832 Fix T67060 EEVEE: Noise caused by disk lights
This is an issue on some drivers that might output NaN out of sqrt if the
number is infinity.
2020-01-29 01:02:14 +01:00
Brecht Van Lommel
14deacdc22 Merge branch 'blender-v2.82-release' 2020-01-28 18:39:58 +01:00
Clément Foucault
b2034c6ba2 Fix T62730 Overlay: Selected edit hair points highlight is incorrect
This was due to the fact the drawing code was expecting the editpoints
to be equaly spaced. Reuse the code in particle.c to output the select
mask in red color channel of the particle (which is unused in new code).
2020-01-28 18:28:48 +01:00
Sybren A. Stüvel
49403a676b Merge remote-tracking branch 'origin/blender-v2.82-release' 2020-01-28 18:24:17 +01:00
Clément Foucault
3fd4c88e3a Fix T72593 Blender crashes when modifier change the material count
Instead of changing the modifiers behavior, we make sure to always use
the data->totcol instead of the ob->totcol. Also we centralize getting
this number to avoid future issues.

Fix T72593 Blender crashes when separating mesh
Fix T72017 Crash on set visibility change
2020-01-28 16:39:37 +01:00
Campbell Barton
051d224065 Merge branch 'blender-v2.82-release' 2020-01-28 16:15:38 +11:00
Clément Foucault
0366c46ec6 Fix T69070 EEVEE: Volume shader glitch if object as axis with 0.0 scale 2020-01-27 19:52:20 +01:00
Antonio Vazquez
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
Antonio Vazquez
dfb4a2e907 Fix T72862: Viewport Render doesn't render Grease Pencil Overlays, Shading
Fix by @campbellbarton
2020-01-27 11:34:00 +01:00
Antonio Vazquez
d6bd359545 Merge branch 'blender-v2.82-release' 2020-01-24 09:43:42 +01:00
Clément Foucault
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
Antonio Vazquez
fb671035be Merge branch 'blender-v2.82-release' 2020-01-23 16:56:26 +01:00
Clément Foucault
170844135a Fix T67050 Overlay: Forcefield limits are not dashed
This adds some kind of dashing to the tube and cone limits. Although the
dashing is in object space and is not a good as old dashing. But it is
the least time consuming and least complex solution.
2020-01-23 15:41:41 +01:00
Clément Foucault
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
Clément Foucault
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
Philipp Oeser
b6051f1f01 Merge branch 'blender-v2.82-release' 2020-01-20 21:14:30 +01:00
Clément Foucault
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