Commit Graph

66144 Commits

Author SHA1 Message Date
a1a8578d5c Fix T62449: Subsurf+hidden faces
When using subsurf (and other modifiers) the edit flags are not
propagated correctly. Currently we assume to read the edit flags
from the original object which is kind off hinding the real issue.

Modifiers use `mesh_new_nomain_from_template_ex` to create a copy
from an existing mesh. this method is only used by modifiers. So
by placing this we will make sure that editmesh is propagated.

Reviewed By: fclem, sergey

Maniphest Tasks: T62449

Differential Revision: https://developer.blender.org/D4666
2019-04-10 12:44:31 +02:00
1a12c9edab Keyframing: add operators that use keying-set ID's
Unfortunately we can't use insert/delete_keyframe operators in keymaps
because the enums aren't known at the time of keymap registration
and the keying sets are dynamic and use a poll function.

Add a version of insert/delete operators that takes a string
instead of an enum. Needed for D4626.

Also extract int to keying-set into a utility function.
2019-04-10 11:47:43 +02:00
99f1e3d57f Fix T63455: Legacy GPencil settings in Annotations 2019-04-10 11:31:37 +02:00
b7a09114f6 Fix T63441: Cycles applies modifiers twice
Was a mistake in df26f28835, which caused access uninitialized variable.
2019-04-10 10:06:16 +02:00
e8fc6f6946 Cleanup: rename old -> versioning
The term 'old' isn't very meaningful, follow naming for existing
code that updates data.
2019-04-10 10:00:38 +02:00
a358f6bb69 Cleanup: use STR_ELEM macro 2019-04-10 09:36:06 +02:00
54af7cbf4b BLI_string: Add STR_ELEM macro
A string comparison version of the ELEM macro,
add to avoid verbose & repetitive strcmp/STREQ usage.
2019-04-10 09:25:53 +02:00
55c152164f Cleanup: order simple check before function call 2019-04-10 09:05:39 +02:00
b9eac0bb44 Cleanup: spelling 2019-04-10 08:40:49 +02:00
0c3500e068 Cleanup: style, shadow warning 2019-04-10 08:34:24 +02:00
009dbc2bc9 Fix T63427: Annotations don'twork with 2.79 settings
The problem was the colors were not converted and the annotation flag was not enabled.

Note: For Scene data (View3D) there is a convert operator.
2019-04-09 20:12:21 +02:00
59955a297e Cleanup: Use higher level function
This kind of abstracts OpenGL details, and this is what is used in
other areas as well.
2019-04-09 17:06:32 +02:00
b5d1e0ad1e Cleanup: spelling 2019-04-10 00:38:47 +10:00
32f3d47990 Image draw: Fix/workaround image corruption on draw
Was mainly visible with high-res image. Not entirely clear why it is
only happening on macOS. While the entire function should be re-written
to make float images displayed faster, still nice to fix the drawing.

Reviewers: fclem

Reviewed By: fclem

Differential Revision: https://developer.blender.org/D4664
2019-04-09 12:54:20 +02:00
cc74020b5a Fix T62114: Wireframe mode selection: selects backside objects when clicking frontside object in 3d-window
Now the depth order of objects when trying to select them is only used when not in X-ray mode.
Before, this was only the case in wireframe mode regardless of X-ray settings.

I've also unified the usage of V3D_XRAY and XRAY_FLAG as they were basically copies of each other.

Reviewed By: Clément

Differential Revision: http://developer.blender.org/D4504
2019-04-09 12:29:02 +02:00
f55026d468 Cleanup: BKE_gpencil naming
- The ambiguous term 'handle' was used where 'ensure'
  is typically used (get or add when missing).
- Rename `current` to `active`, all `current` functions which were
  also ensuring.
- Clarify what is being operated on, using `BKE_gpencil_object_*` for
  objects, `BKE_gpencil_brush_*` for brushes.
