6 years agoGPencil UI: Color swatches for both Stroke and Fill colors are now shown
Joshua Leung [Sat, 27 Dec 2014 14:02:47 +0000 (03:02 +1300)]
GPencil UI: Color swatches for both Stroke and Fill colors are now shown

The layers list and the Dopesheet channels now show color swatches for both the
stroke and fill colours now. This is useful when you've got layers that only
use either/or.

* Currently, these only get shown if the relevant opacity setting is high enough
  for that aspect to contribute to the result.

* The sizing of these items could do with some more tweaking (especially in the
  Dopesheet), as these may now be too small to accurately see and/or interact with.

* There are some potential issues when using near-gray (or actually, colours similar
  to the list backgrounds, but that issue exists in other areas of Blender anyway.

(NOTE: At this stage, these changes are still experimental, and not for 2.73 yet)

6 years agoExperimental fix for "random large dots" bug when using a stylus
Joshua Leung [Sat, 27 Dec 2014 04:37:45 +0000 (17:37 +1300)]
Experimental fix for "random large dots" bug when using a stylus

Since I don't have a (pressure sensitive) tablet handy, I can't really test this
out, but apparently there is a bug which currently exists with the following description:
  "Small Dots, when you do just one click a single GP dot is created, it´s fine but don't recognize the pen pressure, always the maximum value of thickness, and
    It´s so easy create dots accidentally (even when you use the eraser, this dots appear spontaneously) and you start to have big screen-size-constant dots beside of you fine lines."

This commit just shuffles around the order of things a bit so that some of the misfiring
events might get skipped instead.

6 years agoRestoring all the whitespace!
Joshua Leung [Fri, 26 Dec 2014 23:09:29 +0000 (12:09 +1300)]
Restoring all the whitespace!

6 years agoFix T43034: beautify-fill leaves zero area tri's
Campbell Barton [Sat, 27 Dec 2014 05:47:42 +0000 (16:47 +1100)]
Fix T43034: beautify-fill leaves zero area tri's

6 years agocleanup: redundant tri-normal calculation
Campbell Barton [Sat, 27 Dec 2014 05:36:31 +0000 (16:36 +1100)]
cleanup: redundant tri-normal calculation

6 years agocleanup: knife tools, use generic sort function
Campbell Barton [Sat, 27 Dec 2014 01:20:33 +0000 (12:20 +1100)]
cleanup: knife tools, use generic sort function

6 years agoFix typo in angle commit, noticed by Kevin Dietrich, thanks!
Antony Riakiotakis [Fri, 26 Dec 2014 23:10:53 +0000 (00:10 +0100)]
Fix typo in angle commit, noticed by Kevin Dietrich, thanks!

6 years agoOnly add a fill brush to default .blend if there isn't one already. For
Antony Riakiotakis [Fri, 26 Dec 2014 23:08:58 +0000 (00:08 +0100)]
Only add a fill brush to default .blend if there isn't one already. For
some reason this happened twice here.

Likely candidate for 2.73 final

6 years agoBrush Texture Angle Goodies:
Antony Riakiotakis [Fri, 26 Dec 2014 22:51:27 +0000 (23:51 +0100)]
Brush Texture Angle Goodies:

This commit includes a few things:

* It moves the Rake and Random flags from the brush to the MTex.
* The first change allows mask textures to have independent rake
* Random rotation now has an angle value that controls the width of the
effect from the rake or default angle
* Rake and Random are now supported together.

6 years agoFix T43010 regression in material setting.
Antony Riakiotakis [Fri, 26 Dec 2014 19:06:56 +0000 (20:06 +0100)]
Fix T43010 regression in material setting.

Caused by own fix for another display case.

Shoud be safe for 2.73 final.

6 years agoGPencil: Picky whitespace cleanup
julianeisel [Fri, 26 Dec 2014 19:00:52 +0000 (20:00 +0100)]
GPencil: Picky whitespace cleanup

6 years agoPut editor initialization before python.
Antony Riakiotakis [Fri, 26 Dec 2014 18:13:32 +0000 (19:13 +0100)]
Put editor initialization before python.

Initially it was moved to allow setting keymaps of python defined menus
in C but looks like it breaks macro definition in python.

Thanks to Julian for tracking this down. It should fix T42485

6 years agoFix T42977: Weights failed to display in Wireframe mode when using Face Select
julianeisel [Fri, 26 Dec 2014 15:53:40 +0000 (16:53 +0100)]
Fix T42977: Weights failed to display in Wireframe mode when using Face Select

D948, reviewed by @mont29 (thanks for that)

6 years agoGPencil: Use a different brush cursor for eraser
julianeisel [Fri, 26 Dec 2014 15:38:51 +0000 (16:38 +0100)]
GPencil: Use a different brush cursor for eraser

D783 with minor edits to increase contrast

6 years agoFix T42641, Graphical fragments showing on Blender 2.71 and higher when baking.
Bastien Montagne [Fri, 26 Dec 2014 11:54:03 +0000 (12:54 +0100)]
Fix T42641, Graphical fragments showing on Blender 2.71 and higher when baking.

Safe for 2.73...

This revert rB9b0ab890676790bb1e8e77797629b889ea66f69e - needed to set that threshold to a small
negative value to remove the last artefacts reported in T39735, but now I could not reproduce
any with the previous 0.0f value, so restoring it for the time being.

If this 'shadowed neighbor face' case re-appears, we can always choose a value in-between, like -1e-18f...

6 years agoFix T43013: Flip with bridge aligned loops
Campbell Barton [Fri, 26 Dec 2014 09:15:06 +0000 (20:15 +1100)]
Fix T43013: Flip with bridge aligned loops

6 years agoFix T43019: Child of objectes used by duplis are visible in Cycles
Sergey Sharybin [Fri, 26 Dec 2014 08:34:48 +0000 (13:34 +0500)]
Fix T43019: Child of objectes used by duplis are visible in Cycles

Seems the parent check didn't go deep enough and only checked single parent.
Now it checks the chain of parents which seems to be correct but requires
much more intense testing.

6 years agooptimize interp_weights_poly_v2, v3
Campbell Barton [Thu, 25 Dec 2014 21:44:23 +0000 (08:44 +1100)]
optimize interp_weights_poly_v2, v3

use line_point_factor instead of length between vertices.

6 years agooptimize interp_weights_poly_v2, v3
Campbell Barton [Thu, 25 Dec 2014 21:33:41 +0000 (08:33 +1100)]
optimize interp_weights_poly_v2, v3

halve sqrtf calls per per polygon corner.

6 years agocleanup: use cross_tri_v2 when area isn't needed.
Campbell Barton [Thu, 25 Dec 2014 10:14:13 +0000 (21:14 +1100)]
cleanup: use cross_tri_v2 when area isn't needed.

6 years agoCycles: Distance optimization for QBVH
Sergey Sharybin [Thu, 25 Dec 2014 17:40:02 +0000 (22:40 +0500)]
Cycles: Distance optimization for QBVH

This commit implements heuristic which allows to skip nodes pushed to the stack
from intersection if distance to them is larger than the distance to the current

This should solve speed regression which i didn't notice in the original QBVH
commit (which could have because i had WIP version of this patch applied in my
local branch).

From quick tests speed seems to be much closer to what is was with regular BVH.

There's still some possible code cleanup, but they'll need a bit of assembly
code check and now i want to make it so artists can happily use Cycles over the

6 years agoSCons: Don't regenerate icons if not changes
Sergey Sharybin [Thu, 25 Dec 2014 14:13:51 +0000 (19:13 +0500)]
SCons: Don't regenerate icons if not changes

This is rather a handbook example how NOT to do things in SCons, ideally
it should be official SCons target so all the dependencies and source file
modification stops being our worry. Especially since for CMake we already
do have an app to do generate all the data.

I don't have time to clean this up now but this constant icons regeneration
just pisses me off atm.

6 years agoOSX: revive GHOST_HACK_getFirstFile cause it breaks things on older OSX versions.
Jens Verwiebe [Thu, 25 Dec 2014 14:12:56 +0000 (15:12 +0100)]
OSX: revive GHOST_HACK_getFirstFile cause it breaks things on older OSX versions.
Dunno exactly why this was done earlier, but propose not to remove code not understood.

6 years agoRefactor 'immediate search' feature
Bastien Montagne [Thu, 25 Dec 2014 11:53:13 +0000 (12:53 +0100)]
Refactor 'immediate search' feature

Currently, code just checks whether a text-edited button uses a given icon (VIEWZOOM) to decide to apply changes on each typed char.

This patch adds a propper button flag (UI_BUT_TEXTEDIT_UPDATE) and a dedicated RNA flag (PROP_TEXTEDIT_UPDATE) for that.
It's also now usable not only for text buttons, but also for example for num buttons when in 'text edit' mode, etc.

It also fixes an actual bug, which is for text properties, in 'immediate' mode, hitting escape would not restore org value, because `ui_apply_but_TEX()` would set its orgstr to NULL on first call (giving it to `but->rename_orig` instead of copying it).

Note no change in behavior is expected from user POV.
Update for addons using that 'VIEWZOOM' icon 'feature' will follow (if any).

Reviewers: campbellbarton

Reviewed By: campbellbarton

Projects: #user_interface, #bf_blender:_next

Differential Revision:

6 years agoRevert QBVH switch, after discussion with Sergey.
Thomas Dinges [Thu, 25 Dec 2014 11:18:51 +0000 (12:18 +0100)]
Revert QBVH switch, after discussion with Sergey.

6 years agoFix T42938: image.save_render sometimes saved the wrong pass
Sergey Sharybin [Thu, 25 Dec 2014 10:45:22 +0000 (15:45 +0500)]
Fix T42938: image.save_render sometimes saved the wrong pass

Stupid mistake with non0initialized image user.

Safe for final 2.73 release branch.

6 years agoCycles: Fix really bad bug with shadow rays on non-SSE CPUs
Sergey Sharybin [Thu, 25 Dec 2014 09:30:05 +0000 (14:30 +0500)]
Cycles: Fix really bad bug with shadow rays on non-SSE CPUs

basically shadow rays were totally broken and most of the time did not record
any intersections, leading to really ad rendering artifacts.

This commit makes it so regardless of enabled optimization level render result
would be the same.

6 years agoCycles: Workaround CUDA 6.5.16 error after watertight commit
Sergey Sharybin [Thu, 25 Dec 2014 09:15:37 +0000 (14:15 +0500)]
Cycles: Workaround CUDA 6.5.16 error after watertight commit

This issue doesn't happen with 6.5.12 and there's slight piece of hope it'll be
fixed in next toolkit releases..

For now we're forcing CUDA to not inline ray precalculation. This could lead to
some speed regression, but wouldn't expect it to be huge -- this code does not
run that often comparing to actual triangle intersection.

6 years agoCycles: Fix compilation error on non-SSE2 architectures
Sergey Sharybin [Thu, 25 Dec 2014 09:11:37 +0000 (14:11 +0500)]
Cycles: Fix compilation error on non-SSE2 architectures

6 years agoCleanup: Fix Cycles Apache header.
Thomas Dinges [Thu, 25 Dec 2014 01:50:24 +0000 (02:50 +0100)]
Cleanup: Fix Cycles Apache header.

This was already mixed a bit, but the dot belongs there.

6 years agoCleanup: Typo fixes for comments.
Thomas Dinges [Thu, 25 Dec 2014 01:42:06 +0000 (02:42 +0100)]
Cleanup: Typo fixes for comments.

6 years agoCycles: Expose QBVH on/off switch to the UI.
Thomas Dinges [Thu, 25 Dec 2014 01:19:14 +0000 (02:19 +0100)]
Cycles: Expose QBVH on/off switch to the UI.

We might remove this again in the future, but for testing purposes
during the release cycle, this will be useful.

The setting defaults to QBVH, and can be found in the Performance panel.

6 years agoCycles: Correction for node tail copy on packing BVH
Sergey Sharybin [Wed, 24 Dec 2014 21:49:27 +0000 (02:49 +0500)]
Cycles: Correction for node tail copy on packing BVH

This is harmless for now because tail of the node is zero in there, but better
to fix it early so in the case of extending BVH nodes this code doesn't give

6 years agoCycles: Enable QBVH optimization structure for SSE2 CPUs
Sergey Sharybin [Wed, 24 Dec 2014 19:53:26 +0000 (00:53 +0500)]
Cycles: Enable QBVH optimization structure for SSE2 CPUs

This commit enables QBVH optimization structure automatically if rendering
with CPU and SSE2 support is detected.

This brings render time of agent shot back to the speed it used to be before
the watertight intersections commit, single koro and sponza scenes are about
7% faster here.

6 years agoCycles: Implement QBVH tree traversal
Sergey Sharybin [Tue, 16 Dec 2014 15:11:37 +0000 (20:11 +0500)]
Cycles: Implement QBVH tree traversal

This commit implements traversal for QBVH tree, which is based on the old loop
code for traversal itself and Embree for node intersection.

This commit also does some changes to the loop inspired by Embree:

- Visibility flags are only checked for primitives.

  Doing visibility check for every node cost quite reasonable amount of time
  and in most cases those checks are true-positive.

  Other idea here would be to do visibility checks for leaf nodes only, but
  this would need to be investigated further.

- For minimum hair width we extend all the nodes' bounding boxes.

  Again doing curve visibility check is quite costly for each of the nodes and
  those checks returns truth for most of the hierarchy anyway.

There are number of possible optimization still, but current state is good
enough in terms it makes rendering faster a little bit after recent watertight

Currently QBVH is only implemented for CPU with SSE2 support at least. All
other devices would need to be supported later (if that'd make sense from
performance point of view).

The code is enabled for compilation in kernel. but blender wouldn't use it

6 years agoCycles: Store proper empty boundbox for missing child nodes in QBVH
Sergey Sharybin [Wed, 24 Dec 2014 19:14:12 +0000 (00:14 +0500)]
Cycles: Store proper empty boundbox for missing child nodes in QBVH

The idea is to make sure those childs would never be intersected with a ray
in order to make it so kernel never worries about number of child nodes.

6 years agoCycles: Code cleanup, de-duplicate definition of FEATURE
Sergey Sharybin [Wed, 24 Dec 2014 19:10:17 +0000 (00:10 +0500)]
Cycles: Code cleanup, de-duplicate definition of FEATURE

Previously every BVH traversal file was defining macro to check which features
should be compiled in, now this macro is defined in the parent header.

6 years agoCycles: Rework BVH functions calls a little bit
Sergey Sharybin [Wed, 24 Dec 2014 19:06:49 +0000 (00:06 +0500)]
Cycles: Rework BVH functions calls a little bit

Basic idea is to allow multiple implementation per feature-set, meaning this
commit tries to make it easier to hook new algorithms for BVH traversal.

6 years agoCycles: Add some utility functions and structures
Sergey Sharybin [Tue, 16 Dec 2014 15:27:44 +0000 (20:27 +0500)]
Cycles: Add some utility functions and structures

Most of them are not currently used but are essential for the further work.

- CPU kernels with SSE2 support will now have sse3b, sse3f and sse3i

- Added templatedversions of min4, max4 which are handy to use with register

- Added util_swap function which gets arguments by pointers.
  So hopefully it'll be a portable version of std::swap.

6 years agoCycles: Implement watertight ray/triangle intersection
Sergey Sharybin [Mon, 15 Dec 2014 16:18:01 +0000 (21:18 +0500)]
Cycles: Implement watertight ray/triangle intersection

Using this paper: Sven Woop, Watertight Ray/Triangle Intersection

This change is expected to address quite reasonable amount of reports from the
bug tracker, plus it might help reducing the noise in some scenes.

Unfortunately, it's currently about 7% slower than the previous solution with
pre-computed triangle plane equations, but maybe with some smart tweaks to the
code (tests reshuffle, using SIMD in a nice way or so) we can avoid the speed

But perhaps smartest thing to do here would be to change single triangle / ray
intersection with multiple triangles / ray intersections. That's how Embree does
this and it's watertight single ray intersection is not any faster that this.

Currently only triangle intersection is modified accordingly to the paper, in
the future we would also want to modify the node / ray intersection.

Reviewers: brecht, juicyfruit

Subscribers: dingto, ton

Differential Revision:

6 years agoCycles: Optimize storage of QBVH node by one float4
Sergey Sharybin [Mon, 22 Dec 2014 19:58:19 +0000 (00:58 +0500)]
Cycles: Optimize storage of QBVH node by one float4

The idea is to store visibility flags for leaf nodes only since visibility check
for inner nodes costs too much for QBVH hence it is not optimal to perform.

Leaf QBVH nodes have plenty of space to store all sort of flags, so we can make
nodes one element smaller, saving noticeable amount of memory.

6 years agoCycles; Code cleanup, make it more obvious what #endif belongs to
Sergey Sharybin [Mon, 22 Dec 2014 17:51:59 +0000 (22:51 +0500)]
Cycles; Code cleanup, make it more obvious what #endif belongs to

6 years agoCycles: Make it more clear offsets in BVH construction
Sergey Sharybin [Sun, 21 Dec 2014 17:35:51 +0000 (22:35 +0500)]
Cycles: Make it more clear offsets in BVH construction

Previously offsets were calculated based on the BVH node size,
which is wrong and real PITA in cases when some extra data is
to be added into (or removed from) the node.

Now use offsets which are not calculated form the node size.

6 years agoCycles: Replace magic constant in the code with actual node size
Sergey Sharybin [Sun, 21 Dec 2014 17:14:58 +0000 (22:14 +0500)]
Cycles: Replace magic constant in the code with actual node size

6 years agoCycles: Avoid over-allocation in packing BVH instances
Sergey Sharybin [Wed, 17 Dec 2014 18:31:12 +0000 (23:31 +0500)]
Cycles: Avoid over-allocation in packing BVH instances

This solves quite an over-allocation in BVH instances packing code,
unfortunately, it's not a magic bullet to solve memory bump caused
by the recent QBVH changes.

For that we'll likely need to decouple storage for leaf and inner
nodes. However, it's not really clear for now if it's something
important since that'd still be just a fraction of memory comparing
to all the hi-res textures.

6 years agoCycles: Implement refit_nodes for QBVH
Sergey Sharybin [Wed, 17 Dec 2014 17:46:02 +0000 (22:46 +0500)]
Cycles: Implement refit_nodes for QBVH

Title says it all, quite straightforward implementation.

Would only mention that there's a bit of code duplication around packing node
into pack.nodes. Trying to de-duplicate it ends up in quite hairy code (like
functions with loads of arguments some of which could be NULL in certain
circumstances etc..). Leaving solving this duplication for later.

6 years agoCycles: Use proper node counter to allocate QBVH nodes
Sergey Sharybin [Wed, 17 Dec 2014 16:49:35 +0000 (21:49 +0500)]
Cycles: Use proper node counter to allocate QBVH nodes

Before all the nodes were counted and allocated, leading to situations when
bunch of allocated memory is not used because reasonable amount of nodes are
simply ignored.

6 years agoCycles: Don't do node visibility check in subsurface and volume traversal
Sergey Sharybin [Tue, 16 Dec 2014 15:39:31 +0000 (20:39 +0500)]
Cycles: Don't do node visibility check in subsurface and volume traversal

Visibility flags are set to all visibility anyway, So there was no reason
to perform that test.

TODO: We need to investigate if having primitive intersection functions
which doesn't do visibility check gives any speedup here as well.

6 years agoCycles: Move triangle intersection functions into own file
Sergey Sharybin [Mon, 15 Dec 2014 15:21:41 +0000 (20:21 +0500)]
Cycles: Move triangle intersection functions into own file

This way extending intersection routines with some pre-calculation step wouldn't
explode the single file size, hopefully keeping them all in a nice maintainable

6 years agoCycles: Optimize vector math node without links to single values.
Thomas Dinges [Wed, 24 Dec 2014 21:45:08 +0000 (22:45 +0100)]
Cycles: Optimize vector math node without links to single values.

6 years agoFix T42879: File Browser - disable selecting ".." entry (Parent Directory)
julianeisel [Wed, 24 Dec 2014 18:51:42 +0000 (19:51 +0100)]
Fix T42879: File Browser - disable selecting ".." entry (Parent Directory)

6 years agoRef T42873: Print "Camera Pano" for panoramic camera view onto viewport
julianeisel [Wed, 24 Dec 2014 18:35:12 +0000 (19:35 +0100)]
Ref T42873: Print "Camera Pano" for panoramic camera view onto viewport

6 years agoMaster branch is now alpha cycle of 2.74 release
Sergey Sharybin [Wed, 24 Dec 2014 15:33:14 +0000 (20:33 +0500)]
Master branch is now alpha cycle of 2.74 release

6 years agoFix T42997: Support RGBA output for HuffYUV
Sergey Sharybin [Wed, 24 Dec 2014 13:54:38 +0000 (18:54 +0500)]
Fix T42997: Support RGBA output for HuffYUV

More like a feature request but was simple to support.

6 years agoFix rna paint update callbacks assuming meshes
Campbell Barton [Wed, 24 Dec 2014 03:51:35 +0000 (14:51 +1100)]
Fix rna paint update callbacks assuming meshes

6 years agoBlender 2.73 release candidate commit v2.73-rc1
Sergey Sharybin [Tue, 23 Dec 2014 15:03:27 +0000 (20:03 +0500)]
Blender 2.73 release candidate commit

This commit contains:

- Subversion bump to 2.73
- Release cycle is set to "rc"
- Submodules are pointed to appropriate tag now
  (addons contrib just points to the latest contrib repo)
- New shiny splash screen!

6 years agoFix T42994: Own recent regression in fix for T42945 (rB5cc199e49581),
Bastien Montagne [Tue, 23 Dec 2014 15:12:17 +0000 (16:12 +0100)]
Fix T42994: Own recent regression in fix for T42945 (rB5cc199e49581),
side/front/top ortho views would no more adapt their snapping unit to zoom factor.

This code would need slightly more refactor actually, but this will be for after release!

6 years agoAdd missing keymap for paint curve
Campbell Barton [Tue, 23 Dec 2014 09:01:21 +0000 (20:01 +1100)]
Add missing keymap for paint curve

6 years agoFix T42928: Drag-drop of generated files to compo reloads them, loosing edits
Sergey Sharybin [Tue, 23 Dec 2014 05:47:27 +0000 (10:47 +0500)]
Fix T42928: Drag-drop of generated files to compo reloads them, loosing edits

Origins of this issue goes back to T33402, where compo wasn't sure what kind
of image it is working with (compo should know if it's multilayer or regular

Now we only reload images when dar-dropping from outside of blender.

6 years agoFix T42952: Curve modifier not taken into account when curve is created from mesh
Sergey Sharybin [Mon, 22 Dec 2014 14:02:47 +0000 (19:02 +0500)]
Fix T42952: Curve modifier not taken into account when curve is created from mesh

Curve and array modifiers requires curve path to be evaluated, dependency graph
will make sure that curve eval would create such a path, but if curve was already
evaluated we might miss path.

So what we do now is: if path was not calculated for target curve we tag it for

6 years agopartial revert ab6417aa9ff8cbd4831c3ed1837742c1178be25a was too strict
Gaia Clary [Mon, 22 Dec 2014 12:26:15 +0000 (13:26 +0100)]
partial revert ab6417aa9ff8cbd4831c3ed1837742c1178be25a was too strict

6 years agoQuick fix for UI themes, by meta-androcto (Brendon Murphy), thanks.
Bastien Montagne [Mon, 22 Dec 2014 08:56:58 +0000 (09:56 +0100)]
Quick fix for UI themes, by meta-androcto (Brendon Murphy), thanks.

6 years agoFix T42966: Py_Initialize: Unable to get the locale encoding
Sergey Sharybin [Mon, 22 Dec 2014 08:43:23 +0000 (13:43 +0500)]
Fix T42966: Py_Initialize: Unable to get the locale encoding

This only happened for SCons builds and caused by pure human stupidnes.

6 years agoGPencil: Correction to rB071ec918f4cd
julianeisel [Sun, 21 Dec 2014 14:46:47 +0000 (15:46 +0100)]
GPencil: Correction to rB071ec918f4cd

* correct API convention: in rB071ec918f4cd gp_draw_data drew mulitple data blocks, I added gp_draw_data_all which now calles gp_draw_data multiple times (if needed). This follows our normal convention, e.g. see UI_panel_category_draw_all
* Draw scene data first, users may expect it like this

Points raised by @aligorith, thanks for this!

6 years agoFix T42973: Render viewport not updating when switching materials in Outliner
Bastien Montagne [Sun, 21 Dec 2014 11:40:02 +0000 (12:40 +0100)]
Fix T42973: Render viewport not updating when switching materials in Outliner

For now, do as RNA material update functions - tag object for update too.

6 years agoFix T42961: GPencil - Refactor object/scene data behaviour
julianeisel [Sat, 20 Dec 2014 15:18:18 +0000 (16:18 +0100)]
Fix T42961: GPencil - Refactor object/scene data behaviour

D937 with minor edits (whitespace only)

@aligorith, I double checked everything runs smoothly, blame me if I missed something ;). Sorry for just taking the initiative and committing without talking to you, but I wasn't able to catch you the last days. This should be fixed before the release IMHO, but I don't think it's important enough to be committed during BCon5, so sorry again, but hopefully everything is okay :)

6 years agoRNA Object.matrix_local: Add a big warning this matrix is only relative to parent...
Bastien Montagne [Sat, 20 Dec 2014 13:14:36 +0000 (14:14 +0100)]
RNA Object.matrix_local: Add a big warning this matrix is only relative to parent object.

So 'advanced' parenting like e.g. bones or vertices need further processing
to get a real parent-relative matrix...

6 years agoFix T42972: fcurve lasso select crash
Campbell Barton [Sat, 20 Dec 2014 12:46:38 +0000 (13:46 +0100)]
Fix T42972: fcurve lasso select crash

6 years agoForce phony targets to build (even if file exists)
Campbell Barton [Sat, 20 Dec 2014 01:14:04 +0000 (02:14 +0100)]
Force phony targets to build (even if file exists)

This is a convenience makefile only,
files if they exist by accident shouldn't ever be used.

6 years agoEnsure no integer overflow happens in SuperLU solver on memory allocation
Sergey Sharybin [Fri, 19 Dec 2014 19:22:33 +0000 (00:22 +0500)]
Ensure no integer overflow happens in SuperLU solver on memory allocation

6 years agoMinor cleanup to previous commit
Antony Riakiotakis [Fri, 19 Dec 2014 13:43:04 +0000 (14:43 +0100)]
Minor cleanup to previous commit

6 years agoFix for bad file name string matching in point caches, leading to
Lukas Tönne [Fri, 19 Dec 2014 11:49:27 +0000 (12:49 +0100)]
Fix for bad file name string matching in point caches, leading to
deletion of baked caches.

This happens when objects use file names with matching prefixes:

"CubeX"   -> not baked
"CubeXYZ" -> baked

The first objects cache should be discarded up to the current frame on
file load, but the second should be left intact. But because the cache
file names for both use the same prefix as well (based on hex name
representation) they both match the "CubeX" name and get discarded.
Adding the underscore terminator solves this issue, because it is never
part of the hex file name string.

WARNING: this solution does not work with custom names for point caches.
This feature is pretty much broken, users have to ensure their names
are unique themselves. Due to the possibility of underscores in names
and the ambiguity of point cache suffixes there is no reliable way to
encode filenames in that case.

6 years agoFix T42543 projection painting fails when faces are perpendicular to screen.
Antony Riakiotakis [Fri, 19 Dec 2014 11:27:29 +0000 (12:27 +0100)]
Fix T42543 projection painting fails when faces are perpendicular to screen.

This is UV barycentric interpolation failing for triangles where vertices are
colinear in screen space. To fix this, we detect this early on so we do the
interpolation on edges instead of triangles.

Such triangles will never be painted on unless we have occlusion and culling
off (since, arguably they are self occluded and almost back-facing).

The code still does not fill the whole area but this can be checked separately.

6 years agoFix reversed args in function call (float, bool vs. bool, float).
Bastien Montagne [Fri, 19 Dec 2014 09:15:10 +0000 (10:15 +0100)]
Fix reversed args in function call (float, bool vs. bool, float).

Note 'same' values are kept for now, even though it was probably meant the
other way around, it's safer to keep current behavior for now.

6 years agoFix T42945: rv3d->gridview was not set correctly in view3d_draw_objects.
Bastien Montagne [Fri, 19 Dec 2014 09:07:02 +0000 (10:07 +0100)]
Fix T42945: rv3d->gridview was not set correctly in view3d_draw_objects.

This fixes both transform snapping in persp views, and 'snap cursor to grid' feature.

Was only really visible with Imperial units.

6 years agoCode cleanup: include directory for scons
Sergey Sharybin [Fri, 19 Dec 2014 08:43:52 +0000 (13:43 +0500)]
Code cleanup: include directory for scons

This directory does not exist even.

6 years agoFix mathutils docstring typos.
Tamito Kajiyama [Thu, 18 Dec 2014 15:42:50 +0000 (00:42 +0900)]
Fix mathutils docstring typos.

6 years agoFlood fill in projection painting does not do bounds checking anymore.
Antony Riakiotakis [Thu, 18 Dec 2014 15:28:29 +0000 (16:28 +0100)]
Flood fill in projection painting does not do bounds checking anymore.

It should now fill the whole mesh with color even if parts of it are
outside the screen - still need to be in fron of the camera though.

Thanks @Campbell for the trick :)

