Commit Graph

62639 Commits

Author SHA1 Message Date
Campbell Barton
8965586151 Editmesh select sub-menu 'Select All by Trait'
Similar to object mode 'Select All by Type',
This menu is for various options to select based on some rules.

Moving into a submenu removes clutter, and means we can add other selection types.
2016-01-08 04:07:20 +11:00
Campbell Barton
5d118f6dd7 BMesh: add select next/prev operator
This uses selection history to select the next vert/edge/face based on surrounding topology.
Select previous just removes the last selected element.

Uses key-bindings: Ctrl-Shift +/-
2016-01-08 03:21:31 +11:00
Sergey Sharybin
08185d2af0 Fix T46723: Issue with linking to rigs running Blender in new depsgraph mode
This isn't really ideal fix, but currently i can't tell how proxies should work
with the new dependency graph. This backward links are crazy, non-threadsafe
and mindblowing. Need to do some smarter/easier system.
2016-01-07 20:06:13 +05:00
Campbell Barton
3ad1e4fab9 addon_utils: improve docstrings
Also make error handler take the exception as its argument.
2016-01-07 23:33:51 +11:00
Campbell Barton
3e530f9439 Fix error in recent commit 2016-01-07 21:05:49 +11:00
Campbell Barton
eed28a1db8 Select mirror multiple axis support
Previously you could only select mirror on X axis,
now support mirroring on multiple axis as well as more than one
(for mesh and lattice data).
2016-01-07 20:57:03 +11:00
Sergey Sharybin
9e3ae79a54 Fix access possibly uninitialized armature's bounding box flag 2016-01-07 14:35:01 +05:00
Campbell Barton
c4fda6f7d0 Cleanup: use generic xyz axis enums 2016-01-07 20:22:49 +11:00
Campbell Barton
0778856268 Cleanup: remove unused scene arg 2016-01-07 20:11:59 +11:00
Sergey Sharybin
5483695698 Cycles: Update some API to be ready for OSL 1.6
While previous code was already compiling with OSL 1.6 it was using some symbols
which were considered deprecated in upstream.

This commit adds some ifdefs, but soon we'll get rid of all them rather soon
with the upcoming OIIO/OSL update.
2016-01-07 14:04:12 +05:00
Sergey Sharybin
772a3dab21 Cycles: Update some types used form OSL
Some types were deprecated back in 2013, better to be prepared earlier for those
types being removed from upstream.
2016-01-07 13:15:30 +05:00
Sergey Sharybin
3d313c9e5c Cycles: Whitespace cleanup, extra space in the argument list
Seems we're really starting to need to have cpplint for Cycles.
2016-01-07 11:52:45 +05:00
Sergey Sharybin
02739bd051 Cycles: Cleanup, use "string_" prefix for functions in util_string
No functional changes, just makes it easier to track where the function
is coming from.
2016-01-07 11:47:58 +05:00
Sergey Sharybin
9f2d33a652 Cycles: Fix wrong transparency flag being set to integrator
Patch from be28706 made it so integrator will use last shader's transparent
shadow flag, which is wrong since last shader might not have transparent
shadow while shaders prior to it might have one.
2016-01-07 11:45:13 +05:00
Thomas Dinges
3da0af1464 Cycles: Add utility function to convert bool to string. 2016-01-07 01:38:25 +01:00
Thomas Dinges
db72639e1f Cleanup: Fix Cycles compile warning on MSVC. 2016-01-07 00:26:26 +01:00
Thomas Dinges
81a253a0d5 Cycles OpenCL: Change environment flags for testing.
CYCLES_OPENCL_TEST was removed, there was an insonsistency between
opencl_kernel_use_split() and opencl_get_usable_devices().

From now on, to test non whitelisted devices please use either
CYCLES_OPENCL_MEGA_KERNEL_TEST or CYCLES_OPENCL_SPLIT_KERNEL_TEST.
2016-01-07 00:14:04 +01:00
Thomas Dinges
83e73a2100 Cycles: Refactor how we pass bounce info to light path node.
This commit changes the way how we pass bounce information to the Light
Path node. Instead of manualy copying the bounces into ShaderData, we now
directly pass PathState. This reduces the arguments that we need to pass
around and also makes it easier to extend the feature.

