Campbell Barton [Sun, 7 Feb 2016 09:58:58 +0000 (20:58 +1100)]
move windows out of source dir
Sergey Sharybin [Sun, 7 Feb 2016 01:18:51 +0000 (06:18 +0500)]
Cycles: Fix access uninitialized light after recent refactor/fixes
Joshua Leung [Sat, 6 Feb 2016 04:57:50 +0000 (17:57 +1300)]
Motion Paths: Use custom poll functions for "Update" operator
Joshua Leung [Sat, 6 Feb 2016 00:09:59 +0000 (13:09 +1300)]
Motion Paths: Show "Update" button in the toolbox too
Joshua Leung [Sat, 6 Feb 2016 00:04:20 +0000 (13:04 +1300)]
Clear motionpaths for all objects and bones instead of only selected ones
With the old behaviour, it was too easy to get old paths hanging around because you
forgot to go through and select a few bones that still had them.
Joshua Leung [Fri, 5 Feb 2016 23:59:03 +0000 (12:59 +1300)]
Added Context.editable_objects/bases
This is useful when you want visible + editable objects, but you don't
want to require the items to be selected as well.
Sergey Sharybin [Sat, 6 Feb 2016 21:21:38 +0000 (02:21 +0500)]
Cycles: Refactor the way how we exclude light from the device
This unifies things around ignoring light due to lack of scene
contribution or due to other optimization tricks.
Brecht Van Lommel [Sat, 6 Feb 2016 19:35:36 +0000 (20:35 +0100)]
Fix T46550: Cycles combined baking black in some cases.
Now pass_filter is modified to have exactly the flags for the light components
that need to be baked, based on the shader type. This simplifies the logic.
Sergey Sharybin [Sat, 6 Feb 2016 19:43:44 +0000 (20:43 +0100)]
Cycles: Solve issues with auto-disabled MIS
There were two issues:
1. Memory leak: std:;erase does not call delete on the
pointer (which is actually a good idea),
2. After MIS was disabled in viewport render there was
no way to bring MIS back.
Now instead of removing light from the scene data we
kind of tagging it for an ignore. Possible cleanup
would be to add Light::is_enabled and use that instead
of passing weird and wonderful function arguments.
Sergey Sharybin [Fri, 5 Feb 2016 08:09:39 +0000 (09:09 +0100)]
Cycles: Re-implement some utilities to avoid use of boost
The title says it all actually, the idea is to make Cycles
only requiring Boost via 3rd party dependencies like OIIO
and OSL.
So now there are only few places which still uses Boost:
- Foreach, function bindings and threading primitives.
Those we can easily get rid with C++11 bump (which seems
inevitable sooner or later if we'll want ot use newer
LLVM for OSL),
- Networking devices
There's no quick solution for those currently, but there
are some patches around which improves serialization.
Reviewers: juicyfruit, mont29, campbellbarton, brecht, dingto
Reviewed By: brecht, dingto
Differential Revision: https://developer.blender.org/D1764
Sergey Sharybin [Sat, 6 Feb 2016 18:09:44 +0000 (19:09 +0100)]
Cycles: Add some utility tests using GTests
This is an initial move to have unittests to at least cover
utility functions, which then could be extended further to
test such areas as shader optimization and such.
Currently only based on initial "infrastructure" layout and
writing tests needed to test the no-boost patch.
Note: This patch starts to use "<dir>/<header>.h" notation
for the include statements which i just got used to do in
other projects. Something what would be cool to use globally
in the code eventually.
Reviewers: dingto, juicyfruit, lukasstockner97, brecht
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D1770
Brecht Van Lommel [Sat, 6 Feb 2016 18:12:22 +0000 (19:12 +0100)]
Fix T47320: Cycles baking in edit mode uses outdated mesh.
Sergey Sharybin [Sat, 6 Feb 2016 16:19:47 +0000 (21:19 +0500)]
Fix gtests on Windows/MSVC
There were some missing stubs and some tests were specifically
written for Linux. Also, apparently MSVC has a limit of 64K for
the insource strings..
Sergey Sharybin [Sat, 6 Feb 2016 15:42:19 +0000 (16:42 +0100)]
Fix typo in 32bytes aligned malloc test
Sergey Sharybin [Sat, 6 Feb 2016 14:56:47 +0000 (15:56 +0100)]
Cycles: Remove workaround for MSVC2010 and Boost
We've upgraded to Boost-1.60 and MSVC2013 since the workaround
was originally committed. After checks with current compiler and
libraries the original bug is no longer happening.
This will make string comparison much faster in Windows, solving
synchronization bottlenecks of fewzillion objects.
Thanks Martin Felke (aka scorpion81) for the tests!
Sergey Sharybin [Sat, 6 Feb 2016 14:03:32 +0000 (15:03 +0100)]
Fix GTests compilations on Windows
Unfortunately this doesn't make all tests compilable due
to all sort of weird and wonderful bad levels includes
on Windows (G referenced from bf_blenlib) but at least
allows to selectively build tests for now.
Sergey Sharybin [Sat, 6 Feb 2016 13:37:29 +0000 (14:37 +0100)]
CMake: Remove mention of extern_redcode, it was removed
Brecht Van Lommel [Thu, 4 Feb 2016 21:26:46 +0000 (22:26 +0100)]
Fix T47204: selection failing directly after disabling multisample in user prefs.
Now store the multisample setting each window was created with.
Brecht Van Lommel [Fri, 29 Jan 2016 19:10:38 +0000 (20:10 +0100)]
Code cleanup: resolve minor Cycles todo's.
Brecht Van Lommel [Fri, 29 Jan 2016 19:01:35 +0000 (20:01 +0100)]
Code cleanup: remove unused Cycles code from BVH cache.
Brecht Van Lommel [Thu, 4 Feb 2016 22:35:08 +0000 (23:35 +0100)]
Fix Burley BSSRDF NaNs and fireflies.
Explicitly truncate to Rm same way as the Gaussian BSSRDF, and use safe_sqrtf()
to be sure in case of float precision issues.
Thomas Dinges [Fri, 5 Feb 2016 23:07:20 +0000 (00:07 +0100)]
Cleanup: Remove support for OSL versions < 1.6.
We can get rid of more ifdefs once all platforms are on OSL 1.7 soon.
Thomas Dinges [Fri, 5 Feb 2016 21:45:36 +0000 (22:45 +0100)]
Cycles: Change several default values (second batch).
This change the following values:
- World settings:
- Use MIS: On
- MIS Samples: 1
- MIS Resolution: 1024
Enabling World MIS per default won't make simple backgrounds (flat background color) slower,
see previous commit. This gets disabled internally if World MIS is not actually needed.
Thomas Dinges [Fri, 5 Feb 2016 21:13:51 +0000 (22:13 +0100)]
Cycles: Auto disable World MIS, if we only use a simple color.
When World MIS is enabled by the user, we now check if we actually need it.
In case of a simple node setup (no procedurals, no HDRs..) we auto disable MIS internally to save render time.
This change is important for upcoming default changes.
Thomas Dinges [Fri, 5 Feb 2016 20:33:37 +0000 (21:33 +0100)]
Cleanup: Rename has_heterogeneous_volume variable.
No functional changes, this change is done for consistency of upcoming changes.
Bastien Montagne [Fri, 5 Feb 2016 17:48:15 +0000 (18:48 +0100)]
Fix error in last commit.
treedata could have a non-initialized tree in case of edge_snapping, leading to segfault.
Spotted by @mano-wii, thanks.
Bastien Montagne [Fri, 5 Feb 2016 17:12:07 +0000 (18:12 +0100)]
Fix T47326: Snap to vertices not working properly in orthogonal view mode.
Same causes as when snapping to faces, so same solution: in case of ortho view,
offset start of ray to be just slightly outside of the target's bbox, to avoid
too much far away start point that generate floating point computation instability
in BVH raycasting.
Note that this lead to some refactoring, to avoid duplicating too much of code.
For now, edge snapping seems to behave OK (uses different logic), so not touched.
Based on patch by Germano Cavalcante (@mano-wii), thanks!
Sergey Sharybin [Fri, 5 Feb 2016 13:57:53 +0000 (14:57 +0100)]
Fix T47329: Compositing fails to render unless each included scene was rendered since opening
Joshua Leung [Fri, 5 Feb 2016 13:34:57 +0000 (02:34 +1300)]
Fix T45915: Cannot select keyframes in summary channels in Dope Sheet in TweakMode
When in TweakMode on NLA strips that had an offset, it was not possible to select
those keyframes in the Summary Channel in the Dope Sheet.
The main gist of it is that the current code is from before the summary track was
introduced, and so could assume that ANIM_nla_mapping_get() would work for all channels
present. Thus, simply converting the clicked frame to nla-mapped time once would be
enough. However, for summary channels, nla-mapping_get() doesn't do anything, since
we can potentially include keyframes from several different objects!
Joshua Leung [Fri, 5 Feb 2016 11:59:32 +0000 (00:59 +1300)]
Fix T46037: Moving keys in NLA tweak mode on offset actions results in Bezier handles getting stretched unreasonably
Patch by Alexander Gavrilov (angavrilov)
Reviewed by Joshua Leung (aligorith)
Sergey Sharybin [Fri, 5 Feb 2016 13:11:16 +0000 (14:11 +0100)]
Cycles: ifdef some extra code when building split kernels
Sergey Sharybin [Fri, 5 Feb 2016 12:40:51 +0000 (13:40 +0100)]
Cycles: Don't gray out integrator settings when userprefs are set to OpenCL but scene is set to CPU
Bastien Montagne [Fri, 5 Feb 2016 11:03:58 +0000 (12:03 +0100)]
Install_deps: update magic build numbers of OIIO and OSL.
Please remember to change those each time you update building code and there is no version change.
Otherwise poeple re-running the script won't get the updated builds.
Sergey Sharybin [Fri, 5 Feb 2016 09:06:08 +0000 (10:06 +0100)]
Cycles: Fix for initial guess of the radius for Burley BSSRDF
The value was too high, causing bad Newton iteration step.
Now the value is not so good, but it's still within 9 iterations
and those high number of iterations are only happening in
approx 1% of input values.
Thomas Dinges [Thu, 4 Feb 2016 23:02:35 +0000 (00:02 +0100)]
Cycles / OSL: Updare stdosl.h to 1.7.1.
This updates our file to OSL 1.7.1, which comes with some new inbuilt
features:
- linearstep()
- smooth_linearstep()
- hash()
- getchar()
Thomas Dinges [Thu, 4 Feb 2016 22:42:39 +0000 (23:42 +0100)]
Install Deps: Use SSE2 optimizations for OIIO and OSL.
Thomas Dinges [Thu, 4 Feb 2016 21:42:55 +0000 (22:42 +0100)]
Cleanup: Update BSSRDF code comment.
Campbell Barton [Thu, 4 Feb 2016 17:28:16 +0000 (04:28 +1100)]
Support for cubemap reflections in the viewport
D1756 by @youle, uses existing texture mapping option.
Campbell Barton [Thu, 4 Feb 2016 16:57:58 +0000 (03:57 +1100)]
Update themes
Label text editing uses colors from text buttons
Thomas Beck [Thu, 4 Feb 2016 17:10:20 +0000 (18:10 +0100)]
Install_deps: Disable building tests for OSL
Since we're now on 1.7 we can skip building the OSL testsuite. It was giving various compilation errors on different machines and we don't need them anyway...so just disabling them in the script.
Campbell Barton [Thu, 4 Feb 2016 15:57:53 +0000 (02:57 +1100)]
Fix T47324: Edit-text in list view theme glitch
Use existing text select colors when text matches select color.
Bastien Montagne [Thu, 4 Feb 2016 15:50:46 +0000 (16:50 +0100)]
Install_deps: tweak OSL build options.
Bastien Montagne [Thu, 4 Feb 2016 15:35:32 +0000 (16:35 +0100)]
Install_deps: updated OSL to 1.7.1.
Sergey Sharybin [Thu, 4 Feb 2016 14:25:29 +0000 (15:25 +0100)]
Cycles: Speedup of Christensen-Burley SSS falloff function
The idea is simply to pre-compute fitting and parameterization
in the bssrdf_setup() function and re-use the values in both
sample() and eval().
The only trick is where to store the pre-calculated values and
the answer is inside of ShaderClosure->custom{1,2,3}. There's
no memory bump here because we now simply re-use padding fields
for the pre-calculated values. Similar trick we can do for other
BSDFs.
Seems to give nice speedup up to 7% here on my desktop with
Core i7 CPU, SSE4.1 kernel.
Thomas Dinges [Thu, 4 Feb 2016 13:08:36 +0000 (14:08 +0100)]
Fix T47323, no Fac output in Magic texture (OSL).
Sergey Sharybin [Thu, 4 Feb 2016 08:57:00 +0000 (09:57 +0100)]
Nodes: Remove code which was dead for 2 years now
Sergey Sharybin [Thu, 4 Feb 2016 08:52:56 +0000 (09:52 +0100)]
Cycles: Make Christensen-Burley a default falloff function
Sergey Sharybin [Wed, 3 Feb 2016 22:34:49 +0000 (03:34 +0500)]
Cycles: Implement approximate reflectance profiles
Using this paper:
http://graphics.pixar.com/library/ApproxBSSRDF/paper.pdf
This model gives less blurry results than the Cubic and Gaussian
we had implemented:
- Cubic: https://developer.blender.org/
F279670
- Burley: https://developer.blender.org/
F279671
The model is called "Christensen-Burley" in the interface, which
actually should be read as "Physically based" or "Realistic".
Reviewers: juicyfruit, dingto, lukasstockner97, brecht
Reviewed By: brecht, dingto
Subscribers: robocyte
Differential Revision: https://developer.blender.org/D1759
Campbell Barton [Thu, 4 Feb 2016 06:40:02 +0000 (17:40 +1100)]
Use contextlib for temporary py console overrides
Using context overrides means stdout/stderr overrides can't be left set by accident.
Campbell Barton [Thu, 4 Feb 2016 04:26:07 +0000 (15:26 +1100)]
Project Paint: add sample merged option
This picks the on-screen color instead of using the active layers texture color.
Campbell Barton [Thu, 4 Feb 2016 03:17:52 +0000 (14:17 +1100)]
Fix T47317: Dynamic paint crashes with no UV layer
Sergey Sharybin [Wed, 3 Feb 2016 14:01:26 +0000 (15:01 +0100)]
Cycles: Correction to asserts, they will never trigger before
Sergey Sharybin [Wed, 3 Feb 2016 14:00:55 +0000 (15:00 +0100)]
Cycles: Cleanup, indentation and braces
Sergey Sharybin [Wed, 3 Feb 2016 13:40:02 +0000 (14:40 +0100)]
Fix T47266: Blender crashes from Scripted Expression in Driver
Issue was caused by update RNA callbacks freeing the dependency
graph, which is only needed to tag depsgraph for rebuild.
Solved by using a flag for the depsgraph which indicated that it
is to be rebuilt.
Sergey Sharybin [Wed, 3 Feb 2016 11:17:39 +0000 (12:17 +0100)]
Cycles: Cleanup, indentation
Not sure why it was mixed tabs and spaces, it's all just
confusing in different editors.
Sergey Sharybin [Wed, 3 Feb 2016 11:10:00 +0000 (12:10 +0100)]
Fix T47302: Crash when OSL active with a viewport on rendered
Only happened when rendering second time with OSL enabled.
Was caused by fix for T47201. Hopefully now all the issues
are solved (meaning, we don't keep files opened and don't
crash either).
Campbell Barton [Wed, 3 Feb 2016 10:17:07 +0000 (21:17 +1100)]
Cleanup: parenthesize macros
Campbell Barton [Wed, 3 Feb 2016 07:31:39 +0000 (18:31 +1100)]
Imbuf: remove libredcode
D1751, remove this library since its quite a specific - only supports an older version of this codec.
Also ffmpeg has added support for recent versions of the codec.
Campbell Barton [Wed, 3 Feb 2016 07:01:18 +0000 (18:01 +1100)]
Cleanup: refactor tooltip data-access out of layout function
Campbell Barton [Wed, 3 Feb 2016 06:45:54 +0000 (17:45 +1100)]
Remove redundant file exists checks
Campbell Barton [Wed, 3 Feb 2016 06:33:51 +0000 (17:33 +1100)]
Fix T47303: Voxel texture disappears after first frame
Failed reads didn't update the voxel 'ok' tag,
making successive reads fail (even on existing frames).
Campbell Barton [Wed, 3 Feb 2016 06:06:42 +0000 (17:06 +1100)]
Recent BLI_rename fix introduced error w/ blend file versioning
Rename calls didn't check if the file existed first, so missing file was counted as success and ignored.
Campbell Barton [Wed, 3 Feb 2016 05:37:02 +0000 (16:37 +1100)]
Include why file operations fail in reports
Campbell Barton [Wed, 3 Feb 2016 04:57:24 +0000 (15:57 +1100)]
Fix BLI_rename returned success w/ missing source path
Campbell Barton [Wed, 3 Feb 2016 04:01:50 +0000 (15:01 +1100)]
Fix T47249: Wrong edit-mesh material color w/ hidden faces
Regression in
700c40e2
Also avoid unnecessary flushes with material changes with hidden faces.
Campbell Barton [Wed, 3 Feb 2016 00:51:58 +0000 (11:51 +1100)]
Cleanup: correct comment, unused var
Bastien Montagne [Tue, 2 Feb 2016 20:27:33 +0000 (21:27 +0100)]
Fix T47300: SHIFT TAB, CTRL SHIFT TAB shortcuts does not toggle snap, snap mode on off anymore.
Regression from rB12c71508c2d7.
Now, we systematically first try keycode from `XLookupKeysym()`, and only fall back to
the one from `XLookupString()` if it failed to convert to a valid gkey.
Bastien Montagne [Tue, 2 Feb 2016 19:40:23 +0000 (20:40 +0100)]
Usual i18n/UI message fixes...
Sergey Sharybin [Tue, 2 Feb 2016 17:06:03 +0000 (18:06 +0100)]
Cycles: Cleanup and reference actual paper used for BSSRDF sampling
Campbell Barton [Tue, 2 Feb 2016 16:30:36 +0000 (03:30 +1100)]
Fix T46933: Bone axes letters may not be visible
Now axis letters are view aligned.
Sergey Sharybin [Tue, 2 Feb 2016 15:04:33 +0000 (16:04 +0100)]
Fix T46583: Sculpt symmetry don't work in clipping border view mode
This is an attempt to solve the issue by doing clip test on the original
side of the stroke. Some extra testing is required.
Sergey Sharybin [Tue, 2 Feb 2016 14:43:20 +0000 (15:43 +0100)]
Fix T46411: Experimental deps graph causes particles to jump around
Sergey Sharybin [Tue, 2 Feb 2016 14:33:50 +0000 (15:33 +0100)]
Depsgraph: Fix particle system component nodes not being displayed in debug graph
Sergey Sharybin [Tue, 2 Feb 2016 14:01:58 +0000 (15:01 +0100)]
Fix T46382: Crash sharing particle system with clump or rough curves
Made those curves local to thread evaluation now, so there is no
threading conflict accessing them from evaluation threads anymore.
Sergey Sharybin [Tue, 2 Feb 2016 12:54:53 +0000 (13:54 +0100)]
Fix T46481: Volume grid particles out of volume
The issue was caused by fix for 31017 which resulted in some
missing intersecitons recorded which screwed inner/outer checks.
This is an old bug, so didn't bother with forcing re-distribution
to happen on file open to avoid possible other regressions.
Sergey Sharybin [Tue, 2 Feb 2016 11:48:18 +0000 (12:48 +0100)]
Fix T47207: Material shading incorrectly handles colorramp node
The issue was introduced by a fix for T44713 which only made GLSL
consistent with Cycles.
Now we do have conditional averaging or proper luma weighting based
on whether we're new old old shading system. Not totally ideal but
should work for until we re-design viewport possibly breaking how
Blender Internal does implicit conversion.
Campbell Barton [Tue, 2 Feb 2016 06:37:00 +0000 (17:37 +1100)]
Cleanup: rename uvflag -> flag for dm drawing
Was called both, however this isn't mainly for uv's so just call 'flag'.
Also remove redundant NULL check.
Campbell Barton [Tue, 2 Feb 2016 05:06:45 +0000 (16:06 +1100)]
Partial Fix T47221: Sculpt Hide fails w/ texture drawing
Support for skipping hidden faces in sculpt mode w/ texture drawing.
Campbell Barton [Tue, 2 Feb 2016 03:13:57 +0000 (14:13 +1100)]
UI: update dynamic tips
Useful for progress ETA to continuously update.
This adds API option not to activate new regions GL state which isn't needed in many cases.
Campbell Barton [Tue, 2 Feb 2016 03:06:06 +0000 (14:06 +1100)]
Fix T47256: Progress bar doesn't update w/ mouse-over
Campbell Barton [Tue, 2 Feb 2016 01:03:32 +0000 (12:03 +1100)]
Use simpler method to check the planes view aligned
Campbell Barton [Tue, 2 Feb 2016 01:39:31 +0000 (12:39 +1100)]
Match armature/object select grouped order
Campbell Barton [Tue, 2 Feb 2016 00:56:30 +0000 (11:56 +1100)]
Cleanup: style
MichaĆ Ziobro [Mon, 1 Feb 2016 23:28:34 +0000 (00:28 +0100)]
Armature select similar: children, immediate-children en sibligns selection.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D1750
Brecht Van Lommel [Mon, 1 Feb 2016 23:38:14 +0000 (00:38 +0100)]
Fix build error on OS X in previous commit, this define should stay.
Brecht Van Lommel [Mon, 1 Feb 2016 23:16:31 +0000 (00:16 +0100)]
Fix T47293: game engine crashes since Bullet upgrade.
This restores a modification that was there before.
Sergey Sharybin [Mon, 1 Feb 2016 17:09:15 +0000 (18:09 +0100)]
Fix double metadata prefix when using strip's metadata
Sergey Sharybin [Mon, 1 Feb 2016 16:10:40 +0000 (17:10 +0100)]
Correction to previous fix of multiple releases of same ImBuf
Original change in
d631252 was not quite correct because it
was missing release since the acquire() will return NULL.
Hopefully now all the cases are covered.
Alexander Romanov [Mon, 1 Feb 2016 15:46:32 +0000 (18:46 +0300)]
Fix T47288 Vector transform not behaving correctly with camera space and cycles
Sergey Sharybin [Mon, 1 Feb 2016 15:33:29 +0000 (16:33 +0100)]
Fix potential access uninitialized metadata
Sergey Sharybin [Mon, 1 Feb 2016 15:29:45 +0000 (16:29 +0100)]
Remove debug-only code which sneaked in
Sergey Sharybin [Mon, 1 Feb 2016 15:09:21 +0000 (16:09 +0100)]
Fix wrong information used for stamp when "Strip Metadata" is used
Such configuration used to cause quite confusing situation when
stamp will use actual scene's statistics but metadata from strip
will be used for the saved file (basically, causing different
information stamped and saved as metadata).
Don't think it was desired behavior and it's something what
artists here in the studio wants to be fixed.
Gaia Clary [Mon, 1 Feb 2016 13:01:02 +0000 (14:01 +0100)]
Add theme settings for keyframe indication in 3D View
Bastien Montagne [Mon, 1 Feb 2016 13:03:31 +0000 (14:03 +0100)]
Cleanup: FileData->flags: Convert defines to anonymous enum.
Campbell Barton [Mon, 1 Feb 2016 10:42:39 +0000 (21:42 +1100)]
Fix T47238: Bug w/ view aligned constraint plane
When constraining on 2 axis, it was possible the plane was view-aligned causing odd glitches.
Campbell Barton [Mon, 1 Feb 2016 07:06:34 +0000 (18:06 +1100)]
Avoid duplicate getConstraintSpaceDimension calls
Sergey Sharybin [Mon, 1 Feb 2016 09:39:16 +0000 (10:39 +0100)]
CMake: Silent Numpy warning on OSX
It is in the archive actually and being installed nicely by the looks of it.
Sergey Sharybin [Mon, 1 Feb 2016 09:38:34 +0000 (10:38 +0100)]
CMake: Attempt to fix wrong installation folder for requests on OSX
Sergey Sharybin [Mon, 1 Feb 2016 09:19:55 +0000 (10:19 +0100)]
Sequencer: IF effect strip only affects on a single strip use source metadata for the result
This way it's possible to have some color-correction modifications on
top of the render result and yet still have proper metadata stored.
Usecase: Access per-frame render-time of the movie frames from the
final export.
Sergey Sharybin [Mon, 1 Feb 2016 09:02:24 +0000 (10:02 +0100)]
Cycles: Fix wrong clamping used for camera border