6 years agoFix T42943: Crash with multiple calls to rna_info.BuildRNAInfo()
Campbell Barton [Thu, 18 Dec 2014 13:29:24 +0000 (14:29 +0100)]
Fix T42943: Crash with multiple calls to rna_info.BuildRNAInfo()

Thanks to @nesse for the fix

6 years agoPyAPI: disallow assigning members to 'bpy.ops'
Campbell Barton [Thu, 18 Dec 2014 12:52:31 +0000 (13:52 +0100)]
PyAPI: disallow assigning members to 'bpy.ops'

6 years agoSequener: Move waveform-draw option into view menu
Campbell Barton [Thu, 18 Dec 2014 12:47:04 +0000 (13:47 +0100)]
Sequener: Move waveform-draw option into view menu

also simplify preview/sequencer checks

6 years agocleanup: use const for smallhash & minor edits
Campbell Barton [Thu, 18 Dec 2014 12:12:25 +0000 (13:12 +0100)]
cleanup: use const for smallhash & minor edits

6 years agoFix/workaround T42944: Crash adding a shortcut in properties space
Campbell Barton [Thu, 18 Dec 2014 11:45:06 +0000 (12:45 +0100)]
Fix/workaround T42944: Crash adding a shortcut in properties space

6 years agoCorrection to previous render border commit
Sergey Sharybin [Thu, 18 Dec 2014 09:43:08 +0000 (14:43 +0500)]
Correction to previous render border commit

