4 years agoBGE code cleanup: Removing RAS_GLExtensionManager.
Mitchell Stokes [Mon, 31 Mar 2014 01:35:02 +0000 (18:35 -0700)]
BGE code cleanup: Removing RAS_GLExtensionManager.

This class did nothing but print out extensions if they were found.
Instead, the code from bge.logic.PrintGLInfo() is now printed as the
Rasterizer is initialized. This gives better information, and it removes
some GL code from KX_PythonInit.cpp (the PrintGLInfo method now calls
the Rasterizer to print the information).

Differential Revision:

4 years agoOpenGL/BGE: Remove RAS_StorageIM (glBegin/glEnd rendering of mesh data)
Mitchell Stokes [Sun, 6 Dec 2015 23:24:55 +0000 (15:24 -0800)]
OpenGL/BGE: Remove RAS_StorageIM (glBegin/glEnd rendering of mesh data)

The only use we had for RAS_StorageIM was to render derived meshes using
Blender's mesh drawing. This is now handled as a special case in
RAS_OpenGLRasterizer instead of in RAS_StorageIM.

We are now left with RAS_StorageVA and RAS_StorageVBO. At the moment
vertex arrays are still the default since our vertex array with display
lists implementation is still much faster than our VBO code in a lot of
cases. As we improve our VBO code, we can drop vertex arrays since
Blender's minimum OpenGL version is being bumped up to 2.1, which
supports VBOs.

4 years agoBGE: Remove RAS_IRasterizer::IndexPrimitivesMulti()
Mitchell Stokes [Sun, 6 Dec 2015 22:35:14 +0000 (14:35 -0800)]
BGE: Remove RAS_IRasterizer::IndexPrimitivesMulti()

The work that was being done in IndexPrimitiveMulti() is now done by
IndexPrimitive() and we always assume multitexture support.

4 years agoPython: remove support for Python 3.4
Campbell Barton [Tue, 8 Dec 2015 00:59:30 +0000 (11:59 +1100)]
Python: remove support for Python 3.4

4 years agoUsual UI messages fixes.
Bastien Montagne [Mon, 7 Dec 2015 20:06:14 +0000 (21:06 +0100)]
Usual UI messages fixes.

4 years agoAdd support for compiling the cuda kernel on the Nvidia Jetson TX1
Martijn Berger [Mon, 7 Dec 2015 16:51:24 +0000 (17:51 +0100)]
Add support for compiling the cuda kernel on the Nvidia Jetson TX1

4 years agoAdded a comment to our use of the term 'adjoint' in BLI_math.
Lukas Tönne [Mon, 7 Dec 2015 11:35:36 +0000 (12:35 +0100)]
Added a comment to our use of the term 'adjoint' in BLI_math.

In modern usage this means the conjugate transpose, but we stick to
the classical usage (i.e. adjugate matrix), like Eigen does.

4 years agoBLI_linklist: add alloca append macro
Campbell Barton [Mon, 7 Dec 2015 08:13:30 +0000 (19:13 +1100)]
BLI_linklist: add alloca append macro

4 years agoMinor changes needed for standalone mathutils
Campbell Barton [Mon, 7 Dec 2015 00:07:26 +0000 (11:07 +1100)]
Minor changes needed for standalone mathutils

4 years agoOpenSubdiv: refine OpenGL version & extension checks
Mike Erwin [Sun, 6 Dec 2015 23:47:58 +0000 (18:47 -0500)]
OpenSubdiv: refine OpenGL version & extension checks

Use new GPU_legacy_support() function.

Determine GLSL version once instead of per shader.

For Texture Buffers, allow ARB or EXT version of the extension. Either
one will do.

4 years agoOpenGL: remove old version check
Mike Erwin [Sun, 6 Dec 2015 23:26:10 +0000 (18:26 -0500)]
OpenGL: remove old version check

+ minor cleanup

4 years agoOpenGL: new GPU_legacy_support() function
Mike Erwin [Sun, 6 Dec 2015 23:00:22 +0000 (18:00 -0500)]
OpenGL: new GPU_legacy_support() function

Is current context compatible with legacy GL (version 2.1)?

My earlier approach -- checking for GLEW_ARB_compatibility -- was not

