Commit Graph

14888 Commits

Author SHA1 Message Date
Jacques Lucke
12e9d52882 Fix T60327: Value input with adaptive imperial units not working properly 2019-01-08 19:20:56 +01:00
Brecht Van Lommel
ae2af46920 Fix inconsistent naming and behavior for base visible/selected/editable.
Fixes T60251.
2019-01-08 18:50:44 +01:00
Joshua Leung
9d4ed6d03b Fix T59984: Drivers don't update values in UI or show proper errors
We now perform COW -> original data flushing for all the debug values + error
status flags on Drivers/DriverVariables/DriverTargets, as these are only set
when errors are encountered when evaluating drivers.
2019-01-09 01:41:58 +13:00
Campbell Barton
91a155833e Cleanup: comments causing bad clang-format output 2019-01-08 10:37:43 +11:00
Sergey Sharybin
8e35a968c5 Subdiv: Use defined order of corner/edge vertices
This switches evaluation of vertices which are on the boundaries
of PTex faces to a single threaded one. While this introduces
some slowdown it fixes ambiguity of PTex index used to evaluate
particular vertex.

Possible alternative solutions would be:
- Do some pre-calculation of index, then do evaluation in threads.
- Try using Gregory patches and see if that makes any affect.

Fix T60235: Flickering of object instances
2019-01-07 17:14:19 +01:00
Sergey Sharybin
e637e8dcc6 Subdiv: Move single threaded code to a single function
Allows to more easily add more passes which are supposed to be run
from a single thread.
2019-01-07 17:14:19 +01:00
Sergey Sharybin
1b15eb7e71 Subdiv: Cleanup, de-duplicate code 2019-01-07 17:14:19 +01:00
Campbell Barton
b4a77a351e Cleanup: add trailing commas to structs 2019-01-07 09:15:07 +11:00
Campbell Barton
e305560f13 Cleanup: add trailing commas to structs
Needed for clang formatting to workaround bug/limit, see: T53211
2019-01-07 00:34:48 +11:00
Campbell Barton
a153f7628e Cleanup: style, line length 2019-01-06 20:27:35 +11:00
Campbell Barton
a2120001a8 Cleanup: avoid function call for pointer compare 2019-01-05 19:56:15 +11:00
Alexander Gavrilov
57d4b869be NLA: rewrite evaluation channel data structures.
Implementing a new intelligent mixing mode that combines quaternions
via multiplication requires rewriting the NLA code to recombine array
properties from separate scalar channels during evaluation.

In addition, stable evaluation of NLA stack requires that any channel
that is touched by any of the actions in the stack should always be
set to a definite value by evaluation, even if no strip affects it
at this point of the timeline. The obvious choice for the fallback
is the default value of the property.

To make scanning all actions reasonably efficient, mapping paths to
channels should be done using hash tables.

Differential Revision: https://developer.blender.org/D4120
2019-01-05 10:52:43 +03:00
Antonioya
0d736d6896 Fix T60157: Applying subdivide GP modifier gets wrong fill
The problem was the triangulation cache was not initializated.
2019-01-04 17:18:24 +01:00
Sergey Sharybin
b69cbe7d87 Fix T60124: Multires modifier not reading data from external files 2019-01-04 15:58:41 +01:00
Sergey Sharybin
2c21e3e35f Fix T60132: Convert hair particles to mesh
Needed to port operator to use evaluated particle system.

But also changed interface to always show Convert button when
draw type is set to Path (Hair particle system is forced to
be draws as path). This avoid rather expensive lookup on every
redraw, but will show Convert button for un-baked particle
emitter.

Probably, an acceptable compromise.
2019-01-04 14:30:34 +01:00
Campbell Barton
538d58745a Object: don't flip scale when setting dimensions 2019-01-04 19:58:18 +11:00
Campbell Barton
1b8c3774a8 Fix T54771: Can't change multiple dimensions at once
- Use non-rna button for adjusting dimensions.
- Make Object.dimensions RNA read-only since it never worked well.
  This is mainly a UI editing feature.