Was using wrong bitfield check.

6 years agoCycles: Do some logging when motion is detected in the scene
Sergey Sharybin [Thu, 18 Dec 2014 09:40:14 +0000 (14:40 +0500)]
Cycles: Do some logging when motion is detected in the scene

6 years agoCorrection to set border from render image view
Sergey Sharybin [Thu, 18 Dec 2014 08:24:21 +0000 (13:24 +0500)]
Correction to set border from render image view

It did not fully support cases when setting border from a cropped render result
and it's not totally clear how it should behave. So for now just do nothing and
inform users about this.

6 years agoQuiet warning (harmless)
Campbell Barton [Thu, 18 Dec 2014 01:15:42 +0000 (02:15 +0100)]
Quiet warning (harmless)

6 years agoFix for GPU_materials_free accessing NULL pointer
Campbell Barton [Thu, 18 Dec 2014 01:14:51 +0000 (02:14 +0100)]
Fix for GPU_materials_free accessing NULL pointer

6 years agocorrect recent cleanup for id-property types
Campbell Barton [Thu, 18 Dec 2014 01:06:57 +0000 (02:06 +0100)]
correct recent cleanup for id-property types

6 years agoSequencer: Select sideof failed for strips touching the playhead
Campbell Barton [Wed, 17 Dec 2014 22:10:12 +0000 (23:10 +0100)]
Sequencer: Select sideof failed for strips touching the playhead