This should always return true if we set our GL context up properly. It
will return false when we switch to core profile.

4 years agoOpenGL: request version 2.1 when creating context on Windows
Mike Erwin [Sun, 6 Dec 2015 19:29:23 +0000 (14:29 -0500)]
OpenGL: request version 2.1 when creating context on Windows

In practice this gives us a context that is *compatible* with GL 2.1. On
my machine it gives a GL 3.3 or 4.3 compatibility profile context,
depending on graphics card installed.

Also fixed enum for core profile (not used yet).

Also added option for GL 3.2 compatibility profile. This will be useful
during Blender 2.8 development, until we are able to use the core
profile. On my machine this gives exactly a GL 3.2 compatibility profile
context, not 3.3 or 4.

4 years agoOpenSubdiv: disable TF on lower GL versions. Fixes T46794
Mike Erwin [Wed, 2 Dec 2015 01:48:08 +0000 (20:48 -0500)]
OpenSubdiv: disable TF on lower GL versions. Fixes T46794

My previous edit to this check was too lax.

OSD's shader for the Transform Feedback evaluator declares itself
#version 410 so disable the feature if user's GL < 4.1.

4 years agoCycles: Fold Value and RGB node as well.
Thomas Dinges [Sun, 6 Dec 2015 22:47:38 +0000 (23:47 +0100)]
Cycles: Fold Value and RGB node as well.

This way, connecting Value or RGB node to e.g. a Math node will still allow folding.

Note: The same should be done for the ConvertNode, but I leave that for another day.

4 years agoFix Scons after GLSL changes.
Thomas Dinges [Sun, 6 Dec 2015 22:09:17 +0000 (23:09 +0100)]
Fix Scons after GLSL changes.

4 years agoFix (unreported) Ocean modifier assuming all its faces are quads.
Bastien Montagne [Sun, 6 Dec 2015 20:06:11 +0000 (21:06 +0100)]
Fix (unreported) Ocean modifier assuming all its faces are quads.

Would be true in most cases (and in particular with own generated geometry),
but in case one would be using original geometry this could have crashed badly.

4 years agoCleanup in main Ocean modifier code.
Bastien Montagne [Sun, 6 Dec 2015 20:03:57 +0000 (21:03 +0100)]
Cleanup in main Ocean modifier code.

Note that I tried to parallelize the loops porting result of the simulation to the
DM data itself, but that ended up being 20% slower than non-threaded code!

4 years agoOpenGL: rename simple shader to basic shader.
Brecht Van Lommel [Sat, 5 Dec 2015 21:11:31 +0000 (22:11 +0100)]
OpenGL: rename simple shader to basic shader.

4 years agoOpenGL: use simple shader for texture drawing in a few places.
Brecht Van Lommel [Sat, 28 Nov 2015 00:20:28 +0000 (01:20 +0100)]
OpenGL: use simple shader for texture drawing in a few places.

Differential Revision:

4 years agoOpenGL: isolate fixed function lighting in simple shader code.
Brecht Van Lommel [Fri, 27 Nov 2015 20:32:14 +0000 (21:32 +0100)]
OpenGL: isolate fixed function lighting in simple shader code.

Differential Revision:

4 years agoOpenGL: use simple shader for armatures.
Brecht Van Lommel [Fri, 27 Nov 2015 20:36:59 +0000 (21:36 +0100)]
OpenGL: use simple shader for armatures.

Differential Revision:

4 years agoOpenGL: move two sided lighting check into GPU material code.
Brecht Van Lommel [Fri, 27 Nov 2015 20:28:36 +0000 (21:28 +0100)]
OpenGL: move two sided lighting check into GPU material code.

Differential Revision:

4 years agoOpenGL: pass flag to indicate of drawMappedFaces needs to use normals.
Brecht Van Lommel [Fri, 27 Nov 2015 20:16:26 +0000 (21:16 +0100)]
OpenGL: pass flag to indicate of drawMappedFaces needs to use normals.

Differential Revision:

4 years agoSwitch Ocean modifier's geometry generation from OMP to BLI_task.
Bastien Montagne [Sun, 6 Dec 2015 17:59:20 +0000 (18:59 +0100)]
Switch Ocean modifier's geometry generation from OMP to BLI_task.

