Age | Commit message (Collapse) | Author |
|
|
|
You may want to disable antialiasing if you are working with pixel art
or low resolution textures. It is enabled by default.
Reviewed By: jbakker, campbellbarton
Differential Revision: https://developer.blender.org/D6044
|
|
|
|
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D6080
|
|
|
|
With the latest changes, the PBVH needs extra flags each time the mask is
modified to keep the internal fully_masked and fully_unmasked node flags
updated.
Reviewed By: jbakker
Maniphest Tasks: T70866
Differential Revision: https://developer.blender.org/D6088
|
|
|
|
Dissolve the vertex when it is wire instead of trying to collapse the
edge. When collapsing the edge, ##v_kill->e## was not NULL, so the
assert in ##bmesh_kernel_join_vert_kill_edge## fails.
Reviewed By: jbakker
Maniphest Tasks: T71053
Differential Revision: https://developer.blender.org/D6159
|
|
Previously, with the render display mode set to "Image Editor", we'd use
any image editor that doesn't already show a (non-render-result) image,
even if they weren't set to view mode (but UV, paint or mask mode).
It could be confusing or annoying when using an Image Editor for a
purpose that the mode wasn't created for.
Note that with the introduction of a UV sub-Editor, the old behavor was
even more confusing. Changing a UV Editor to show the render result was
weird.
|
|
Now, a dot icon is displayed in front of the current object active material.
|
|
Also reduce scope of import.
|
|
Some instances used bpy.props when the convention is to import them.
|
|
- This wasn't working for tool-systems that use the space data.
- Don't activate when the keymap is empty.
|
|
|
|
|
|
Previously, you could delete presets that were part of the blender
default install. Now we check if the preset file resides in the bundled
file paths. If so, prevent deletion of the preset.
Reviewed By: Campbell
Differential Revision: http://developer.blender.org/D4522
|
|
|
|
Also make projpaint a keyword-only argument to avoid copy-paste errors
like this re-occurring in the future.
|
|
Need to make such drivers explicitly dependent on time.
|
|
Jeeps overall line lengths with function definition shorter.
|
|
The idea is to give multiple coordinates to evaluator and evaluate them
all at once, avoiding any possible overhead.
|
|
Allows to pass multiple patch coordinates for evaluation.
|
|
Saves another unnecessary temporary data copy during evaluation.
|
|
Consider that all builders have face-varying evaluation now.
|
|
|
|
Make evaluator itself to write directly to the output buffer.
Brings unmeasurable speedup and makes it possible to simplify
some buffer class logic.
|
|
We currently don't support interleaved varying data, so can make
some buffer smaller.
|
|
|
|
|
|
|
|
|
|
Thanks to @JRottm for pointing out this issue.
|
|
|
|
Also rename "make tgz" to "make source_archive" as it wasn't clear
this only archived the source, not binaries.
D6153 by @JRottm with minor edits
|
|
|
|
Maniphest Tasks: T71182
Differential Revision: https://developer.blender.org/D6150
|
|
This new function is part of the 'parallel for loops' functions. It
takes an iterator callback to generate items to be processed, in
addition to the usual 'process' func callback.
This allows to use common code from BLI_task for a wide range of custom
iteratiors, whithout having to re-invent the wheel of the whole tasks &
data chuncks handling.
This supports all settings features from `BLI_task_parallel_range()`,
including dynamic and static (if total number of items is knwon)
scheduling, TLS data and its finalize callback, etc.
One question here is whether we should provide usercode with a spinlock
by default, or enforce it to always handle its own sync mechanism.
I kept it, since imho it will be needed very often, and generating one
is pretty cheap even if unused...
----------
Additionaly, this commit converts (currently unused)
`BLI_task_parallel_listbase()` to use that generic code. This was done
mostly as proof of concept, but performance-wise it shows some
interesting data, roughly:
- Very light processing (that should not be threaded anyway) is several
times slower, which is expected due to more overhead in loop management
code.
- Heavier processing can be up to 10% quicker (probably thanks to the
switch from dynamic to static scheduling, which reduces a lot locking
to fill-in the per-tasks chunks of data). Similar speed-up in
non-threaded case comes as a surprise though, not sure what can
explain that.
While this conversion is not really needed, imho we should keep it
(instead of existing code for that function), it's easier to have
complex handling logic in as few places as possible, for maintaining and
for improving it.
Note: That work was initially done to allow for D5372 to be possible... Unfortunately that one proved to be not better than orig code on performances point of view.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D5371
|
|
|
|
These are meant for use in Grease Pencil Draw mode.
|
|
|
|
mentioned in T70974
Maniphest Tasks: T70974
Differential Revision: https://developer.blender.org/D6119
|
|
|
|
In 2.8, code would not enter the new 'Objects' and Collections'
'folders'.
Maniphest Tasks: T71026
Differential Revision: https://developer.blender.org/D6123
|
|
Hover (active) widget states now affecting more elements and in a more consistent way.
Differential Revision: https://developer.blender.org/D6098
Reviewed by Campbell Barton
|
|
Correct source, output, and formatting of prvicons - larger icons used for file browser.
Not Reviewed
|
|
|
|
This implied paragraph alignment, when the alignment defines
the origin of the text relative to the X,Y coordinates.
Resolves T71082
|
|
|
|
D6115 by @tintwotin
|
|
|