Commit Graph

90522 Commits

Author SHA1 Message Date
Clément Foucault
ce34a6b0d7 DRW: Refactor to support draw call batching
Reviewers: brecht

Differential Revision: D4997
2019-09-13 17:32:18 +02:00
mano-wii
f7e8b58098 Fix BLI_bvhtree_overlap_ex assert 2019-09-13 12:19:54 -03:00
Sebastian Parborg
23a4149778 Fix "minimum twist" curve flipping issue
Correct the code to actually do what the comment says.
This fixes an issue where the curve would flip 180 degrees under certain
conditions.
2019-09-13 17:18:35 +02:00
Brecht Van Lommel
6b0d1ef7e1 Cleanup: compiler warnings 2019-09-13 16:51:51 +02:00
Pablo Dobarro
27b82bbb75 Fix T69816: Using Transform gizmos in Sculpt Mode while MultiRes is activated crashes Blender
Reviewed By: jbakker

Maniphest Tasks: T69816

Differential Revision: https://developer.blender.org/D5779
2019-09-13 16:43:05 +02:00
Pablo Dobarro
f71d89bb04 Fix T69804: Transform tools in sculpt mode fails with transformed objects
Reviewed By: mano-wii

Maniphest Tasks: T69804

Differential Revision: https://developer.blender.org/D5777
2019-09-13 16:30:06 +02:00
Campbell Barton
0ec6564668 Cleanup: unused headers (GPU) 2019-09-14 00:22:24 +10:00
Antonio Vazquez
59f9c39f74 Fix T69846: Segment fault converting Curves to GPencil strokes
The problem was when the material slot had something, but the material was NULL.
2019-09-13 16:22:02 +02:00
YimingWu
d4fb850366 Fix T69829: Gpencil sample memory leaks. 2019-09-13 21:43:40 +08:00
Anthony Eriksson
77399283d4 Fix T69037: Automerge is greyed-out in popover
Split "use_mesh_automerge_and_split" and "double_threshold" into their
own column so .active doesn't have to be applied for the entire layout.

Reviewers: billreynish, mano-wii

Differential Revision: https://developer.blender.org/D5618
2019-09-13 09:29:50 -03:00
Brecht Van Lommel
fcf94c772f UI: don't show decorators in Remesh panel 2019-09-13 14:06:41 +02:00
Philipp Oeser
27bbe7cbd9 Fix vertex paint: color transform operators not respecting vertex paint
mask selection

for 'Invert', 'Levels', 'Hue saturation Value' and 'Bright/Contrast',
face mask was respected, but vertex mask wasnt...

Same code as done in 'Set Vertex Colors'.

reported in T69835

Reviewers: brecht

Maniphest Tasks: T69835

Differential Revision: https://developer.blender.org/D5783
2019-09-13 13:30:55 +02:00
Antonio Vazquez
cf858e7738 Cleanup: Use bool instead of int 2019-09-13 13:19:22 +02:00
Campbell Barton
f795bdbf21 Cleanup: use header guards 2019-09-13 21:12:43 +10:00
Campbell Barton
9e60e86057 Cleanup: clang-format 2019-09-13 21:12:43 +10:00
Joep Peters
95ef6dfa9e UI: use pageup/down and home/end to scroll to start/end of menus
Differential Revision: https://developer.blender.org/D5582
2019-09-13 13:06:06 +02:00
Philipp Oeser
f7ee2348c0 Fix Particles Keyed Physics target UI greyed out
Picking the 'Target Object' as well as the 'System' number was greyed
out as long as 'Use Timing' was disabled. 'Use Timing' is unrelated for
the above two, these should always be active...

part of T69741

Reviewers: sergey

Maniphest Tasks: T69741

Differential Revision: https://developer.blender.org/D5782
2019-09-13 12:38:49 +02:00
Jacques Lucke
f85ea4ae3c BLI: add non-const lookup methods for StringMap 2019-09-13 12:28:19 +02:00
Jacques Lucke
08539312b2 BLI: add some missing methods to Map and SetVector 2019-09-13 12:10:40 +02:00
Sergey Sharybin
592a3d7b47 Tracking: Perform tracking and solving from a locked interface
Solves stability issues with possibly doing destructive changes to the
tracking setup. Locking interface is the simplest and most reliable way
to avoid crashes.