Compared to previous revision, this gives 20% speedup on the whole modifier evaluation!

Wondering a bit how improvement can be so impressive here, would have expected very
small increases given how simple is the code here... Maybe it's the fact we get rid
of many additional OMP threads (tests are done with ten Ocean mod evaluated in parallel)?

4 years agoFix T46929: error exporting Key configuration.
Bastien Montagne [Sun, 6 Dec 2015 16:52:50 +0000 (17:52 +0100)]
Fix T46929: error exporting Key configuration.

4 years agoSwitch from OMP to BLI_task in BKE's part of Ocean simulation.
Bastien Montagne [Sun, 6 Dec 2015 16:37:10 +0000 (17:37 +0100)]
Switch from OMP to BLI_task in BKE's part of Ocean simulation.

Not much to say, gives about 8% to 9% speedup in ocean simulation.

4 years Fix typos in scons instructions.
Bastien Montagne [Sun, 6 Dec 2015 11:04:23 +0000 (12:04 +0100)] Fix typos in scons instructions.

Luckily we'll soon get rid of that insane dual build system maintenance...

Anyway, thanks to Leo Koppel (lack) for the report and patch.

4 years agoPyAPI: add optional filter argument to KDTree.find
Campbell Barton [Sun, 6 Dec 2015 10:33:39 +0000 (21:33 +1100)]
PyAPI: add optional filter argument to KDTree.find

4 years agoBKI_kdtree: add a find that takes filter callback
Campbell Barton [Sun, 6 Dec 2015 10:29:06 +0000 (21:29 +1100)]
BKI_kdtree: add a find that takes filter callback

Useful when we need to selectively ignore nodes.

4 years agoCleanup: formatting (PyArg_ParseTuple)
Campbell Barton [Sun, 6 Dec 2015 05:19:26 +0000 (16:19 +1100)]
Cleanup: formatting (PyArg_ParseTuple)

4 years agoCleanup: kdtree, redundant root node handling
Campbell Barton [Sun, 6 Dec 2015 04:57:10 +0000 (15:57 +1100)]
Cleanup: kdtree, redundant root node handling

For range checks we can put the root not in the stack.

4 years agoFix generate UV's adding extra layers
Campbell Barton [Sun, 6 Dec 2015 00:17:17 +0000 (11:17 +1100)]
Fix generate UV's adding extra layers

Adding a new meshes when there were no faces would always add a new uv-layer.

4 years agoCycles: Implement extrapolation for RGB curves
Sergey Sharybin [Fri, 4 Dec 2015 15:17:25 +0000 (20:17 +0500)]
Cycles: Implement extrapolation for RGB curves

Previously RGB Curves node will clamp input to 0..1 which is rather useless
when one wants to use HDR image textures and do bit of correction on them.

Now kernel code supports extrapolation of baked LUT based on first/last two
table points and performs linear extrapolation.

The only tricky part is to guess the range to bake the LUT for. Currently
it's using simple approach -- minmax of the input curves. While this behaves
ok for the simple cases it's easy to trick the system up causing incorrect

Not sure we can solve those issues in a general case and since the new code
is giving more expected results it's not that bad actually. In the worst
case artist migh always create explicit point to make sure LUT is created
for the needed HDR range.

Reviewers: brecht, juicyfruit

Subscribers: sebastian_k

Differential Revision:

4 years agoFix (unreported) Newly added grid's vertices not being selected.
Bastien Montagne [Fri, 4 Dec 2015 23:48:27 +0000 (00:48 +0100)]
Fix (unreported) Newly added grid's vertices not being selected.

`bmo_create_grid_exec` was not tagging created vertices with `MARK_VERT`, which seems
mandatory to get them selected? This sounds a bit hacky/odd to me, but that's what
all other primitive funcs do...

4 years agoFix OSL shaders building with some versions of that lib.
Bastien Montagne [Fri, 4 Dec 2015 23:17:04 +0000 (00:17 +0100)]
Fix OSL shaders building with some versions of that lib.

This must have happened months ago, but as I did not `make clean` any build folder since then,
so only noted that today.

