7 years agoCycles: Build SSE41 kernel per default, remove build option. This hopefully also...
Thomas Dinges [Tue, 14 Jan 2014 21:04:32 +0000 (22:04 +0100)]
Cycles: Build SSE41 kernel per default, remove build option. This hopefully also fixes some compile errors on various systems.

7 years agoFix for rBec81feab6649: better to search for versionned libs first, else it can use...
Bastien Montagne [Tue, 14 Jan 2014 20:50:03 +0000 (21:50 +0100)]
Fix for rBec81feab6649: better to search for versionned libs first, else it can use your system ones instead of those built by install_deps!

7 years agoCleanup: some boolean int to real bool.
Bastien Montagne [Tue, 14 Jan 2014 14:52:16 +0000 (15:52 +0100)]
Cleanup: some boolean int to real bool.

7 years agoDingTo forgot to make sure kernel_sse41 is compiled in even when empty
Martijn Berger [Tue, 14 Jan 2014 20:49:48 +0000 (21:49 +0100)]
DingTo forgot to make sure kernel_sse41 is compiled in even when empty

7 years agoCMake: Fix libname handling of OpenEXR 2.1. The library built with Autotools was...
IRIE Shinsuke [Tue, 14 Jan 2014 19:36:53 +0000 (04:36 +0900)]
CMake: Fix libname handling of OpenEXR 2.1. The library built with Autotools was not found.

