Blender Git Commit Log

All Blender Git commits.

Page: 2316 / 8462

July 30, 2019, 12:36 (GMT)
BLI_task: tweak default chunk size for `BLI_task_parallel_range()`.

Previously we were setting it to 1 (aka no 'chunking'), to follow
previous behavior. However, this is far from optimal, especially with
CPUs that can have tens of threads nowadays.

Now taking an heuristic approach (inspired from the one already existing
for `BLI_task_parallel_listbase()`, which tries to guesstimate best
chunk sizes based on several factors (amount of threads/parallel tasks,
total number of items, ...).

Think this is a reasonable base ground, more optimization here would of
course be possible.

Note that code that was already explicitely settings some value here
won't be affected at all by that change.
July 30, 2019, 12:25 (GMT)
Fix T66629: Library override - fails when armature and mesh are in separate collections.

Some ugly very low-level collection code was using the generic
LIB_TAG_DOIT tag... should never happen, that one is for rather
high-level code to use, core process shall use own tags.
July 30, 2019, 12:25 (GMT)
Fix T67067: Wrong rotation input values when using shortcuts on keyboard like rx720.

This allows to type in numinput 720 and indeed get a rotation of 720�, not 0�...

This patch basically applies 'big rotations' in steps < 180�, such that
compatible rotation works as expected. This implies resetting current
rotation to initial one first, otherwise we'd end up applying much more
turns than expected when that code is called more than once.

It also makes things somewhat slower for big rotations (millions of degrees),
Hence we clamp to 1000 turns max.

And since that's a case that cannot happen with regular tool/widget-driven rotation,
it's only enabled when numinput is used for now.

Review task: https://developer.blender.org/D5289
July 30, 2019, 12:06 (GMT)
Cloth: optimize obstacle metric by returning if planes is empty
July 30, 2019, 11:58 (GMT)
rename modifier to effector in some places

That was missing in a previous commit.
July 30, 2019, 11:44 (GMT)
add color attribute type
July 30, 2019, 11:43 (GMT)
Fix crash clicking in the 3D view on startup

Setting the 3D view cursor on startup could crash because the
viewport hasn't been assigned to the region.
July 30, 2019, 11:28 (GMT)
Initial, mostly broken VR viewport drawing on own thread

Spawns a separate thread to do any VR session drawing on. There are
four reasons for this:
* VR session doesn't need the usual main loop procedure for drawing.
With the drawing on a separate thread, the session doesn't have the
overhead of the other parts of the main loop.
* OpenXR performs thread blocking operations to synchronize rendering
with the device refresh rate. This would conflict with the rest of
Blender, causing lags on event handling, drawing, etc.
* With an own thread, we can keep a single OpenGL context alive,
avoiding expensive context switches. This should improve performance
significantly.
* With a bit more work, viewports can draw entirely in parallel (at
least the CPU side of it), pushing performance even further.

Drawing the viewport on a separate thread shouldn't be much of an
issue. The draw-manager is already thread safe (mutex guarded). Not much
seems needed to get it entirely concurrent, allowing viewport drawing
from separate threads without any synchronization (i.e. only one at a
time).
I had to create an own depsgraph for the VR draw thread so the viewport
gets its own buffers for its own OpenGL context.

Right now this is utterly broken, but at least an empty viewport is
drawn for the VR session in a separate thread. Issues are:
* VR viewport doesn't draw any objects, just background + overlays
(apparently the VR session depsgraph isn't built correctly).
* OpenGL context of the main thread seems messed up when drawing the VR
view. Result is drawing glitches and eventually Blender crashes.
* Exiting the VR session causes failed assertions and memory leaks.
July 30, 2019, 11:27 (GMT)
simplify the way attribute information is stored
July 30, 2019, 11:14 (GMT)
Cloth: fix issue in compute_face_sizing, epsilon for invert_m2, face_sizing debug statements

Problem was that the det(facedm) was 0.0f or at least close to 0.0f which means inverse would lead to division by 0.0f error which resulted in -nan.
July 30, 2019, 11:00 (GMT)
Tracking: Fix wrong usage of draw buffers

Curve drawing was attempting to draw reprojection error curve when it was
not visible.

Worst thing is that the imm was not informed about vertices, so the code
was causing an assert in debug mode. Probably, it is also what have caused
random crashes after recent changes.
July 30, 2019, 10:35 (GMT)
Merge remote-tracking branch 'origin/master' into sybren-usd
July 30, 2019, 10:25 (GMT)
Fix T67274: Graph Editor Normalization broken by Keyframe that uses Easing or Dynamic interpolation

We didn't include and of the newer interpolation types in the
normalization function.
Besides taking into account these newer types, we now also only evaluate
the curves when needed. If the values between the control points won't
exceed the control point values, we only use the start/end values for
our normalization

Reviewed By: Brecht

Differential Revision: https://developer.blender.org/D5365
July 30, 2019, 10:14 (GMT)
new Change Particle Color node
July 30, 2019, 10:01 (GMT)
new Separate Color node
July 30, 2019, 10:01 (GMT)
new color socket type
July 30, 2019, 09:57 (GMT)
Particle: Fix incorrect access to evaluated mesh

Mesh can not be requested from original object, and it can not be
copied into evaluated modifier because there is no such a thing yet.

It can not be done this way now, because getting evaluated object
will force it to re-calculate, which kind of defeats idea of this
code to preserve un-baked particles.
July 30, 2019, 09:46 (GMT)
3D View: Move selection API to a Selection engine.

This commit moves the API of selecting faces, vertices and edges to a DRW manager engine.

Reviewers: campbellbarton, fclem

Subscribers: jbakker, brecht

Differential Revision: https://developer.blender.org/D5090
July 30, 2019, 09:30 (GMT)
Fix T67906: empty menus for hooks if non-hook modifiers are present
July 30, 2019, 09:24 (GMT)
Py node shader wrapper: Add clamping to official min/max values.

Taking values from relevant node definition C file...

Related to T67889.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021