Issue is same as dirty patch we have to apply to ODL sources before building it in - for
some mysterious reason, it has become impossible to compoile .osl files into .oso ones without
giving explicit output file name (otherwise it just produces `.oso` file - utterly stupid and useless).

We could probably fix that in own OSL source, but think being explicit here does not hurt anyway, so...
Let's go the easy way.

4 years agoFix T37879: Default UV generation for mesh primitives.
Bastien Montagne [Fri, 4 Dec 2015 22:49:55 +0000 (23:49 +0100)]
Fix T37879: Default UV generation for mesh primitives.

Adds default-generated UVs to mesh primitives (cone, cylinder, icosphere, uvsphere, cube, circle, grid)
when they are added to the scene, since some of them can be pretty awkward to unwrap manually.

Original patch: Liam Mitchell (CommanderCorianderSalamander).
Main review work: Campbell Barton (campbellbarton).
Finalization, fixes and cleanup: Bastien Montagne (mont29).

Reviewers: mont29, #mesh_modeling, campbellbarton

Reviewed By: mont29, campbellbarton

Subscribers: lkruel, campbellbarton, michaelknubben, kevindietrich

Maniphest Tasks: T37879

Differential Revision:

4 years agoFix (unreported) bad LI_ID usercount when linking a new lib.
Bastien Montagne [Fri, 4 Dec 2015 16:23:28 +0000 (17:23 +0100)]
Fix (unreported) bad LI_ID usercount when linking a new lib.

Library datablocks shall have a zero user count in Blender currently...

4 years agoFix for too small array of function pointers in node RNA registration.
Lukas Tönne [Fri, 4 Dec 2015 16:14:33 +0000 (17:14 +0100)]
Fix for too small array of function pointers in node RNA registration.

4 years agoHave to allow DNA writes in node insert_link callback in order to do anything useful...
Lukas Tönne [Fri, 4 Dec 2015 09:25:31 +0000 (10:25 +0100)]
Have to allow DNA writes in node insert_link callback in order to do anything useful with it.

4 years agoDisable node updates while applying links from the dragging operator.
Lukas Tönne [Fri, 4 Dec 2015 08:18:39 +0000 (09:18 +0100)]
Disable node updates while applying links from the dragging operator.

This prevents issues with reentrant update callbacks and modification
of the node tree while the operator still holds pointers to it.

4 years agoUse int division for version string
Campbell Barton [Thu, 3 Dec 2015 21:49:19 +0000 (08:49 +1100)]
Use int division for version string

4 years agoBuildbot: Remove windows + scons related code
Sergey Sharybin [Thu, 3 Dec 2015 17:47:40 +0000 (22:47 +0500)]
Buildbot: Remove windows + scons related code

This is also has been moved to the CMake, no need to keep old dying code around.

4 years agoBuildbot: Remove linux scons buildbot related things
Sergey Sharybin [Thu, 3 Dec 2015 17:35:50 +0000 (22:35 +0500)]
Buildbot: Remove linux scons buildbot related things

It is now totally covered by cmake slave.

4 years agoBuildbot: Re-enable CUDA binaries for 64 bit linux slave
Sergey Sharybin [Thu, 3 Dec 2015 17:24:27 +0000 (22:24 +0500)]
Buildbot: Re-enable CUDA binaries for 64 bit linux slave

Also make it a bit more reasonable name for config files.

4 years agoBuildbot: User proper folder name inside of the archive
Sergey Sharybin [Thu, 3 Dec 2015 17:10:59 +0000 (22:10 +0500)]
Buildbot: User proper folder name inside of the archive

This is totally matching the way how buildbot was naming the directory.

Currently there's a bit of code duplication, but it'll be eliminated once
we'll get rid of SCons ;)

4 years agoBuildbot: Remove debug-only early exit
Sergey Sharybin [Thu, 3 Dec 2015 16:59:42 +0000 (21:59 +0500)]
Buildbot: Remove debug-only early exit

4 years agoBuildbot: Strip all .so files from python install
Sergey Sharybin [Thu, 3 Dec 2015 13:03:42 +0000 (18:03 +0500)]
Buildbot: Strip all .so files from python install