2019-04-09 10:09:13 +02:00
eb9237eb20 Cleanup: style 2019-04-09 08:44:06 +02:00
86a44d2b07 Mistake in 1be2888bf0
String compare renderengines.
2019-04-09 08:37:00 +02:00
Arno Mayrhofer
2a79e34631 Fix T63326: absolute shape keys inserted from Python in wrong order. 2019-04-08 23:54:37 +02:00
George Vogiatzis
7655b32999 Fix T63386: text editor footer added multiple times.
Differential Revision: https://developer.blender.org/D4663
2019-04-08 22:51:30 +02:00
df26f28835 Fix T63399: Obj exporter does not respect "Apply Modifiers" settings 2019-04-08 21:21:09 +02:00
12417fcbf6 Fix T60821: highlighting issues in Dope Sheet
replaced check for (obsolete in 2.8) objects 'SELECT' flag with check for
bases 'BASE_SELECTED' flag

Reviewers: brecht

Maniphest Tasks: T60821

Differential Revision: https://developer.blender.org/D4606
2019-04-08 20:34:05 +02:00
1f1eedf8ad GPencil: Mark Object gpd field as Deprecated
This field is only used to read old files, but it's not used anymore, so it's better mark as deprecated to avoid wrong uses.
2019-04-08 16:24:30 +02:00
d6f02cd1d7 Fix T63340: Transform Snap Object: Simulate occlusion only when use_occlusion_test is true.
And cleanup.
2019-04-08 10:49:15 -03:00
b8a442b202 cleanup: typo in comment 2019-04-08 12:42:43 +02:00
e944835aa5 GPencil: Cleanup unused code 2019-04-08 11:28:53 +02:00
75f551faca GPencil: Fix wrong Brush texture for pinned materials
If the Brush had a pinned material with texture, but the material slot was in a different material, the texture was not working.

The material was not recovered from brush, but from object.
2019-04-07 17:02:13 +02:00
0d3195c811 Cleanup: add comments about dual quaternion scale handling.
Ref T63327
2019-04-07 11:30:03 +02:00
c536b61961 GPencil: Set layer channel custom color to all line in Dopesheet
See D4645 for more details
2019-04-07 09:37:35 +02:00
cc73d59ad5 Fix T59014: black/corrupted viewport with Intel HD on Windows 7/8.
Work around bug in the Intel driver:
https://software.intel.com/en-us/forums/graphics-driver-bug-reporting/topic/550740
2019-04-06 14:26:23 +02:00
f12040e088 DRW: Opti: Fix hotspot in DRW_mesh_batch_cache_get_surface_shaded
The hotspot was generated by mesh_cd_layers_type_overlap who was testing
way more data than it should have.

Here we reduce the whole CD layer mask to a 32bit bitflag that is easily
or'ed and tested.

Bonus point: We use atomic operation to merge the mask in order to allow
future multi-threading. (this was a TODO)

In the scene attached to T58188 this removes 5% of CPU time.
2019-04-06 01:55:21 +02:00
542725d3e9 GPU: Fix typo 2019-04-05 21:15:25 +02:00
fefc9c95e4 DRW: Opti: Replace bound tex/ubo tracking array by bitfields
release_texture_slots() and release_ubo_slots() were one hotspot when
drawing taking ~9% of total CPU counters for no reason.

This was because of the loops using GPU_max_textures that was overkill and
slow.

Replace those by a simple 64bit bitwise OR operation.
2019-04-05 21:15:25 +02:00
2219f28a68 Cleanup: Fix compiler warning 2019-04-05 18:50:13 +02:00
e559074c4e Fix T61035 Draw manager crash opening file with curves
Move free callback call to GPU_batch_discard to prevent the crash.

The issue was that clearing can happen after referencing to an instance
buffer and that's perfectly legal.
2019-04-05 17:48:56 +02:00
d140e597a6 Fix T63281: Drivers inside nodegroups inside nodegroups don't show up in Driver Editor
Recurse into node groups when looking for drivers.

Reviewed By: Brecht