This commit also exposes the Transmission Bounce Depth to the Light Path
node. It works similar to the Transparent Depth Output: Replace a
Transmission lightpath after X bounces with another shader, e.g a Diffuse
one. This can be used to avoid black surfaces, due to low amount of max
bounces.

Reviewed by Sergey and Brecht, thanks for some hlp with this.

I tested compilation and usage on CPU (SVM and OSL), CUDA, OpenCL Split
and Mega kernel. Hopefully this covers all devices. :)
2016-01-06 23:43:29 +01:00
Bastien Montagne
be28706bac Proper fix for memleaks when rendering partsys from edit mode... 2016-01-06 21:22:01 +01:00
Bastien Montagne
f286df75c0 ...And fix memleak in previous commit, sigh... 2016-01-06 20:28:21 +01:00
Bastien Montagne
31e6978066 Fix (unreported) crash when rendering hairs from edit mode (own regression in recent particle edit fix).
*sigh* hope we fix some day that recursion issue that makes it such a PITA to generate DM of other targets from DM stack...
2016-01-06 20:20:50 +01:00
Bastien Montagne
4acf0f05a1 'users of ID' py API.
This mainly adds bpy.data.user_map() method, which goes over the whole Main database
to build a mapping (dict) {ID: {users_of_that_ID}}.

Very handy to check and debug ID usages, but could also be really valuable for py addons
creating temporary scenes, or some exporters, etc.

Note: current code in master's libquery misses some IDs (and reports some it should not,
like nodetrees), this is fixed in id-remap but still needs serious review before going to master.
This basically means that current bpy.data.user_map() **will not** report a complete and exhaustive
state of dependencies between IDs. Should work OK in most cases though.

Original work/idea comes from id-remap branch, was heavily reworked by @campbellbarton
and myself for master.

Reviewers: campbellbarton, sergey

Differential Revision: https://developer.blender.org/D1678
2016-01-06 19:48:10 +01:00
Sergey Sharybin
ea7a2766f6 Cycles: Fix possible buffer overflow in OIIO cache error message 2016-01-06 23:09:48 +05:00
Sergey Sharybin
03302fd5ed Fix T47120: CPU OSL Cycles crashes blender in latest GIT
The issue was caused by leaking error messages caused by
getting OIIO texture handle for built-in images.
2016-01-06 23:06:54 +05:00
Sergey Sharybin
944b6322e6 Cycles: Log whch optimizations are used for CPU kernels
Not fully thread-safe, but is rather harmless. Just some messages
might be logged several times.
2016-01-06 20:25:19 +05:00
Sergey Sharybin
e2846c999a Cycles: Fix stupid mistake which was assining kernel function in a loop 2016-01-06 20:05:33 +05:00
Campbell Barton
60c0c47dba Save sys-info to file instead of a text block
The main reason for this change is this file is typically used when making bug reports,
its best if users attach this file to reports directly.
2016-01-07 00:24:33 +11:00
Campbell Barton
cbc0a73ae4 Fix T47034: Explode "Cut Edges" looses UV's
Own regression in c61e4f2
2016-01-06 22:08:49 +11:00
Kévin Dietrich
7e6d09608b Fix Blender Player linking issue.
Removed the conflicting declaration since it is not needed anymore, as
the stipple arrays are now only used in gpu_shader_basic.c.
2016-01-06 01:33:12 +01:00
Sergey Sharybin
8c8215fb77 Fix T46984: Image mapping bug
The issue was caused by wrong scaling applied on top of the image sampling.