6 years agoCycles: Add missing entries in the Integrator constructor and some updates
Thomas Dinges [Wed, 17 Dec 2014 21:28:33 +0000 (22:28 +0100)]
Cycles: Add missing entries in the Integrator constructor and some updates
to the XML API.

(Changes from the standalone repo)

6 years agoFix T42932: Drag&Drop of groups from the outliner was using undefined
Lukas Tönne [Wed, 17 Dec 2014 12:47:14 +0000 (13:47 +0100)]
Fix T42932: Drag&Drop of groups from the outliner was using undefined

Calculating from event->x/y like object drag/drop does works. Also fixed
a missing notifier of the object instancing operator.

6 years agoFix triangulating concave quads
Campbell Barton [Wed, 17 Dec 2014 10:31:33 +0000 (11:31 +0100)]
Fix triangulating concave quads

Resulting triangles could be pointing in opposing directions.

6 years agoFix: Never write previews for undo steps.
Bastien Montagne [Wed, 17 Dec 2014 09:20:56 +0000 (10:20 +0100)]
Fix: Never write previews for undo steps.

This may eat quite q bit of mem in the end (though nothing critical),
and icons (material ones e.g.) often ended up out of sync after undo.

6 years agoFix T42927: Triangulate-beauty fails on quads
Campbell Barton [Wed, 17 Dec 2014 09:09:47 +0000 (10:09 +0100)]
Fix T42927: Triangulate-beauty fails on quads