Differential Revision: http://developer.blender.org/D4653
2019-04-05 16:31:19 +02:00
df99c54b5b EEVEE: Fix compilation
Introduced by f0d6879f5c
2019-04-05 15:03:43 +02:00
d220a87b47 Fix T63283: Second subdivision modifier does not ignore crease
This is something where there is no single correct behavior,
sometimes it's needed to ignore the crease to make mesh more
smooth. But sometimes crease is to be considered after first
subdivision surface: for example, when adding extra subdivisions
for render-time displacement.

Made it an option whether modifier needs to take crease into
account or not.

Existing files should be openable in the 2.7 compatible way,
to re-create an old behavior the options is to be manually
disabled in the modifier settings.

Reviewers: brecht

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D4652
2019-04-05 14:50:24 +02:00
6de0da70de GPU not able to allocate texture
In the case of the report a GL_PROXY_TEXTURE_2D_ARRAY of 2509x2509x1 failed to be allocated.
This is a work around as the GL_PROXY_TEXTURE_* is not reliable.

Reviewed By: brecht, fclem

Maniphest Tasks: T63223

Differential Revision: https://developer.blender.org/D4651
2019-04-05 14:40:54 +02:00
f0d6879f5c Fix T62892 EEVEE HDRI lightning glitch
Clamp the texture at sampling time. This is not the best way to do it but
this is the fastest/simplest. The cost is rather negligeable.
2019-04-05 14:38:27 +02:00
George Vogiatzis
a180b754eb Interface: New region type 'Footer', used by text editor
* It can be hidden by dragging it up/down.
* It can be at the top or bottom, independent of the header.
* It uses the color theme from the header.
* It does not change its color, when the area becomes active.

Currently, it is used in the text editor to display the file path.

Differential Revision: https://developer.blender.org/D4601
2019-04-05 13:48:26 +02:00
2bd8f2dfad Cleanup: Spelling 2019-04-05 12:53:12 +02:00
a6efbe95cf Fix T63292: Crash Workbench Texture Drawing 2019-04-05 11:28:04 +02:00
d40581a714 GPencil: Improve drawing feeling in big files
When drawing in big files, the first points of the stroke were not smooth because the system was doing a copy of the depsgraph datablock.

Now, the depsgraph is not updated at the beginning and the feeling is far better, especially for big files.

To avoid the copy, the original datablock is used while drawing, because it's faster the lookup of the original data, than a full datablock copy.

Also some cleanup of the code.
2019-04-05 11:26:04 +02:00
59d0582a75 Workbench: Support Transparency + Textures
When texture drawing was enabled the fallback materials were not transparent.
The reason was that the solid material was requested. This patch will requesting
in this case the material from the forward renderer.

Fix: T63077

Reviewed By: fclem

Maniphest Tasks: T63077

Differential Revision: https://developer.blender.org/D4641
2019-04-04 19:02:11 +02:00
b26164ded5 Fix T63108 Eevee: Wrong Reflection plane matrix if camera view is not centered
Invert X axis of the Window Matrix (AKA Projection matrix) instead of the
View matrix.
2019-04-04 18:08:42 +02:00
c2f3ba64ce Fix T63198 Eevee: Indirect lighting settings arent not updating in Lookdev
This was caused by a missing check for those option.
2019-04-04 17:59:57 +02:00
9fdc16e204 Fix T63278 Eevee: LookDev: Volumetric on even if Scene World is off 2019-04-04 17:59:57 +02:00
01d0903f1e EEVEE+Workbench: Show partsys in final rendering
In final rendering mode the display type was tested for
visibility flag. This should only occus when doing viewport
rendering

Reviewed By: fclem

Maniphest Tasks: T63056

Differential Revision: https://developer.blender.org/D4643
2019-04-04 16:44:10 +02:00
59f6371a85 Fix T63252: Bind in Mesh Deform Modifier fails
A regression since 64c8d72ef1.

The solution is to force modifier evaluation for an evaluated
object, and let it to copy binding data back to original when
is being evaluated for binding.

Reviewers: brecht

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D4642
2019-04-04 15:49:30 +02:00