It seems there's no reason to apply alpha clipping when using EWA filtering,
this filtering currently works in the way that it apples all needed clipping
and scaling to a clipped kernel already.
2016-01-05 22:41:41 +05:00
Sergey Sharybin
5d564da3b6 Cycles: Fix memory leak in shader graph when bump graph is used 2016-01-05 21:18:02 +05:00
Sergey Sharybin
0b78b8f167 Buildbot: Link libstdc++ statically 2016-01-05 19:59:38 +05:00
Sergey Sharybin
ca0e663c04 CMake: Fix typo in comment 2016-01-05 19:42:16 +05:00
Martijn Berger
2d9ed6e7c8 fix compiling cycles after recent gflags / glog shuffle 2016-01-05 14:14:10 +01:00
Campbell Barton
ad6b7c07dd CMake: remove mingw64_gcc49
Not supported or in working state.
2016-01-05 23:35:14 +11:00
Campbell Barton
c42ae8be60 CMake: copy python DLL for MinGW builds 2016-01-05 22:13:36 +11:00
Mike Erwin
0a9935cb28 OpenGL: various small optimizations
- set uniform colors outside of loop
- replace glBegin/End with DrawRangeElements
- use GL_LINES when drawing single lines
2016-01-05 01:35:19 -05:00
Bastien Montagne
da070f6f5b Usual i18n fixes... 2016-01-04 21:09:39 +01:00
Bastien Montagne
ff10557c20 Fix for previous commit...
Arg, forgot half of it, sorry for the noise. :|
2016-01-04 21:02:05 +01:00
Bastien Montagne
1b7fdb6a60 Fix missing 'WITH_OPENCOLORIO/OPENIMAGEIO' defines in install_deps final message.
Reported by venomgfx on IRC, thanks.
2016-01-04 20:59:52 +01:00
Bastien Montagne
2ac555fe47 ID: Sanitize handling of 'USER_ONE' (ensure_user) case.
Note that this has little impact on current master - yet it allows to fix the 'Image Editor' bug
(open image in editor, use same image in texture, delete image from texture, image us is 0 and
red in image editor...) and probably a few other similar cases.

But that change is mandatory to get a proper handling of ID deletion/reamapping/reloading/etc. as done in id-remap branch.

Instead of just adding a user if none already present, new code use two new ID tags to get a three-states status:
  - Normal: nothing changes.
  - Needs extra user: we know that ID needs an extra user, so we take of never going down to 0 in 'real' usercount handling.
  - Has extra user: we do have increased that ID usercount to get our needed extrauser.

Reviewers: sergey, campbellbarton

Differential Revision: https://developer.blender.org/D1696
2016-01-04 20:17:23 +01:00
Sergey Sharybin
c35ad8d4a3 GTest: Fix some strict compiler warnings
Those changes are to be backported to the upstream actually, for until then
it should be good enough to have it locally.
2016-01-04 23:54:02 +05:00
Sergey Sharybin
4a3e89e9ee Fix wrong linking flags for Libmv tests 2016-01-04 23:32:57 +05:00
Bastien Montagne
be87bc6bd8 Next step of fix for gtests (but still not working...) 2016-01-04 19:29:42 +01:00
Bastien Montagne
82d88e42a5 BLI_task threaded looper: do not assert when start == stop.
This can happen quite often in forloops, and would be annoying to have to check for this
in caller code! So now, just return without doing anything in this case.
2016-01-04 19:17:09 +01:00
Bastien Montagne
17eb5b3af6 Fix (unreported) memleak related to PBVH and looptri.
Looptri are not mesh data, they are allocated and built for PBVH only, and totally 'local' to it,
so duplicating like we do for verts & co leads to leaking memory.
2016-01-04 19:17:09 +01:00
Bastien Montagne
0b157f7c6c Sculpt: OMP -> BLI_task, step III.
The remaining bits in editors' sculpt.c, which is now free from OMP.

All in all, changes in this file allow from below 2% to above %20 speedup per stroke, depending
on brush complexity, size, and definition of the mesh below it...

Note that this commit also unifies all 'threaded data' into a single struct, a few more
floats/pointers do not hurt here, and it makes code a bit simpler.
2016-01-04 19:17:09 +01:00
Sergey Sharybin
0e5e407007 Correct include directories for GTests 2016-01-04 22:16:14 +05:00
Dalai Felinto
353d0237bc Cycles-Bake: Unset properties fallback only working for invoke 2016-01-04 13:20:34 -02:00
Dalai Felinto
c59e8cc12a Fix T47076 part II
We still got unfreed memory after b909dfda
2016-01-04 13:19:08 -02:00