Weird library names having version suffix (e.g. are used only
when the OpenEXR was built with CMake.  Building the library with the Autotools
doesn't add the version suffix.

7 years agoCycles: Skip the compilation of the dedicated SSE2 kernel on x86-64, we can assume...
Thomas Dinges [Tue, 14 Jan 2014 19:39:21 +0000 (20:39 +0100)]
Cycles: Skip the compilation of the dedicated SSE2 kernel on x86-64, we can assume SSE2 here, so just re-use the regular one. Saves 500kb in the blender binary.

Reviewed by: brecht
Differential Revision:

7 years agoFurther fix for T37817: non-ascii paths fix in Cycles broke OSL rendering.
Brecht Van Lommel [Tue, 14 Jan 2014 18:15:58 +0000 (19:15 +0100)]
Further fix for T37817: non-ascii paths fix in Cycles broke OSL rendering.

Not quite sure yet what is going on here, but this works for me.

7 years agoFix GLSL compatible_pow to give 1.0 for 0 ^ 0
Sv. Lockal [Tue, 14 Jan 2014 18:58:07 +0000 (22:58 +0400)]
Fix GLSL compatible_pow to give 1.0 for 0 ^ 0

7 years agoCycles, Code cleanup: simplify code for color linear interpolation and float math
Sv. Lockal [Tue, 14 Jan 2014 18:55:02 +0000 (22:55 +0400)]
Cycles, Code cleanup: simplify code for color linear interpolation and float math

Reviewed By: brecht

Differential Revision:

7 years agoFix for icon pin drawing too large when (U.pixelsize != 1)
Campbell Barton [Tue, 14 Jan 2014 17:56:37 +0000 (04:56 +1100)]
Fix for icon pin drawing too large when (U.pixelsize != 1)

7 years agoCorrection to assert in previous commit
Sergey Sharybin [Tue, 14 Jan 2014 17:49:21 +0000 (23:49 +0600)]
Correction to assert in previous commit

7 years agoFix to recent commit, == instead of = in do_version
Howard Trickey [Tue, 14 Jan 2014 17:28:19 +0000 (12:28 -0500)]
Fix to recent commit, == instead of = in do_version

7 years agofix #T37894: IK constraint desactivation does not work as expected
Dalai Felinto [Tue, 14 Jan 2014 16:40:18 +0000 (14:40 -0200)]
fix #T37894: IK constraint desactivation does not work as expected

patch suggested by Séverin Lemaignan (skadge)

7 years agoBevel fix to clamping for percent type.
Howard Trickey [Tue, 14 Jan 2014 16:21:56 +0000 (11:21 -0500)]
Bevel fix to clamping for percent type.

The clamp code is still very crude and over-conservative,
but was totally wrong for the percent amount type.

7 years agoBevel Modifier: add width type and profile control.
Howard Trickey [Tue, 14 Jan 2014 16:00:44 +0000 (11:00 -0500)]
Bevel Modifier: add width type and profile control.

This adds to the modifier the new controls that have been
added to the bevel tool.

7 years agofix #T37892 returns wrong value
Dalai Felinto [Tue, 14 Jan 2014 15:19:22 +0000 (13:19 -0200)]
fix #T37892 returns wrong value

patch (with changes from me) by Séverin Lemaignan (skadge)

7 years agoFix T38209: Curve's didn't account for negative scale
Campbell Barton [Tue, 14 Jan 2014 13:35:43 +0000 (00:35 +1100)]
Fix T38209: Curve's didn't account for negative scale

Would use the face winding from the previously drawn mesh

7 years agoFix for own regression, editmode object selection (Ctrl+RMB)
Campbell Barton [Tue, 14 Jan 2014 13:25:50 +0000 (00:25 +1100)]
Fix for own regression, editmode object selection (Ctrl+RMB)

Wasn't working because of editmode override (which uses regular object selection in editmode)

7 years agoFix T38196: Crash with smoke simulation
Sergey Sharybin [Tue, 14 Jan 2014 11:17:24 +0000 (17:17 +0600)]
Fix T38196: Crash with smoke simulation

Issue was caused by KD tree being allocated with the wrong size.

7 years agoAdd check for KD tree size to BLI_kdtree_insert()
Sergey Sharybin [Tue, 14 Jan 2014 11:11:55 +0000 (17:11 +0600)]
Add check for KD tree size to BLI_kdtree_insert()

Makes sure we're not trying to insert more nodes than we've
been expecting to.

7 years agoFix T38205, typo in Add Torus operator.
Thomas Dinges [Tue, 14 Jan 2014 08:45:40 +0000 (09:45 +0100)]
Fix T38205, typo in Add Torus operator.

7 years agoCorrect bad mistake in own recent to commit to angle calculation
Campbell Barton [Tue, 14 Jan 2014 02:47:24 +0000 (13:47 +1100)]
Correct bad mistake in own recent to commit to angle calculation

7 years agoCode Cleanup: minor edits to recent commit
Campbell Barton [Tue, 14 Jan 2014 02:39:55 +0000 (13:39 +1100)]
Code Cleanup: minor edits to recent commit

7 years agoMissed a comment on last commit.
Jonathan Williamson [Tue, 14 Jan 2014 02:35:35 +0000 (20:35 -0600)]
Missed a comment on last commit.

This was missed in the previous commit. Adding back for future readability. Thanks @campbellbarton for spotting it.

7 years agoMake Toolbar Tabs more readable
Jonathan Williamson [Sat, 4 Jan 2014 19:54:39 +0000 (13:54 -0600)]
Make Toolbar Tabs more readable

This makes the tabs slightly larger, increases the text size slightly, and adjusts the colors a bit to improve overall contrast. It also makes inactive tabs draw with a full tab shape, improving the readability at a glance, particularly when tabs are very small.

The users most affected will be those on smaller displays, where previously tabs were very difficult to read.

Reviewers: @billrey, @campbellbarton

Differential Revision:

7 years agoFix T38186: mesh inset didn't follow edge directions for flat surfaces
Campbell Barton [Mon, 13 Jan 2014 22:17:46 +0000 (09:17 +1100)]
Fix T38186: mesh inset didn't follow edge directions for flat surfaces

also improve evenness when the inset direction wasn't exactly between both edges,

7 years agoMath Lib: minor optimization for angle functions
Campbell Barton [Mon, 13 Jan 2014 22:14:34 +0000 (09:14 +1100)]
Math Lib: minor optimization for angle functions

7 years agoFix T38192: OSL got incorrectly enabled in preview render when GPU was selected
Brecht Van Lommel [Mon, 13 Jan 2014 22:29:35 +0000 (23:29 +0100)]
Fix T38192: OSL got incorrectly enabled in preview render when GPU was selected
for rendering of the main scene.

7 years agoFix T38176: can't set vertex coordinate to 0.0 when it's set to 0.0000001.
Brecht Van Lommel [Mon, 13 Jan 2014 22:19:46 +0000 (23:19 +0100)]
Fix T38176: can't set vertex coordinate to 0.0 when it's set to 0.0000001.

7 years agoEmpties with Images draw type: add support for movies and image sequences
Geoffroy Krantz [Mon, 13 Jan 2014 20:57:05 +0000 (21:57 +0100)]
Empties with Images draw type: add support for movies and image sequences

This adds an ImageUser to such empties with all the typical settings.

Reviewed By: brecht, campbellbarton

Differential Revision:

7 years agoCycles: Fix Wave texture difference between OSL and SVM, OSL wasn't using the "Scale...
Thomas Dinges [Mon, 13 Jan 2014 21:01:39 +0000 (22:01 +0100)]
Cycles: Fix Wave texture difference between OSL and SVM, OSL wasn't using the "Scale" properly for distortion.

7 years agoCode cleanup / Cycles: Don't pass scale to texture functions, do the multiplication...
Thomas Dinges [Mon, 13 Jan 2014 19:40:13 +0000 (20:40 +0100)]
Code cleanup / Cycles: Don't pass scale to texture functions, do the multiplication in the function call already.

7 years agoCeres: more warnings cleanup
Sergey Sharybin [Mon, 13 Jan 2014 19:17:54 +0000 (01:17 +0600)]
Ceres: more warnings cleanup

7 years agoCode Cleanup: replace checks for ima->source with BKE_image_is_animated
Campbell Barton [Mon, 13 Jan 2014 17:59:58 +0000 (04:59 +1100)]
Code Cleanup: replace checks for ima->source with BKE_image_is_animated

7 years agoFix T38171: Vertical tabs don't respond to clicks on the left most pixels
Campbell Barton [Mon, 13 Jan 2014 17:15:54 +0000 (04:15 +1100)]
Fix T38171: Vertical tabs don't respond to clicks on the left most pixels

7 years agoColor control for bl_debug_draw functions
Howard Trickey [Mon, 13 Jan 2014 16:58:06 +0000 (03:58 +1100)]
Color control for bl_debug_draw functions

7 years agoFix T38190: Linux tablet: Issue with XInput/GHOST?
Bastien Montagne [Mon, 13 Jan 2014 16:50:12 +0000 (17:50 +0100)]
Fix T38190: Linux tablet: Issue with XInput/GHOST?

With edits by Campbell, thanks!

Looks like in some cases (driver dependent?), `XDeviceMotionEvent` get generated with only part of expected data
(e.g. only x coordinate, only pressure, etc.), data which did not change since last event being NULL.
We know which data to actually handle with `XDeviceMotionEvent.first_axis` and `XDeviceMotionEvent.axes_count` values.

Reviewed by: campbellbarton

Differential Revision:

7 years agofix compilation for mingw-w64
Antony Riakiotakis [Mon, 13 Jan 2014 13:46:46 +0000 (15:46 +0200)]
fix compilation for mingw-w64

7 years agoFix cycles texture crash on win x86-64 + msvc 11
Sv. Lockal [Mon, 13 Jan 2014 14:21:34 +0000 (18:21 +0400)]
Fix cycles texture crash on win x86-64 + msvc 11

Use union for __m128 aliasing; while gcc supports no-strict-aliasing attribute, unions are the most common way to deal with __m128 in msvc.

7 years agoFix crash happening on render after recent imbuf PERSISTENT flag
Sergey Sharybin [Mon, 13 Jan 2014 14:25:42 +0000 (20:25 +0600)]
Fix crash happening on render after recent imbuf PERSISTENT flag

7 years agoRe-bundle new Ceres library
Sergey Sharybin [Mon, 13 Jan 2014 13:11:08 +0000 (19:11 +0600)]
Re-bundle new Ceres library

- Fixes some harmless issues (in cases blender doesn't use Ceres yet)
- Fixes some compilation warnings

7 years agoUI Icons: store icons in git as uncompressed pixmaps (D196)
Campbell Barton [Mon, 13 Jan 2014 12:47:33 +0000 (23:47 +1100)]
UI Icons: store icons in git as uncompressed pixmaps (D196)

this allows for updating icons without committing a new PNG each time
(which is inefficient with git). The data files are converted into a
PNG at builds time and used just as they were before.

7 years agoFix T37886: Material does no update when changing keyframes in dopesheet
Sergey Sharybin [Mon, 13 Jan 2014 13:02:23 +0000 (19:02 +0600)]
Fix T37886: Material does no update when changing keyframes in dopesheet

It was a missing fcurve evaluation in scene update function which lead to
materials only being updated on frame change.

Added the same exception as we've got for the scene animation. It only
runs when there're materials tagged for the update, so wouldn't expect
speed regressions or so.

7 years agoFix T38040: Crash after loading big image file in compositor
Sergey Sharybin [Mon, 13 Jan 2014 12:42:40 +0000 (18:42 +0600)]
Fix T38040: Crash after loading big image file in compositor

Issue was caused by cache limitor removing viewer image buffer
from the memory during compositing. Now made it so all viewer
images are persistent in the memory.

This solves the crash mentioned above and also makes it so
render/compo results are never lost.

Further tweaks are possible, but pretty much happy now, at
least no stoppers for work are there.

7 years agoUI Icons: use a python script rather then a shell (for non unix systems)
Campbell Barton [Mon, 13 Jan 2014 12:18:25 +0000 (23:18 +1100)]
UI Icons: use a python script rather then a shell (for non unix systems)

7 years agoCompilation error fix and strict warning silence for previous commits
Sergey Sharybin [Mon, 13 Jan 2014 10:33:18 +0000 (16:33 +0600)]
Compilation error fix and strict warning silence for previous commits

7 years agoRemove direct lattice modifiers calc from the drawing code
Sergey Sharybin [Mon, 13 Jan 2014 10:29:07 +0000 (16:29 +0600)]
Remove direct lattice modifiers calc from the drawing code

Same as mballs and curves it was only to work around DAG stupidness
which hopefully was fixed in one of the previous commits.

From quick tests everything works fine, if something is broken now
poke me to find a proper solution.

7 years agoAvoid memcpy to self when validating UV layer name
Sergey Sharybin [Mon, 13 Jan 2014 10:26:10 +0000 (16:26 +0600)]
Avoid memcpy to self when validating UV layer name

7 years agoRemove direct mball creation from object conversion
Sergey Sharybin [Mon, 13 Jan 2014 10:20:20 +0000 (16:20 +0600)]
Remove direct mball creation from object conversion

Same as previous commit, mball shall be visible before conversion
meaning it is to be evaluated already.

7 years agoRemove direct mball creation from the drawing code
Sergey Sharybin [Mon, 13 Jan 2014 10:18:08 +0000 (16:18 +0600)]
Remove direct mball creation from the drawing code

This is the same case as curves, and really this is now
totally up to DAG, If something fails, poke me to fix the DAG.

7 years agoMake bvhutil safe for multi-threaded usage
Sergey Sharybin [Fri, 10 Jan 2014 11:21:39 +0000 (17:21 +0600)]
Make bvhutil safe for multi-threaded usage

There were couple of reasons why it wasn't safe for usage from
multiple threads.

First of all, it was trying to cache BVH in derived mesh, which
wasn't safe because multiple threads might have requested BVH
tree and simultaneous reading and writing to the cache became a
big headache.

Solved this with RW lock so now access to BVH cache is safe.

Another issue is causes by the fact that it's not guaranteed
DM to have vert/edge/face arrays pre-allocated and when one
was calling functions like getVertDataArray() array could
have been allocated and marked as temporary. This is REALLY
bad, because NO ONE is ever allowed to modify data which
doesn't belong to him. This lead to situations when multiple
threads were using BVH tree and they run into race condition
with this temporary allocated arrays.

Now bvhtree owns allocated arrays and keeps track of them, so
no race condition happens with temporary data stored in the
derived mesh. This solved threading issues and likely wouldn't
introduce noticeable slowdown. Even when DM was keeping track
of this arrays, they were re-allocated on every BVH creation
anyway, because those arrays were temporary and were freed
with dm->release() call.

We might re-consider this a bit and make it so BVH trees are
allocated when DM itself is being allocated based on the DAG
layout, but that i'd consider an optimization and not something
we need to do 1st priority.

Fixes crash happening with 05_4g_track.blend from Mango after
the threaded object update landed to master.

7 years agoFix T38139: Objects which are in cyclic dependency are not updated
Sergey Sharybin [Fri, 10 Jan 2014 09:39:06 +0000 (15:39 +0600)]
Fix T38139: Objects which are in cyclic dependency are not updated

Graph traversal which is based on counting parents which are still
to be updated fails in cases there are cycles in the graph.

If there are cyclic dependencies in the scene all the objects from
the cycles will be updated in a single thread now one by one. This
makes blender behave the same way as it was before multi-threaded
DAG landed to master.

This needed to tweak depsgraph a bit so now dag_check_cycle() sets
is_acyclic field of DAG forest if there are cycles in the graph.

TODO: It might be possible to save some time on evaluation when
      all the tagged objects were updated in multi-threaded DAG

7 years agoFix T38054: High CPU usage with many objects
Sergey Sharybin [Thu, 9 Jan 2014 13:13:26 +0000 (19:13 +0600)]
Fix T38054: High CPU usage with many objects

This is a regression since threaded dependency graph landed to master.
Root of the issue goes to the loads of graph preparation being done
even if there's nothing to be updated.

The idea of this change is to use ID type recalc bits to determine
whether there're objects to be updated. Generally speaking, we now
check object and object data datablocks with DAG_id_type_tagged()
and if there's no such IDs tagged we skip the whole task pool creation
and so,

The only difficult aspect was that in some circumstances it was possible
that there are tagged objects but nothing in ID recalc bit fields.

There were several different circumstances when it was possible:

* When one assigns object->recalc flag directly DAG flush didn't
  set corresponding bits to ID recalc bits. Partially it is fixed
  by making it so flush will set bitfield, but also for object
  types there's no reason to assign recalc flag directly. Using
  generic DAG_id_type_tag works almost the same fast as direct
  assignment, ensures all the bitflags are set properly and for the
  long run it seems it's what we would actually want to.

* DAG_on_visible_update() didn't set recalc bits at all.

* Some areas were checking for object->recalc != 0, however it is was
  possible that object recalc flag contains PSYS_RECALC_CHILD which
  was never cleaned from there.

  No idea why would we need to assign such a flag when enabling
  scene simplification, this is to be investigated separately.

* It is possible that scene_update_post and frame_update_post handlers
  will modify objects. The issue is that DAG_ids_clear_recalc is called
  just after callbacks, which leaves objects with recalc flags but no
  corresponding bit in ID recalc bitfield. This leads to some kind of
  regression when using ID type tag fields to check whether there objects
  to be updated internally comparing threaded DAG with legacy one.

  For now let's have a workaround which will preserve tag for ID_OB
  if there're objects with OB_RECALC_ALL bits. This keeps behavior
  unchanged comparing with 2.69 release.

7 years agoRemove direct displist creation from array modifier
Sergey Sharybin [Thu, 9 Jan 2014 20:10:43 +0000 (02:10 +0600)]
Remove direct displist creation from array modifier

First of all, it was needed to have that set scenes fix which
was done recently so curve is being evaluated properly on file

And last but not least, also needed to tag DAG node to evaluate
path regardless to curve datablock settings so curve length is
always known.

7 years agoRemove direct displist creation from constraints
Sergey Sharybin [Thu, 9 Jan 2014 20:02:59 +0000 (02:02 +0600)]
Remove direct displist creation from constraints

Since recent DAG commit for set scenes in DAG_on_visible_update()
it seems there're no longer issues with missing curve_cache after
file load.

7 years agoRemove direct displist creation from curve deform
Sergey Sharybin [Thu, 9 Jan 2014 19:45:53 +0000 (01:45 +0600)]
Remove direct displist creation from curve deform

This solves threading conflict which happens when having
multiple objects using Curve Deform modifier with the same
curve datablock. This conflict was caused by the fact that
curve_deform_verts() used to temporary override curve's
flags to make it path is there.

Actually, it was setting CU_FOLLOW flag temporary which
was only used where_on_path() (only in terms that this
temporary assignment only affected this function) but it
is now commented out for a while, so no reason to set
this flag temporary, If it's ever to be done, we'll need
to pass flags as an additional function argument.

For the path creation i've extended DegNode structure
which now holds extra bits which indicates what additional
data depending on the graph topology is to be evaluated.

Currently this is only used to indicate that curve needs
path to be evaluated regardless to cu->flag state. This
is so Curve Deform modifier is always happy.

In the future this flag might also be used to indicate
whether bmesh verts are to update (see recent commit to
3-vertex parent crash fix) or to indicate that the object
is the motherball etc.

7 years agoRemove direct displist creation from BKE_vfont_to_curve_ex()
Sergey Sharybin [Thu, 9 Jan 2014 18:03:49 +0000 (00:03 +0600)]
Remove direct displist creation from BKE_vfont_to_curve_ex()

This goes back to ancient era again and such a call isn't
safe for threading and really DAG is to make it sure display
list for dependencies is always there.

7 years agoCode cleanup: no need to check display list elements in texture space match
Sergey Sharybin [Thu, 9 Jan 2014 17:51:24 +0000 (23:51 +0600)]
Code cleanup: no need to check display list elements in texture space match

7 years agoRemove direct displist creation from object conversion
Sergey Sharybin [Thu, 9 Jan 2014 17:11:50 +0000 (23:11 +0600)]
Remove direct displist creation from object conversion

If the object is visible and editable it means there's no
way DAG to fail to create needed display lists.

7 years agoRemove direct displist creation from bevel code
Sergey Sharybin [Thu, 9 Jan 2014 17:02:45 +0000 (23:02 +0600)]
Remove direct displist creation from bevel code

BKE_curve_bevel_make() is only used from object_handle_update()
friends and never called directly. This means if there's no
display list ready for the bevel object it's something wrong
happened with DAG.

In fact, this check goes back to ancient era and from tests
it appears this check is no longer needed.

7 years agoRemove direct displist creation from drawing code
Sergey Sharybin [Thu, 9 Jan 2014 16:42:11 +0000 (22:42 +0600)]
Remove direct displist creation from drawing code

It was some kind of workaround for DAG glitch in 2009
(commit hash 8c5c7ebb0) and according to the comment
was needed to make select outline show immediately.

After some tests it appears DAG behaves almost fine now
(just needed to make it so layer is flushed properly to
the set scene) and no reason to have rather confusing
call in the code.

7 years agoUI: remove create new directory popup for button in file browser header.
Andrew Buttery [Mon, 13 Jan 2014 09:43:15 +0000 (10:43 +0100)]
UI: remove create new directory popup for button in file browser header.

We do keep it when typing an new directory name in the directory text field.

Reviewed By: brecht, billrey

Differential Revision:

7 years agoSelect Random: add option to de-select
Campbell Barton [Mon, 13 Jan 2014 09:36:38 +0000 (20:36 +1100)]
Select Random: add option to de-select

also made metaball operator behave like the others.

Path originally from Walid Shouman, with own edits.

7 years agoFix cycles standalone compile on some systems, CMAKE_DL_LIBS should be enough.
Marcus von Appen [Mon, 13 Jan 2014 09:33:43 +0000 (10:33 +0100)]
Fix cycles standalone compile on some systems, CMAKE_DL_LIBS should be enough.

Reviewed By: brecht

Differential Revision:

7 years agoCode Cleanup: spelling
Campbell Barton [Mon, 13 Jan 2014 03:53:41 +0000 (14:53 +1100)]
Code Cleanup: spelling

7 years agoFix some harmless warnings that mostly appeared on MinGW64
Antony Riakiotakis [Mon, 13 Jan 2014 02:28:51 +0000 (04:28 +0200)]
Fix some harmless warnings that mostly appeared on MinGW64

7 years agoBevel fixes for profiles: better way to calculate.
Howard Trickey [Sun, 12 Jan 2014 19:06:58 +0000 (14:06 -0500)]
Bevel fixes for profiles: better way to calculate.

It is better to keep the profile as it is perpedicular
to the edge, and then project it onto a given plane
at the corners. Also fixed the interpolation to a
different number of segments when the profile is not

7 years agoFix T38124: Grease Pencil Line thickness
Bastien Montagne [Sun, 12 Jan 2014 17:52:14 +0000 (18:52 +0100)]
Fix T38124: Grease Pencil Line thickness

Issue was in GP draw code: line thickness was not initiated properly (and a null one makes OGL draw a unity-width line).

Also tweaked threshold (when to start a new, width-different OGL linestrip), to make it inversaly proportional to thickness
(so that now, it's 0.2 for a thickness of 1, 0.1 for a thickness of 2, etc.), avoids too big steps when using large thickness.

7 years agoUIList tweak: make active item visible when it changes somehow (useful e.g. when...
Bastien Montagne [Sun, 12 Jan 2014 14:56:47 +0000 (15:56 +0100)]
UIList tweak: make active item visible when it changes somehow (useful e.g. when weight-paintings a rigged mesh).

7 years agoFix compilation for OpenCL (and small stype fixes)
Sv. Lockal [Sun, 12 Jan 2014 14:18:43 +0000 (18:18 +0400)]
Fix compilation for OpenCL (and small stype fixes)

7 years agoCycles: SSE for Voronoi textures (targeted for Haswell CPUs)
Sv. Lockal [Sun, 12 Jan 2014 14:14:00 +0000 (18:14 +0400)]
Cycles: SSE for Voronoi textures (targeted for Haswell CPUs)

Gives up to 15% speedup scenes with voronoi-based textures (up to 25% with volumes) on Haswell. The performance change for other CPUs is much smaller: 1-2%.

Reviewed By: brecht

Differential Revision:

7 years agoStyle Cleanup: whitespace
Campbell Barton [Sun, 12 Jan 2014 11:27:55 +0000 (22:27 +1100)]
Style Cleanup: whitespace

7 years agoStyle Cleanup: whitespace
Campbell Barton [Sun, 12 Jan 2014 11:05:24 +0000 (22:05 +1100)]
Style Cleanup: whitespace

7 years agoUI: More consistency for T/N sidebars. Logic Editor Properties are on the right now...
Thomas Dinges [Sun, 12 Jan 2014 00:00:16 +0000 (01:00 +0100)]
UI: More consistency for T/N sidebars. Logic Editor Properties are on the right now as well, and File Browser Bookmark sidebar uses "T" key, as its on the right.

7 years agoFix T38160, N and T sidebars in Image Editor are swapped. Now the Properties are...
Andrew Buttery [Sat, 11 Jan 2014 23:50:43 +0000 (00:50 +0100)]
Fix T38160, N and T sidebars in Image Editor are swapped. Now the Properties are on the right side, which is consistent with other editors.

Differential Revision:

7 years agoUI: Add a "New" button for the particle system, consistent to other areas like materi...
Andrew Buttery [Sat, 11 Jan 2014 23:39:15 +0000 (00:39 +0100)]
UI: Add a "New" button for the particle system, consistent to other areas like materials, world and textures.

Differential Revision:

7 years agoCode Cleanup: in Cycles SSE replace macros with templates, skip unused code with...
Sv. Lockal [Sat, 11 Jan 2014 18:20:03 +0000 (22:20 +0400)]
Code Cleanup: in Cycles SSE replace macros with templates, skip unused code with preprocessor, simplify casts

7 years agoCycles: mix hair minimum width code with SSE intersection code
Sv. Lockal [Sat, 11 Jan 2014 16:47:30 +0000 (20:47 +0400)]
Cycles: mix hair minimum width code with SSE intersection code

Gives 6.5% speedup for hair.blend from testsuite.

Reviewed By: brecht

Differential Revision:

7 years agoCode Cleanup: move MOUSEX/Y to BGE, describe INBETWEEN_MOUSEMOVE
Campbell Barton [Sat, 11 Jan 2014 14:59:17 +0000 (01:59 +1100)]
Code Cleanup: move MOUSEX/Y to BGE, describe INBETWEEN_MOUSEMOVE

7 years agoEvents: support for buttons 6 & 7 (some trackballs have these) X11 only
Campbell Barton [Sat, 11 Jan 2014 13:38:44 +0000 (00:38 +1100)]
Events: support for buttons 6 & 7 (some trackballs have these) X11 only

Patch by Marcus von Appen

Note: this patch makes ISMOUSE accept INBETWEEN_MOUSEMOVE as a mouse
event where before it didnt.

7 years agoEvents: Use INBETWEEN_MOUSEMOVE for inactive windows too.
Campbell Barton [Sat, 11 Jan 2014 13:30:16 +0000 (00:30 +1100)]
Events: Use INBETWEEN_MOUSEMOVE for inactive windows too.

7 years agoGhost: update multitest for changes in BLF
Campbell Barton [Sat, 11 Jan 2014 12:52:36 +0000 (23:52 +1100)]
Ghost: update multitest for changes in BLF

7 years agoAdd tangent space computation/access from RNA (i.e. python).
Bastien Montagne [Sat, 11 Jan 2014 10:31:44 +0000 (11:31 +0100)]
Add tangent space computation/access from RNA (i.e. python).

This simply mimics code used for loopnormals, to enable py scripts to generate and access (temporary)
a tangent 3D vector and bitangent sign for each loop. Together with the split normals, this allow
to recreate a complete tangent space for normal mapping (bitangent = bitangent_sign * cross(normal, tangent)).

Expects all faces to be tri or quads.

Reviewed By: Brecht, campbellbarton

Differential Revision:

7 years agoImage API: add frame argument to gl_load(), gl_touch()
Campbell Barton [Sat, 11 Jan 2014 10:25:20 +0000 (21:25 +1100)]
Image API: add frame argument to gl_load(), gl_touch()

patch D103 by Krantz Geoffroy

7 years agoFix T38150: correct fix this time
Campbell Barton [Sat, 11 Jan 2014 10:03:21 +0000 (21:03 +1100)]
Fix T38150: correct fix this time

also use fixed size lists for list creation.

7 years agoScons: disable player along with game-engine.
Campbell Barton [Sat, 11 Jan 2014 03:54:57 +0000 (14:54 +1100)]
Scons: disable player along with game-engine.

7 years agoFix T38145: python error popup when pressing shift+Z in blender game mode.
Brecht Van Lommel [Fri, 10 Jan 2014 23:59:22 +0000 (00:59 +0100)]
Fix T38145: python error popup when pressing shift+Z in blender game mode.

7 years agoFix T38129: cycles viewport render display with very bright colors turning black.
Brecht Van Lommel [Fri, 10 Jan 2014 23:49:51 +0000 (00:49 +0100)]
Fix T38129: cycles viewport render display with very bright colors turning black.

This happened when exceeding the maximum value representable by half floats.

7 years agoFix T37817: cycles CUDA detection problem on Windows with non-ascii paths.
Brecht Van Lommel [Fri, 10 Jan 2014 23:47:58 +0000 (00:47 +0100)]
Fix T37817: cycles CUDA detection problem on Windows with non-ascii paths.

7 years agoFix T38149: crash adding metaball with zero radius.
Brecht Van Lommel [Fri, 10 Jan 2014 19:52:18 +0000 (20:52 +0100)]
Fix T38149: crash adding metaball with zero radius.

This incorrectly use abs(), that's for integers, not floats.

7 years agoFix clang warning for (harmless) use of uninitialized variable.
Brecht Van Lommel [Fri, 10 Jan 2014 18:43:31 +0000 (19:43 +0100)]
Fix clang warning for (harmless) use of uninitialized variable.

7 years agoFix T38143: pressing F12 key in the text editor on OS X would type an invalid character.
Brecht Van Lommel [Fri, 10 Jan 2014 18:39:35 +0000 (19:39 +0100)]
Fix T38143: pressing F12 key in the text editor on OS X would type an invalid character.

7 years agoFix T38142: socket interface 'type' enums are not initialized. These are
Lukas Tönne [Fri, 10 Jan 2014 15:51:45 +0000 (16:51 +0100)]
Fix T38142: socket interface 'type' enums are not initialized. These are
not really needed anyway, but need to be adjusted to make use of the
socket value copy methods.

7 years agoFix T38150: BMLayerCollection.items/values docs switched
Campbell Barton [Fri, 10 Jan 2014 11:17:33 +0000 (22:17 +1100)]
Fix T38150: BMLayerCollection.items/values docs switched

7 years agoFix for random crash in localized node group freeing while tweaking
Lukas Tönne [Fri, 10 Jan 2014 08:34:10 +0000 (09:34 +0100)]
Fix for random crash in localized node group freeing while tweaking
group default values.

This can happen when using value sliders for node group input values.
The localized copies were setting the "interface_type" runtime pointer
of the original tree to NULL instead of the new tree (which is created
on-the-fly in general). This type is used in RNA update functions
however, the original tree DNA should not be modified there.

7 years agoOpenCollada: Fix error in printf-format (too much arguments).
Bastien Montagne [Thu, 9 Jan 2014 19:34:02 +0000 (20:34 +0100)]
OpenCollada: Fix error in printf-format (too much arguments).

7 years agoCleanup: mostly, prefer array syntax to pointer arithmetic (keep the later only where...
Bastien Montagne [Thu, 9 Jan 2014 19:11:48 +0000 (20:11 +0100)]
Cleanup: mostly, prefer array syntax to pointer arithmetic (keep the later only where it really makes sense).

7 years agoFix T38135: Global start and end point of the curve was set to zero radius & weight...
Bastien Montagne [Thu, 9 Jan 2014 18:45:26 +0000 (19:45 +0100)]
Fix T38135: Global start and end point of the curve was set to zero radius & weight, when using 'linked' option.

This was (more or less) OK with hand-drawn strokes, as the number of points made it nearly unoticable, but broke completely with line and poly strokes!

Did this when I implemented linked curve feature because it was easier! Now, convert code always adds a heading and trailing point to the curve,
to get initial/final zero radius. Adds even more complexity to those functions... :/

7 years agoGrease pencil 'convert to curve' code: some cleanup & refactor.
Bastien Montagne [Thu, 9 Jan 2014 14:23:28 +0000 (15:23 +0100)]
Grease pencil 'convert to curve' code: some cleanup & refactor.

7 years agoCleanup: Remove tabs in empty lines, use bool when possible instead of int, and mark...
Bastien Montagne [Thu, 9 Jan 2014 10:08:17 +0000 (11:08 +0100)]
Cleanup: Remove tabs in empty lines, use bool when possible instead of int, and mark const values/parameters as such.