4 years agoBuildbot: No need to build player with blender config
Sergey Sharybin [Thu, 3 Dec 2015 12:40:12 +0000 (17:40 +0500)]
Buildbot: No need to build player with blender config

4 years agoNode callback for handling link insertion and swapping of occupied inputs.
Lukas Tönne [Thu, 3 Dec 2015 11:51:29 +0000 (12:51 +0100)]
Node callback for handling link insertion and swapping of occupied inputs.

Nodes have a feature for moving existing links to unoccupied sockets when connecting
to an already used input. This is based on the standard legacy socket types (value/float,
vector, color/rgba) and works reasonably well for shader, compositor and texture nodes.

For new pynode systems, however, the hardcoded nature of that feature has major drawbacks:
* It does not take different type systems into account, leading to meaningless connections
  when sockets are swapped and making the feature useless or outright debilitating.
* Advanced socket behaviors would be possible with a registerable callback, e.g. creating
  extensible input lists that move existing connections down to make room for a new link.

Now any handling of new links is done via the 'insert_links' callback, which can also be
registered through the RNA API. For the legacy shader/compo/tex nodes the behavior is the
same, using a C callback.

Note on the 'use_swap' flag: this has been removed because it was meaningless anyway:
It was disabled only for the insert-node-on-link feature, which works only for
completely unconnected nodes anyway, so there would be nothing to swap in the first place.

4 years agoCorrect OpenMP pragma, wasn't updated for looptri
Campbell Barton [Thu, 3 Dec 2015 11:55:20 +0000 (22:55 +1100)]
Correct OpenMP pragma, wasn't updated for looptri

4 years agoBuildbot: Followup to previous commit
Sergey Sharybin [Thu, 3 Dec 2015 11:59:36 +0000 (16:59 +0500)]
Buildbot: Followup to previous commit

Path is to be fully specified, so it's independent form the working directory.

4 years agoBuildbot: Another attmept to solve windows
Sergey Sharybin [Thu, 3 Dec 2015 11:55:16 +0000 (16:55 +0500)]
Buildbot: Another attmept to solve windows

Also de-duplicate bit of code.

4 years agoRemove redundant zero area face check
Campbell Barton [Thu, 3 Dec 2015 11:44:35 +0000 (22:44 +1100)]
Remove redundant zero area face check

4 years agoFix FileBrowser 'context-editing' properties shortcuts not being displayed in tooltip.
Bastien Montagne [Thu, 3 Dec 2015 11:50:09 +0000 (12:50 +0100)]
Fix FileBrowser 'context-editing' properties shortcuts not being displayed in tooltip.

Also related to T46918.

4 years agoBuildbot: attempt to solve packing on windows
Sergey Sharybin [Thu, 3 Dec 2015 11:48:14 +0000 (16:48 +0500)]
Buildbot: attempt to solve packing on windows

4 years agoBuildbot: Disable tests on Linux builders
Sergey Sharybin [Thu, 3 Dec 2015 11:44:44 +0000 (16:44 +0500)]
Buildbot: Disable tests on Linux builders

No idea why they works on windows, but points are:

- libs/tests folder is NOT checked out on any platforms
- render_povray addon does mkdir on a path which might not have parents

There might be some other issues, but those are kinda stoppers for us.

4 years agoFix isect_point_tri_v3 w/ degenerate faces
Campbell Barton [Thu, 3 Dec 2015 11:32:01 +0000 (22:32 +1100)]
Fix isect_point_tri_v3 w/ degenerate faces

Ensure point_in_slice returns false when zero area faces are passed.

4 years agoCleanup: change `WM_key_event_operator_id` to `WM_key_event_operator` and make it...
Bastien Montagne [Thu, 3 Dec 2015 11:38:13 +0000 (12:38 +0100)]
Cleanup: change `WM_key_event_operator_id` to `WM_key_event_operator` and make it return kmi pointer directly.

All three usages of this func were only using kmi_id to find again kmi itself, pretty dumb!

4 years agoBuildbot: Fix typo
Sergey Sharybin [Thu, 3 Dec 2015 11:37:17 +0000 (16:37 +0500)]
Buildbot: Fix typo

What a shame..