2019-01-04 19:52:13 +11:00
Campbell Barton
c6405f5ee8 Cleanup: unused calculation 2019-01-04 19:08:46 +11:00
Bastien Montagne
4b2198a96a Fix T59925: Crash when adding any generative modifier on a curve with more than one material.
Am not totally convinced that generating meshes without fully valid
material info is a good thing, but this seems to be rather common in our
code base (in both mesh editing and convert-to-mesh cases).

So for now, duplicated code in mesh eval finalization to main displist
creation/eval function, synchronizing mat data at the end of modifiers
stack eval, if needed.
2019-01-03 18:09:39 +01:00
Brecht Van Lommel
407272d158 Fix T60119: incorrect filter size in new scenes. 2019-01-03 15:59:58 +01:00
Brecht Van Lommel
481a75a08a Fix T57177: redo select random operator selects hidden objects. 2019-01-03 15:19:32 +01:00
Campbell Barton
9200dc0eb1 Cleanup: preprocessor indentation 2019-01-03 15:52:07 +11:00
Campbell Barton
ba9e10fd6a Merge branch 'blender2.7' 2019-01-03 12:25:37 +11:00
Campbell Barton
847b21ee08 Fix T60014: material link pref ignored
The PreferencesEdit.material_link only worked for adding slots,
adding an initial new material didn't respect the preference.
2019-01-03 12:20:08 +11:00
Campbell Barton
ae50a7df03 Fixes and edits to studio light operators
- Remove pathlib use
  (was converting to/from string with no real advantage).
- Use user_resource(..., create=True) to ensure the path exists.
- Pass full path to BKE_studiolight_create, don't add extension after.
- Fix 'sl' filtering glob and move from ui code to operator.
- Fix string copy length.
2019-01-03 02:13:00 +11:00
Brecht Van Lommel
93fa7417d5 Cleanup: specify default studiolight name, instead using first alphabetically. 2018-12-31 15:40:42 +01:00
Brecht Van Lommel
3f4e3f718f Cycles: restore old sample and material override settings for view layers.
Since there will be no view layer overrides in 2.80, this is needed still.
2018-12-28 18:59:33 +01:00
Brecht Van Lommel
3610f1fc43 Sequencer: refactor clipboard copy to no longer increase user count.
The clipboard is not a real user and should not be counted. Only on paste
should the user count increase.

This is part of D3621, and was implemented by Richard Antalik and me.
2018-12-28 14:08:02 +01:00
Antonioya
fdc726eb61 GP: Rename GP_STROKE_RECALC_CACHE to GP_STROKE_RECALC_GEOMETRY
The GP_STROKE_RECALC_CACHE identifier was changed to GP_STROKE_RECALC_GEOMETRY because the previous name was confusing and could be confused with the recalculation of the Draw Manager cache.
2018-12-28 08:48:37 +01:00
Sergey Sharybin
3e5374bf1e Merge branch 'blender2.7' 2018-12-27 19:13:27 +01:00
Antonioya
b2a7aab7db GP: Enable Brush cursor by default for new brushes 2018-12-27 17:04:31 +01:00
Brecht Van Lommel
de14ddf3a1 Fix T59900: duplicate font loading error and memory leak. 2018-12-27 17:04:07 +01:00
Bastien Montagne
f1bf604804 Fix T59389: Solidify Modifier does not work with 'beveled' Curve objects.
Curve modifier eval code was actually doing nothing to ensure we passed
mesh with valid normals when required by the modifier.

This is a bit basic, rough code, but think it should cover all cases,
time will say...
2018-12-27 15:03:06 +01:00
Sergey Sharybin
6de8ff5796 Merge branch 'blender2.7' 2018-12-27 11:43:06 +01:00
Sergey Sharybin
81ab9ef968 Fix T56595: Hair Dynamics stop working after saving new file
The issue was caused by NaN valid of the average spring length being
stored in the file. This caused accumulation in the springs builder
to also deliver NaNs, which then caused solver itself to not do
anything.

Not sure why these values where never initialized prior to the
accumulation. Or even, why this runime data is stored in a DNA.