Regressions since 2.69.

6 years agoDocs: comments (hash table & beauty fill)
Campbell Barton [Wed, 17 Dec 2014 08:51:18 +0000 (09:51 +0100)]
Docs: comments (hash table & beauty fill)

6 years agoFix T42917 shadow maps not working on ATIs.
Antony Riakiotakis [Tue, 16 Dec 2014 20:52:55 +0000 (21:52 +0100)]
Fix T42917 shadow maps not working on ATIs.

This is yet another issue with framebuffers. There are two issues: We
need the framebuffer fully bound to check for completeness and when we
bind a depth texture as frame buffer we need to disable read/write.

6 years agoFix typo in VBO
Antony Riakiotakis [Tue, 16 Dec 2014 19:20:28 +0000 (20:20 +0100)]
Fix typo in VBO

6 years agoFix nasty typo in CPP RNA that would break on int or bool dynarrays...
Bastien Montagne [Tue, 16 Dec 2014 15:57:41 +0000 (16:57 +0100)]
Fix nasty typo in CPP RNA that would break on int or bool dynarrays...

6 years agoFix T42888: Separate and Combine HSV distorts the hue value
Sergey Sharybin [Tue, 16 Dec 2014 11:52:40 +0000 (16:52 +0500)]
Fix T42888: Separate and Combine HSV distorts the hue value

These nodes were assuming sRGB input/output which is for sure wrong for the
shader pipeline which works in the linear space.

So now conversion to/from linear space happens in these nodes which makes them
making sence in the shader context but which might change look and feel of
existing scenes.