It is still possible to run non-destructive changes such as clip view
navigation. More operations can be marked as safe if needed.

Fixes T67012: Software closes when a processing marker is deleted
2019-09-13 11:59:34 +02:00
Sergey Sharybin
49c36d3430 Tracking: Move Lock Selection to an own operator
There are no functional changes as far as users are concerned,
just allows to mark operator as safe to be run from a locked
interface.
2019-09-13 11:59:34 +02:00
Sergey Sharybin
11b776d215 Tracking: Mark view operators as safe for locked interface 2019-09-13 11:59:34 +02:00
Sergey Sharybin
fa26012f51 Tracking: Cleanup, use bool type instead of int 2019-09-13 11:59:34 +02:00
Patrick Mours
a2b52dc571 Cycles: add Optix device backend
This uses hardware-accelerated raytracing on NVIDIA RTX graphics cards.

It is still currently experimental. Most features are supported, but a few
are still missing like baking, branched path tracing and using CPU memory.
https://wiki.blender.org/wiki/Reference/Release_Notes/2.81/Cycles#NVIDIA_RTX

For building with Optix support, the Optix SDK must be installed. See here for
build instructions:
https://wiki.blender.org/wiki/Building_Blender/CUDA

Differential Revision: https://developer.blender.org/D5363
2019-09-13 11:50:11 +02:00
Patrick Mours
53932f1f06 Cycles: add Optix support in the kernel
This adds all the kernel side changes for the Optix backend.

Ref D5363
2019-09-13 11:46:22 +02:00
Brecht Van Lommel
7eb293a37b Build: output log file to tests/log.txt when running "make test" 2019-09-13 11:46:22 +02:00
Antonio Vazquez
577239d2ce GPencil: Fix unreported memory leak for weights
As the total of points was changed before free memory, if the total was lower than before, the remaining points were not released.
2019-09-13 11:18:48 +02:00
Jacques Lucke
bb7c858598 BLI: make more integer type conversions explicit 2019-09-13 11:03:49 +02:00
Jacques Lucke
394318da74 BLI: fix some integer conversions 2019-09-13 10:39:37 +02:00
Sebastian Parborg
57e55906f0 Add QuadriFlow remesher 2019-09-13 10:36:05 +02:00
Jacques Lucke
1c44d08a69 BLI: new C++ hash table data structures
This commit adds some new hashing based data structures to blenlib.
All of them use open addressing with probing currently.
Furthermore, they support small object optimization, but it is not
customizable yet. I'll add support for this when necessary.
The following main data structures are included:

**Set**
A collection of values, where every value must exist at most once.
This is similar to a Python `set`.

**SetVector**
A combination of a Set and a Vector. It supports fast search for
elements and maintains insertion order when there are no deletes.
All elements are stored in a continuous array. So they can be
iterated over using a normal `ArrayRef`.

**Map**
A set of key-value-pairs, where every key must exist at most once.
This is similar to a Python `dict`.

**StringMap**
A special map for the case when the keys are strings. This case is
fairly common and allows for some optimizations. Most importantly,
many unnecessary allocations can be avoided by storing strings in
a single buffer. Furthermore, the interface of this class uses
`StringRef` to avoid unnecessary conversions.

This commit is a continuation of rB369d5e8ad2bb7.
2019-09-13 10:06:02 +02:00
Pablo Vazquez
8d12c2a836 UI: Fix Mask popover crumpled
Make popover wider and image ID widget full width, like in textures properties.
Not ideal but at least the image name can be read now, until the ID widget
gets a more compact redesign.

Fixes T67748
2019-09-13 00:20:59 +02:00
Campbell Barton
7137d1470a Docs: update link 2019-09-13 07:46:25 +10:00
Campbell Barton
bc109be34c Object Mode: don't use origin axis helpers for selection 2019-09-13 06:34:36 +10:00
Jacques Lucke
b6838fd04f Revert "BLI: fix unregistering timer with same id twice"
This reverts commit a1d61c1c84.
Put by error
2019-09-12 22:23:07 +02:00
Antonio Vazquez
d7f594ae3a GPencil: New set of Brush icons
Added: Airbrush and Chisel
Changed: Marker