Some sanitizing is possible here, but needs to be done with care
to not disrupt Spring production.
2018-12-27 11:35:31 +01:00
Antonioya
94dfa6eaac GP: Remove duplicate code moving to single function 2018-12-25 11:10:05 +01:00
Bastien Montagne
1ac311cedc Fix/cleanup another bunch of UI messages issues.
Also (mostly in comments): behaviour -> behavior (we use American English).
2018-12-24 12:32:43 +01:00
Bastien Montagne
1158b9f73a Cleanup: First batch of UI messages fixes (typos, final points...).
Also contains some code typo fixes (mostly, adtaptative -> adaptive,
former is nearly innexistant in English, let's stick to simple valid
words ;) ).
2018-12-23 22:03:43 +01:00
Sergey Sharybin
d086c01645 Fix T59691: Crash when deleting data-block video or audio in a video editor 2018-12-21 16:54:17 +01:00
Sergey Sharybin
c16a5e772b Cleanup: Indentation 2018-12-21 16:54:17 +01:00
Brecht Van Lommel
0edd93effb Fix inconsistent/broken Cycles object visibility for instances.
Object visibility is now handled by the depsgraph iterator, but this API
was incomplete as it made no distinction for visibility of the object itself,
particles and generated instances.

The depsgraph iterator API now includes information about which part of the
object is visible, and this is used by Cycles to replace the old custom logic.
Cycles and EEVEE visibility should now be consistent, which unfortunately does
means some subtle compatibility breakage for both.

Fixes T58956, T58202, T59284.

Differential Revision: https://developer.blender.org/D4109
2018-12-21 16:05:48 +01:00
Sergey Sharybin
494d13115c Fix T59687: Crash when rendering animation
The issue was caused by shape keys datablock from evaluated mesh
being added to the main database.

This commit makes it so shape keys are not copied for the mesh
used as cage.
2018-12-21 14:23:06 +01:00
Antonioya
1b674d70a3 GP: Cleanup weird thickness scale
This code used old factor, but now this only adds complexity and makes code hard to understand.
2018-12-21 11:27:24 +01:00
Dalai Felinto
36184f7392 Fix T57816: Crash when deleting recently orphaned collection
We were never removing the parent collection from a collection upon removal
of the parent.

Reviewers: mont29

Differential Revision: https://developer.blender.org/D4099
2018-12-21 07:49:10 -02:00
Campbell Barton
0dabd312d4 Library: correct BKE_id_to_unique_string_key fix 2018-12-21 08:37:18 +11:00
Campbell Barton
320e7f5322 Cleanup: naming 2018-12-20 17:34:30 +11:00
Campbell Barton
a91886e76e Fix possible key collision w/ BKE_id_to_unique_string_key
BKE_id_full_name_get doesn't ensure unique output, use a simple
method to create a unique key, guaranteed not to collide.
2018-12-20 09:35:46 +11:00
Campbell Barton
65bc931306 Cleanup: argument wrapping indentation 2018-12-20 08:03:48 +11:00
Alexander Gavrilov
d211c9aa0a BLI_bitmap: add functions operating on the whole bitmask.
There is no point having operations that iterate over the whole
bit array as macros, so convert BLI_BITMAP_SET_ALL to a function.
Also, add more utilities for copying and manipulating masks.

Reviewers: brecht, campbellbarton

Differential Revision: https://developer.blender.org/D4101
2018-12-19 15:53:12 +03:00
Sergey Sharybin
908a274240 Fix T59237: Instancing on a path doesn't do anything
This commit makes it so curve path parent solving accepts an explicit
arguments for both time and curve speed flag, making it so we don't
have to mock around with scene's frame.

One unfortunate issue still is that if the instancing object is used
for something else, we might be running into a threading conflict.
Possible solution would be to create a temp copy of an object, but
then it will be an issue of preventing drivers from modifying other
datablocks.

At least the original issue is fixed now, and things behave same as
in older Blender version. Additionally, the global variable which
was defining curve speed flag behavior is gone now!
2018-12-19 11:59:47 +01:00