Blender Git Commits

Blender Git "master" branch commits.

46 minutes ago
Columns should be expandable by default
56 minutes ago
Cleanup: remove unused orig_nu from keyIndex ghash of editcurves.
56 minutes ago
Fix T50745: Shape key editing on bezier objects broken with Rendered Viewport Shading

So... Curve+shapekey was even more broken than it looked, this report was
actually a nice crasher (immediate crash in an ASAN build when trying to
edit a curve shapekey with some viewport rendering enabled).

There were actually two different issues here.

I) The less critical: rB6f1493f68fe was not fully fixing issues from
T50614. More specifically, if you updated obdata from editnurb
*without* freeing editnurb afterwards, you had a 'restored' (to
original curve) editnurb, without the edited shapekey modifications
anymore. This was fixed by tweaking again `calc_shapeKeys()` behavior in

II) The crasher: in `ED_curve_editnurb_make()`, the call to
`init_editNurb_keyIndex()` was directly storing pointers of obdata
nurbs. Since those get freed every time `ED_curve_editnurb_load()` is
executed, it easily ended up being pointers to freed memory. This was
fixed by copying those data, which implied more complex handling code
for editnurbs->keyindex, and some reshuffling of a few functions to
avoid duplicating things between editor's editcurve.c and BKE's curve.c

Note that the separation of functions between editors and BKE area for
curve could use a serious update, it's currently messy to say the least.
Then again, that area is due to rework since a long time now... :/

Finally, aligned 'for_render' curve evaluation to mesh one - now
editing a shapekey will show in rendered viewports, if it does have some
weight (exactly as with shapekeys of meshes).
5 hours 33 min ago
Use new api doc links

Differential Revision:
9 hours 46 min ago
Fix Cycles still saving render output when error happened

This was fixed ages ago for the interface case but not for the
command line. The thing here is that currently external engines
are relying on reports system to indicate that error happened
so suppressing reports storage in the background mode prevented
render pipeline from detecting errors happened.

This is all weak and i don't like it, but this is better than
delivering black frames from the farm.
11 hours 58 min ago
Cycles: Fix shading with autosmooth and custom normals

New logic of split_faces was leaving mesh in a proper state
from Blender's point of view, but Cycles wanted loop normals
to be "flushed" to vertex normals.

Now we do such a flush from Cycles side again, so we don't
leave bad meshes behind.

Thanks Bastien for assistance here!
12 hours 46 min ago
Cycles: Additionally report all OpenCL cflags

This way we can control exact spaces and such added to the cflags
which is crucial to troubleshoot certain drivers.
13 hours 12 min ago
Refactor Mesh split_faces() code to use loop normal spaces.

Finding which loop should share its vertex with which others is not easy
with regular Mesh data (mostly due to lack of advanced topology info, as
opposed with BMesh case).

Custom loop normals computing already does that - and can return 'loop
normal spaces', which among other things contain definitions of 'smooth
fans' of loops around vertices.

Using those makes it easy to find vertices (and then edges) that needs

This commit also adds support of non-autosmooth meshes, where we want to
split out flat faces from smooth ones.
1 day and 3 hours ago
Fix Drawing nested box layouts (D2508)
Revision 4e9b17d by Mai Lavelle
1 day and 9 hours ago
Cycles: Speedup by avoiding extra calculations in noise texture when unneeded

Noise texture is now faster when the color socket is unused. Potential for
speedup spotted by @nutel.

Some performance results:

Render Time Before After Difference
Gooseberry benchmark 47:51.34 45:55.57 -4%
Koro 12:24.92 12:18.46 -0.8%
Simple cube (Color socket) 48.53 48.72 +0.3%
Simple cube (Fac socket) 48.74 32.78 -32.7%
Goethe displacement 1:21.18 1:08.47 -15.6%
Cycles brick displacement 3:02.38 2:16.76 -25.0%
Large displacement scene 23:54.12 20:09.62 -15.6%

Reviewed By: sergey

Differential Revision:
1 day and 20 hours ago
Cleanup: use proper link to the api
February 20, 2017, 10:56 (GMT)
Fix T50718: Regression: Split Normals Render Problem with Cycles

The issue seems to be caused by vertex normal being re-calculated
to something else than loop normal, which also caused wrong loop
normals after re-calculation.

For now issue is solved by preserving CD_NORMAL for loops after
split_faces() is finished, so render engine can access original
proper value.
February 20, 2017, 10:47 (GMT)
Mesh faces split: Add missing vertex normal copy
February 20, 2017, 10:02 (GMT)
Fix T50719: Memory usage won't reset to zero while re-rendering on two video cards

Was only visible with Persistent Images option ON.
February 18, 2017, 22:59 (GMT)
Fix a few compiler warnings with macOS / clang.
February 18, 2017, 21:41 (GMT)
Fix T50564: 3D view panning with scroll wheel inconsistent with dragging.
February 17, 2017, 17:55 (GMT)
Fix T50614: Curve doesn't restore initial form after deleting all its shapekeys

Logic of handling shapekeys when entering and leaving edit mode for
curves was... utterly broken.

Was leaving actual curve data with edited shapekey applied to it.
February 17, 2017, 12:49 (GMT)
Remove unused functions related to distance between BoundBox and ray
February 17, 2017, 02:41 (GMT)
Forgotten in last commit: Check the allocation
February 17, 2017, 01:55 (GMT)
Do not release the arrays used in the parameters of the expanded functions of bvhutils

The release of these arrays should be the programmer's discretion since these arrays can continue to be used.

Only the expanded functions `bvhtree_from_mesh_edges_ex` and `bvhtree_from_mesh_looptri_ex` are currently being used in blender (in mesh_remap.c), and from what I could to analyze, these changes can prevent a crash.
By: Miika HämäläinenLast update: Nov-07-2014 14:18 MiikaHweb | 2003-2017