Design: @mendio

Subscribers: mendio

Differential Revision: https://developer.blender.org/D5774
2019-09-12 22:15:19 +02:00
Jacques Lucke
a1d61c1c84 BLI: fix unregistering timer with same id twice 2019-09-12 22:14:23 +02:00
Arto Kitula
0672cc884c macOS fix typo on Frameworks dir 2019-09-12 23:13:52 +03:00
Arto Kitula
85a6c07670 macOS fix T67686 , use absolute path to load 3Dconnexion framework 2019-09-12 22:46:49 +03:00
Brecht Van Lommel
6472662d66 Build: add "make test" command for Windows, output log file
Differential Revision: https://developer.blender.org/D5715
2019-09-12 20:23:03 +02:00
Brecht Van Lommel
38d62a195b Fix build error on Windows 2019-09-12 19:58:11 +02:00
Jacques Lucke
3062f341b3 BLI: fix illegal zero sized array 2019-09-12 18:46:31 +02:00
mano-wii
852c727073 Transform: AutoMerge & Split: Create and merge vertices at edge intersections
Differential Revision: D5635
2019-09-12 13:32:44 -03:00
mano-wii
ca5e1615a1 BMesh: New tool BM_mesh_intersect_edges
Along with the new utility `BM_vert_weld_linked_wire_edges_into_linked_faces`
2019-09-12 13:32:44 -03:00
mano-wii
f9ef59ccc8 BLIKdopBVH: New BLI_bvhtree_overlap_ex utility 2019-09-12 13:32:44 -03:00
Philipp Oeser
5b2cebf49b Fix T69752: Texture paint sampling colors always 'merged down'
Rgression from rBaf4dcc6073fa.

paint_sample_color > imapaint_pick_face uses the the selection buffer
(DRW_select_buffer_sample_point) and to get flat colors [select_id_flat] we
need to be in SCE_SELECT_FACE mode. This was already fine if you had
'Face Selection Masking' turned on, but got colors including lighting
when turned of [select_id_uniform].

There was already an exception in 'select_cache_init' that turns on
SCE_SELECT_FACE for weightpaint, we just need this for texture paint
(vertex paint) as well... Also moved the logic into
select_id_get_object_select_mode.

Note we were also asserting here:
BLI_assert failed: /blender/source/blender/draw/engines/select/
select_engine.c:174, select_cache_init(), at 'e_data.context.select_mode
!= 0'

Note also this is not working correctly for vertexpaint (yet), but has
been discussed in T69752 and there is a solution by @mano-wii in P1032.

Reviewers: mano-wii

Subscribers: mano-wii

Maniphest Tasks: T69752

Differential Revision: https://developer.blender.org/D5775
2019-09-12 18:23:36 +02:00
OmarSquircleArt
2ea82e86ca Shading: Add Vertex Color node.
This patch adds a new Vertex Color node. The node also returns the alpha
of the vertex color layer as an output.

Reviewers: brecht

Differential Revision: https://developer.blender.org/D5767
2019-09-12 17:42:13 +02:00
Jacques Lucke
f80018b5f7 Fix: missing atomic include 2019-09-12 17:03:03 +02:00
Jacques Lucke
058d218254 BLI: new StringRef and StringRefNull data structures
These two data structures reference strings somewhere in memory.
They do not own the referenced string. The string is considered
const.

A string referenced by StringRefNull can be expected to be
null-terminated. That is not the case for StringRef.

This commit is a continuation of rB369d5e8ad2bb7c2.
2019-09-12 16:55:35 +02:00
Julian Eisel
914f4308fb Fix T69791: Fix crash reading old file browser in temporary window
When reading a old .blend file (from before the new file browser
design), we wouldn't create the execute region for existing file
editors. This usually wasn't an issue, but it could become one when a
file browser was opened in a temporary screen before, and that screen
was still visible. Then code spawning the new file browser would re-use
the old file browser data, assuming the execute region was there.

Handle this in versioning code and let rest of the code keep sane
assumtions (e.g. that there always is a execute region, even if
invisible).
2019-09-12 16:36:07 +02:00