4 years agoBuildbot: Make sure install directory always exists
Sergey Sharybin [Thu, 3 Dec 2015 11:35:04 +0000 (16:35 +0500)]
Buildbot: Make sure install directory always exists

4 years agoBuildbot: Make sure is created in the right place
Sergey Sharybin [Thu, 3 Dec 2015 11:30:21 +0000 (16:30 +0500)]
Buildbot: Make sure is created in the right place

4 years agoFix T46918: - Cleanup - FileBrowser - get rid of useless operators and update a bit...
Bastien Montagne [Thu, 3 Dec 2015 11:21:57 +0000 (12:21 +0100)]
Fix T46918: - Cleanup - FileBrowser - get rid of useless operators and update a bit keymap.

Looks like FILE_OT_hidedot was actually the only one to remove here.

Also, added more common parentdir/previousdir/nextdir shortcuts, and R for reload.

4 years agoBuildbot: Fix wrong builder name check
Sergey Sharybin [Thu, 3 Dec 2015 11:15:37 +0000 (16:15 +0500)]
Buildbot: Fix wrong builder name check

4 years agoCMake: Use implicit compiler library paths to find OpenMP library
Sergey Sharybin [Thu, 3 Dec 2015 10:34:41 +0000 (15:34 +0500)]
CMake: Use implicit compiler library paths to find OpenMP library

Was lost since the original patch sent to Cambo, didn't notice the failure before
because had it applied locally.

Without this flag certain configuration wouldn't fins libgomp.

4 years agoBuildbot: Switch Linux builders to the cmake ones
Sergey Sharybin [Thu, 3 Dec 2015 10:19:02 +0000 (15:19 +0500)]
Buildbot: Switch Linux builders to the cmake ones

There'll still need to be some tweaks to be done, but it's required first step.

4 years agoBuildbot: Always expect to be in install/ folder
Sergey Sharybin [Thu, 3 Dec 2015 10:15:38 +0000 (15:15 +0500)]
Buildbot: Always expect to be in install/ folder

This we we don't have difference between builders on different platforms.

4 years agoBuildbot: De-duplicate some path definitions in pack target
Sergey Sharybin [Thu, 3 Dec 2015 10:08:36 +0000 (15:08 +0500)]
Buildbot: De-duplicate some path definitions in pack target

Should be no functional changes.

4 years agoExpose flush edits as an operator (for Py access)
Campbell Barton [Thu, 3 Dec 2015 09:18:32 +0000 (20:18 +1100)]
Expose flush edits as an operator (for Py access)

4 years agoFix crash w/ metaball undo & track last-selected
Campbell Barton [Thu, 3 Dec 2015 08:38:39 +0000 (19:38 +1100)]
Fix crash w/ metaball undo & track last-selected

Meta-balls would access freed memory on undo.
This fixes the bug and stores the active-meta in the undo state.

4 years agoFix T46913: Crash adding hook to linked mesh dupli
Campbell Barton [Wed, 2 Dec 2015 23:44:27 +0000 (10:44 +1100)]
Fix T46913: Crash adding hook to linked mesh dupli

Follow up to T46738, we need to tag the object data for recalculation.

4 years agoCleanup: remove unused struct
Campbell Barton [Wed, 2 Dec 2015 23:03:33 +0000 (10:03 +1100)]
Cleanup: remove unused struct

4 years agoFix T46899 sculpt normals not getting updated after exiting sculpt mode.
Antony Riakiotakis [Wed, 2 Dec 2015 23:13:45 +0000 (00:13 +0100)]
Fix T46899 sculpt normals not getting updated after exiting sculpt mode.

Habit is a bad thing: Update polys, not tessfaces.

4 years agoError in own recent commit, (left in debug test)
Campbell Barton [Wed, 2 Dec 2015 21:08:39 +0000 (08:08 +1100)]
Error in own recent commit, (left in debug test)

4 years agoBuildbot: Attempt to resolve wrong path to the
Sergey Sharybin [Wed, 2 Dec 2015 18:39:08 +0000 (23:39 +0500)]
Buildbot: Attempt to resolve wrong path to the

It is expected to be in the build folder for the cmake.

Ideally it should be build/<builder> or install/<builder> but that's a bit more
involved change. Will look into it later.

4 years agoBuildbot: Attempt to fix cpack target on windows
Sergey Sharybin [Wed, 2 Dec 2015 18:30:33 +0000 (23:30 +0500)]
Buildbot: Attempt to fix cpack target on windows

Was using wrong working directory.

4 years agoBuildbot: Don't specify install directory for Windows builds
Sergey Sharybin [Wed, 2 Dec 2015 17:55:42 +0000 (22:55 +0500)]
Buildbot: Don't specify install directory for Windows builds

Installation is to happen within the build folder, no special folder for
this is required.

4 years agoBMesh Decimate: don't collapse zero weighted edges
Campbell Barton [Wed, 2 Dec 2015 13:18:59 +0000 (00:18 +1100)]
BMesh Decimate: don't collapse zero weighted edges

4 years agoFix T46905: UV/Image Editor - Can't add shortcut to Mirror / X Axis menu item
Bastien Montagne [Wed, 2 Dec 2015 13:18:59 +0000 (14:18 +0100)]
Fix T46905: UV/Image Editor - Can't add shortcut to Mirror / X Axis menu item

Yet another Space/NoSpace mismatch when searching keymaps in WM_keymap_guess_opname().

Spent again some time trying to chase those, was the only one I found...

4 years agoBuildbot: Fix typo
Sergey Sharybin [Wed, 2 Dec 2015 13:18:58 +0000 (18:18 +0500)]
Buildbot: Fix typo

4 years agoBuildbot: Initial work to move linux build environment to CMake
Sergey Sharybin [Wed, 2 Dec 2015 13:09:06 +0000 (18:09 +0500)]
Buildbot: Initial work to move linux build environment to CMake

This is so called "seems to work in dry tests" commit which is aimed to switch
linux release environment to CMake.

Some notes:

- There's no special handle of libstdc++, but it wasn't really static for quite
  some time in SCons configuration and nobody really complained.

- It was quite tricky to get OpenMP linked statically with just using some
  configuration so we went ahead and added a special option to CMake now which is
  only exist on Linux and advertised as shouldn't be used.

- Packing is happening manually in This is because we have to add
  some really special files to the archive (mesa libraries for example) which we
  can't really handle from CMake/CPack in a nice generic way.

  Don't think it's bad approach, at least crappynness is localized and it's not
  _that_ crappy anyway.

- Windows buildbot should keep working, but needs doublechecing. It's just a
  build folder changed, but you never know what it might imply.

- Some further tweaks are likely needed to ensure all builders are working.

Thanks Campbell for assistance in this patch!

4 years agoCMake: Enable Cycles OSL for the full blender configuration
Sergey Sharybin [Wed, 2 Dec 2015 11:20:20 +0000 (16:20 +0500)]
CMake: Enable Cycles OSL for the full blender configuration

4 years agoCycles: Avoid recursion when doing constant fold
Sergey Sharybin [Wed, 2 Dec 2015 11:19:39 +0000 (16:19 +0500)]
Cycles: Avoid recursion when doing constant fold

This reduces stress on the the stack memory which could be really handy
on certain operation systems which applies strict limits on the stack.

Reviewers: brecht, juicyfruit, dingto

Reviewed By: brecht, juicyfruit, dingto

Differential Revision:

4 years agoCycles: Fix SSS object not properly reflected in glossy object with indirect clamping
Sergey Sharybin [Wed, 2 Dec 2015 10:59:12 +0000 (15:59 +0500)]
Cycles: Fix SSS object not properly reflected in glossy object with indirect clamping

This fixes remained issues reported in T46908.

4 years agoFix T46815: Changing playback setting makes blender crash
Jörg Müller [Wed, 2 Dec 2015 07:57:48 +0000 (08:57 +0100)]
Fix T46815: Changing playback setting makes blender crash

Copied the fix from upstream audaspace.

4 years agoCleanup: ignore unused args in stubs
Campbell Barton [Wed, 2 Dec 2015 08:26:07 +0000 (19:26 +1100)]
Cleanup: ignore unused args in stubs

4 years agoUsing term 'origin' for mathutils.bvhtree docs
Campbell Barton [Wed, 2 Dec 2015 08:25:08 +0000 (19:25 +1100)]
Using term 'origin' for mathutils.bvhtree docs

Matches rna ray-cast API

4 years agoUpdate template for changes in ray-cast
Campbell Barton [Wed, 2 Dec 2015 08:18:30 +0000 (19:18 +1100)]
Update template for changes in ray-cast

4 years agoPyAPI: Change ray_cast to fix & improve behavior
Campbell Barton [Wed, 2 Dec 2015 08:07:24 +0000 (19:07 +1100)]
PyAPI: Change ray_cast to fix & improve behavior

- It wasn't possible to know when Object.ray_cast was successful
  in the case when it hit a face with no original index.
- Take (ray_start, ray_direction) vectors.
- Take an optional distance argument.
- Scene/Object.ray_cast now use matching arguments & return values.

See D1650 (own patch)

4 years agoTransform Snap: add optional face index arg
Campbell Barton [Wed, 2 Dec 2015 07:46:14 +0000 (18:46 +1100)]
Transform Snap: add optional face index arg

4 years agoCleanup: transform snap arguments
Campbell Barton [Wed, 2 Dec 2015 07:08:48 +0000 (18:08 +1100)]
Cleanup: transform snap arguments

This was getting very hard to follow,

- mixing input/output args.
- mixing arg order between functions.
- arg names (mode, snap_mode) rename to (snap_to, snap_select)

4 years agoCleanup: double-conversion warnings
Campbell Barton [Wed, 2 Dec 2015 04:52:47 +0000 (15:52 +1100)]
Cleanup: double-conversion warnings

4 years agoCleanup: warnings & spelling
Campbell Barton [Wed, 2 Dec 2015 02:15:52 +0000 (13:15 +1100)]
Cleanup: warnings & spelling

4 years agoFix T46909: Text strip not themeable
Julian Eisel [Tue, 1 Dec 2015 22:56:48 +0000 (23:56 +0100)]
Fix T46909: Text strip not themeable

Normally we don't allow adding new theme options if we can avoid it, but this is a legit exception since all other strips are themeable.

Default color for text strip is now yellow-ish. Not nice but there are also not many other colors left.

4 years agoCycles: Fix wrong SSS intersection refinement when this option is disabled
Sergey Sharybin [Tue, 1 Dec 2015 22:14:54 +0000 (03:14 +0500)]
Cycles: Fix wrong SSS intersection refinement when this option is disabled

The code is disabled by default, but we'd better keep it all correct.

4 years agoCycles: Fix wrong SSS on scaled instanced objects
Sergey Sharybin [Tue, 1 Dec 2015 22:13:19 +0000 (03:13 +0500)]
Cycles: Fix wrong SSS on scaled instanced objects

Was a mistake on searching refined position form ray and hit distance.

Remember kids: SSS distance is in the object space!

4 years agoCycles: Remove TODO, it is possible there'll be more intersections recorded
Sergey Sharybin [Tue, 1 Dec 2015 21:39:57 +0000 (02:39 +0500)]
Cycles: Remove TODO, it is possible there'll be more intersections recorded

It's just only few of them will be stored in the intersection array, nothing
wrong with that what's so ever.

4 years agoCleanup: Remove some more code for BVH cache. I missed that somehow.
Thomas Dinges [Tue, 1 Dec 2015 17:17:28 +0000 (18:17 +0100)]
Cleanup: Remove some more code for BVH cache. I missed that somehow.

4 years agoComment assert in id_us_min, currently we can get zero user count at this point.
Bastien Montagne [Tue, 1 Dec 2015 14:45:44 +0000 (15:45 +0100)]
Comment assert in id_us_min, currently we can get zero user count at this point.

4 years agoOutliner: add an option to "delete" libraries.
Bastien Montagne [Tue, 1 Dec 2015 14:33:44 +0000 (15:33 +0100)]
Outliner: add an option to "delete" libraries.

Caminandes team request. In current master it's not possible to do this in a total
clean way, so we are simply setting all user counts of given lib's datablocks to zero
(similar to rna_ID_user_clear()'s doing).

This is a bit crappy because it still lets datablocks floating around (with invalid
user count values), and requires a save & reload cycle to be finalized. But for now
it should be good enough. Propper implementation will be added to id-remap.