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.

7 years agoCode cleanup: remove WIP code came from the GSoC branch
Sergey Sharybin [Thu, 9 Jan 2014 19:23:49 +0000 (01:23 +0600)]
Code cleanup: remove WIP code came from the GSoC branch

DAG node tagging was rather an experiment to make derived render working.
However, it ended up in a whole can of worms and need to be re-considered.
It is likely that regular object update tagging and scene update routines
are to be used for this.

Meanwhile no need to keep extra field in dag node. Would save us the whole
byte of the struct which we can use for other purposes meanwhile.

7 years agoFix own regression in font->curve conversion
Sergey Sharybin [Thu, 9 Jan 2014 17:34:52 +0000 (23:34 +0600)]
Fix own regression in font->curve conversion

Issue was introduced in a2bf25e and was caused by
do_makeDispListCurveTypes() no longer placing nurbs
to cu->nurb list.

Such an operation isn't thread-safe and proper solution
would require having granular update. For until them
just make object conversion take care of filling cu->nurb
in with splines from font.

7 years agoFix T38083: submenu arrow is overlayed by menu hotkey
Campbell Barton [Thu, 9 Jan 2014 15:23:55 +0000 (02:23 +1100)]
Fix T38083: submenu arrow is overlayed by menu hotkey

7 years agoFix T38077: Scaling bones in EditMode drawn using envelope display mode scales joint...
Joshua Leung [Thu, 9 Jan 2014 11:44:03 +0000 (00:44 +1300)]
Fix T38077: Scaling bones in EditMode drawn using envelope display mode scales joint radii instead

When trying to scale bones in EditMode and the bones were drawn using envelope display mode,
this resulted in the joint radii (i.e. the inner part of envelopes) being adjusted instead.
It turns out that this was due to an old hack that was put in place back in 2.4x (see the
tracker logs for full details of the problem here).

This commit introduces the following fixes:
1) Removed the old hack. Scaling (S) works normally now.
2) Ctrl-Alt-S (i.e. "Scale Envelopes/BBones") is as-is.
   That is, it is used to adjust the size falloff-region around a bone
   (i.e. the "dist" property)
3) Added Alt-S hotkey in EditMode for armatures for adjusting the radii of bones.
   This change just means that the "TFM_BONE_ENVELOPE" mode is now able to be
   accessed from the UI as a tool on its own right (instead of being accessible
   via the old undocumented hack). This tool adjusts the radii of the bone joints,
   which define the actual full-influence region of the envelopes.

7 years agoFix T38138: incorrect API docs
Campbell Barton [Thu, 9 Jan 2014 10:48:41 +0000 (21:48 +1100)]
Fix T38138: incorrect API docs

7 years agoFix T38000: vertex parent crash due to threading issues
Sergey Sharybin [Thu, 9 Jan 2014 10:19:51 +0000 (16:19 +0600)]
Fix T38000: vertex parent crash due to threading issues

Issue is causes by vertex parent modifies original BMesh from
a multiple threads. Ideally this is to be done as a separate
update callback for mesh datablock, but it's not so much simple
now (would need to do some re-arranges to DAG which might conflict
with the work from Ali or will double amount of work we did).

So for now use simple solution with mutex lock.

Based on the patch from Campbell Barton with some fixes to make
changes really thread-safe.

Differential Revision:

7 years agoCompilation error fix for NetBSD
Sergey Sharybin [Thu, 9 Jan 2014 10:15:24 +0000 (16:15 +0600)]
Compilation error fix for NetBSD

Based on the patch from Joerg Sonnenberger.

7 years agoFix compilation error on NetBSD
Sergey Sharybin [Thu, 9 Jan 2014 10:03:02 +0000 (16:03 +0600)]
Fix compilation error on NetBSD

Original patch is by Jeorg Sonnenberger, thanks!

7 years agoFix remaining sculpt mode crash using multires modifier, similar cause
Antony Riakiotakis [Thu, 9 Jan 2014 02:28:17 +0000 (04:28 +0200)]
Fix remaining sculpt mode crash using multires modifier, similar cause
to previous sculpt fix (OpenGL access from thread with no context
bound). The fact that this has gone unnoticed so far means that people
are dyntopoing like crazy these days.

7 years agoCode Cleanup: style
Campbell Barton [Thu, 9 Jan 2014 00:44:14 +0000 (11:44 +1100)]
Code Cleanup: style

7 years agoFix T38134: missing cycles update when removing world volume scatter shader.
Brecht Van Lommel [Thu, 9 Jan 2014 00:26:43 +0000 (01:26 +0100)]
Fix T38134: missing cycles update when removing world volume scatter shader.

7 years agoFix T38016: setting Object.matrix_world does not take bone parents into account.
Brecht Van Lommel [Wed, 8 Jan 2014 23:37:41 +0000 (00:37 +0100)]
Fix T38016: setting Object.matrix_world does not take bone parents into account.

7 years agoCode cleanup: remove BKE_object_where_is_calc_simul function.
Brecht Van Lommel [Wed, 8 Jan 2014 23:17:18 +0000 (00:17 +0100)]
Code cleanup: remove BKE_object_where_is_calc_simul function.

It doesn't make any sense anymore with the current depsgraph and probably was
not useful for a long time, just a leftover from the pre 2.04 game engine.

7 years agoFix T38062: normal map baking gave randomly values 127 or 128 in flat areas.
Brecht Van Lommel [Wed, 8 Jan 2014 22:36:11 +0000 (23:36 +0100)]
Fix T38062: normal map baking gave randomly values 127 or 128 in flat areas.

Due to float precision issues it was basically random which of the two was used,
now it's slightly biased towards 128, which is the convention for flat colors.
The small difference between 127 and 128 could give problems with sharp glossy
shaders where it would be visible as seams.

7 years agoFix T38134: cycles viewport render not updating when adding a world volume shader.
Brecht Van Lommel [Wed, 8 Jan 2014 22:12:54 +0000 (23:12 +0100)]
Fix T38134: cycles viewport render not updating when adding a world volume shader.

7 years agoFix T38104: mathutils.cell_vector() always returns (0,0,0)
Denis Declara [Wed, 8 Jan 2014 22:03:09 +0000 (23:03 +0100)]
Fix T38104: mathutils.cell_vector() always returns (0,0,0)

Reviewed By: brecht

7 years agoFix crash cancelling command line render to AVI movie file.
Brecht Van Lommel [Wed, 8 Jan 2014 21:28:29 +0000 (22:28 +0100)]
Fix crash cancelling command line render to AVI movie file.

7 years agoFix T38131: node link buttons (like for cycles in material properties) were not
Brecht Van Lommel [Wed, 8 Jan 2014 19:40:37 +0000 (20:40 +0100)]
Fix T38131: node link buttons (like for cycles in material properties) were not
giving correct colors with theme menu colors set to bright values.

Thanks to Denis Declara for finding the cause of this bug.

7 years agoCycles: workaround for noise performance regression in CUDA 5.5
Sv. Lockal [Wed, 8 Jan 2014 18:25:55 +0000 (22:25 +0400)]
Cycles: workaround for noise performance regression in CUDA 5.5

Use manual ternary operation widening in grad(). Without it nvcc 5.5 produces multiple branch splits with very big branches (because of inlining). This solves 19% performance regression for BMW1M-MikePan.blend.

Also remove one redundant instruction in perlin SSE (when h == 12 or h == 14, then h is always >= 4).

Reviewed By: brecht

Differential Revision:

7 years agoFix T38074: sequence rendering gave "No camera" warning for other scenes that
Brecht Van Lommel [Wed, 8 Jan 2014 17:26:42 +0000 (18:26 +0100)]
Fix T38074: sequence rendering gave "No camera" warning for other scenes that
didn't need a camera because they use only compositing nodes.

7 years agoFix T38105: Action Editor refresh is missing when a keyframe is inserted in 3D view
Thomas Beck [Wed, 8 Jan 2014 16:50:25 +0000 (17:50 +0100)]
Fix T38105: Action Editor refresh is missing when a keyframe is inserted in 3D view

 When yiz insert a keyframe (on a location keying set f.e.) in the 3D-view and you got an action editor open then the action datablock is  not changed (displaying only the button "new") until you hover the action editor with the mouse.

 Added a handler in the action_header_area_listener to handle this case

If non-obvious, some technical note about what the cause of the bug was and
how it was solved.

7 years agoFix T38108: blender freeze in remembering operator properties.
Brecht Van Lommel [Wed, 8 Jan 2014 16:48:38 +0000 (17:48 +0100)]
Fix T38108: blender freeze in remembering operator properties.

7 years agoFix for incorrect use of abs() in intersect_sphere_sphere_2d
Campbell Barton [Wed, 8 Jan 2014 16:07:17 +0000 (03:07 +1100)]
Fix for incorrect use of abs() in intersect_sphere_sphere_2d

7 years agoFix issues with float precision in numinput, like 'R 123' who would show additional...
Bastien Montagne [Wed, 8 Jan 2014 16:04:10 +0000 (17:04 +0100)]
Fix issues with float precision in numinput, like 'R 123' who would show additional 'noise' digits.

Expose float precision helper in UI_interface.h API, so that numinput can use this helper as numbuttons already do.

Reviewed By: campbellbarton

Differential Revision:

7 years agoCode Cleanup: style edits to bevel and remove unneeded boundvert_rep_face call
Campbell Barton [Wed, 8 Jan 2014 13:50:32 +0000 (00:50 +1100)]
Code Cleanup: style edits to bevel and remove unneeded boundvert_rep_face call

7 years agoAdd profile control parameter to Bevel.
Howard Trickey [Wed, 8 Jan 2014 12:40:01 +0000 (07:40 -0500)]
Add profile control parameter to Bevel.

Parameter controls concavity / convexity.
    <.25 means: concave inward
    .25 means: straight slanted
    >.25 means: concave outward
    .5 means: circular (the default)
    1 means: straight along original sides
For now, there is a hard lower limit of .15
because more work is needed to get decent
results in the range below that.

The profile is actually a superellipse, and the
parameter is 1/4 of the exponent in the implicit equation
for a superellipse, except at the extreme values of 0 and 1.

7 years agoCycles: Fix World Homogeneous volume setting, had no influence.
Thomas Dinges [Wed, 8 Jan 2014 10:00:06 +0000 (11:00 +0100)]
Cycles: Fix World Homogeneous volume setting, had no influence.

Thanks to "storm" for noticing this!

7 years agoCode Cleanup: de-duplicate text pasting which only used the first line
Campbell Barton [Wed, 8 Jan 2014 06:39:12 +0000 (17:39 +1100)]
Code Cleanup: de-duplicate text pasting which only used the first line

7 years agoText3d: improve error checking when pasting from files
Campbell Barton [Wed, 8 Jan 2014 05:12:25 +0000 (16:12 +1100)]
Text3d: improve error checking when pasting from files

7 years agoFix for RE_engine_begin_result using a NULL pointer
Campbell Barton [Wed, 8 Jan 2014 04:43:49 +0000 (15:43 +1100)]
Fix for RE_engine_begin_result using a NULL pointer

7 years agoSequencer: prevent unknown scopes from crashing
Campbell Barton [Wed, 8 Jan 2014 04:40:55 +0000 (15:40 +1100)]
Sequencer: prevent unknown scopes from crashing

7 years agoFix for inorrect use of BLI_utf8_invalid_strip, add assert to prevent it happening...
Campbell Barton [Wed, 8 Jan 2014 03:46:06 +0000 (14:46 +1100)]
Fix for inorrect use of BLI_utf8_invalid_strip, add assert to prevent it happening again.

7 years agoUV Unwrap: smart uv unwrap would fail still on some very small faces
Campbell Barton [Wed, 8 Jan 2014 03:02:18 +0000 (14:02 +1100)]
UV Unwrap: smart uv unwrap would fail still on some very small faces

7 years agoFix T38112: Rigid Body can't be created for objects with linked mesh
Sergej Reich [Wed, 8 Jan 2014 02:29:12 +0000 (03:29 +0100)]
Fix T38112: Rigid Body can't be created for objects with linked mesh

Make poll function for rigid body add operators less strict.

7 years agoMuch better solution for negate/inverse in numinput.
Bastien Montagne [Tue, 7 Jan 2014 21:23:03 +0000 (22:23 +0100)]
Much better solution for negate/inverse in numinput.

Previous one was way over complicated, and did not worked with units!

7 years agoFix a small glitch with string generated by numinput, they could cut multi-bytes...
Bastien Montagne [Tue, 7 Jan 2014 19:56:45 +0000 (20:56 +0100)]
Fix a small glitch with string generated by numinput, they could cut multi-bytes utf8 chars (like the '°' of angle values), now call BLI_utf8_invalid_strip() to prevent this.

7 years agoFix T38100: laplacian smooth crash
Campbell Barton [Tue, 7 Jan 2014 16:44:00 +0000 (03:44 +1100)]
Fix T38100: laplacian smooth crash

7 years agoUI / Nodes: Revert Slider for "Value" node, this is no percentage nor a 0-1 range.
Thomas Dinges [Tue, 7 Jan 2014 15:35:52 +0000 (16:35 +0100)]
UI / Nodes: Revert Slider for "Value" node, this is no percentage nor a 0-1 range.

7 years agoCycles: Update Integrator Presets and Total Samples info for latest changes.
Thomas Dinges [Tue, 7 Jan 2014 14:55:01 +0000 (15:55 +0100)]
Cycles: Update Integrator Presets and Total Samples info for latest changes.

7 years agoFix CUDA/OpenCL compile errors in scattering commit.
Brecht Van Lommel [Tue, 7 Jan 2014 14:48:04 +0000 (15:48 +0100)]
Fix CUDA/OpenCL compile errors in scattering commit.

7 years agoCycles: Volume Scatter node was missing in the Add Node menu.
Thomas Dinges [Tue, 7 Jan 2014 14:24:35 +0000 (15:24 +0100)]
Cycles: Volume Scatter node was missing in the Add Node menu.

7 years agoFix for crash in anim render: The callbacks in bMovieHandle are expected
Lukas Tönne [Tue, 7 Jan 2014 13:51:59 +0000 (14:51 +0100)]
Fix for crash in anim render: The callbacks in bMovieHandle are expected
to exist and accessed without prior NULL checks (with exception of
get_next_frame and get_movie_path). The callbacks are not reliably
initialized however if none of the video formats is enabled (AVI being
the default). Added stub functions now that ensure access to
bMovieHandle callbacks is safe and doesn't crash.

7 years agoCycles Volume Render: scattering support.
Brecht Van Lommel [Sun, 29 Dec 2013 14:40:43 +0000 (15:40 +0100)]
Cycles Volume Render: scattering support.

This is done by adding a Volume Scatter node. In many cases you will want to
add together a Volume Absorption and Volume Scatter node with the same color
and density to get the expected results.

This should work with branched path tracing, mixing closures, overlapping
volumes, etc. However there's still various optimizations needed for sampling.
The main missing thing from the volume branch is the equiangular sampling for
homogeneous volumes.

The heterogeneous scattering code was arranged such that we can use a single
stratified random number for distance sampling, which gives less noise than
pseudo random numbers for each step. For volumes where the color is textured
there still seems to be something off, needs to be investigated.

7 years agoFix for error in own recent commit
Campbell Barton [Tue, 7 Jan 2014 13:57:30 +0000 (00:57 +1100)]
Fix for error in own recent commit

7 years agoCleanup: silence warnings.
Bastien Montagne [Mon, 6 Jan 2014 14:05:21 +0000 (15:05 +0100)]
Cleanup: silence warnings.

7 years agoMiddle-clip tweaks:
Bastien Montagne [Mon, 6 Jan 2014 14:02:35 +0000 (15:02 +0100)]
Middle-clip tweaks:
* Now only middle-clip when both left and right parts of remaining strings are at least two times icon-width (thus most short labels will never be middle-clipped).
* Add a trailing ellipsis to right-clipped strings (unless it would take more than 20% of whole available width, in this case just clip chars, to keep as much data visible as possible!).

7 years agoArmatures Editmode: option to recalculate roll from the angle to the parent
Campbell Barton [Tue, 7 Jan 2014 13:35:11 +0000 (00:35 +1100)]
Armatures Editmode: option to recalculate roll from the angle to the parent

7 years agoText3d: underline offset on curved path wasnt working right
Campbell Barton [Tue, 7 Jan 2014 12:04:47 +0000 (23:04 +1100)]
Text3d: underline offset on curved path wasnt working right

7 years agoFix T38075, crash from shader node add/replace tree view template.
Lukas Tönne [Tue, 7 Jan 2014 09:54:31 +0000 (10:54 +0100)]
Fix T38075, crash from shader node add/replace tree view template.

The sanity check for copying socket default value was using the socket
idname for type compatibility checks, which is too strict. Subtypes
would not be recognized as copyable, but since only the plain data type
is needed below this is all that needs to be checked.

That alone would not cause crash (just missing default value copy),
but the tree view template was messing with the default_value DNA
directly by freeing it in advance, which is not necessary and should
be left to blenkernel when freeing the node. Otherwise this would
leave the node invalid without a default_value if the copy function
bails out.

7 years agoText3d: Add support for underline characters with text-on-path
Campbell Barton [Tue, 7 Jan 2014 09:18:11 +0000 (20:18 +1100)]
Text3d: Add support for underline characters with text-on-path

7 years agoFix T38044: Filter Key Binding shows Incorrect result
Campbell Barton [Tue, 7 Jan 2014 08:27:44 +0000 (19:27 +1100)]
Fix T38044: Filter Key Binding shows Incorrect result

7 years agoObject Operators: make-dupliface and join-uvs weren't using UNDO.
Campbell Barton [Tue, 7 Jan 2014 07:09:02 +0000 (18:09 +1100)]
Object Operators: make-dupliface and join-uvs weren't using UNDO.

also improve make-dupliface tip

7 years agoText3d: move text selection boxes from Curve to EditFont struct
Campbell Barton [Tue, 7 Jan 2014 06:04:19 +0000 (17:04 +1100)]
Text3d: move text selection boxes from Curve to EditFont struct

resolves T38079

7 years agoFix bash/ksh specific test syntax
Campbell Barton [Tue, 7 Jan 2014 03:12:02 +0000 (14:12 +1100)]
Fix bash/ksh specific test syntax

[ foo = bar ] has been the traditional compare operator, using == is supported by some shells, but not all. The latter offers no advantage over the former.

Differential Revision:

7 years agoCode cleanup: defines for statfs were getting out of hand for BSD's.
Campbell Barton [Tue, 7 Jan 2014 02:39:00 +0000 (13:39 +1100)]
Code cleanup: defines for statfs were getting out of hand for BSD's.

add __DragonFly__ and internal defines to avoid copy-pasting checks.

also remove __CYGWIN32__ check, since cygwin is no longer supported.

7 years agoOSX/scons: after discussion i was told cycles does decide to use sse4.1 kernel on...
Jens Verwiebe [Mon, 6 Jan 2014 22:29:21 +0000 (23:29 +0100)]
OSX/scons: after discussion i was told cycles does decide to use sse4.1 kernel on the fly,
so autodetection is obsolete @buildtime. Leave in print for testing case

7 years agoOSX/scons: autodetecting sse4.1 capability and set it to used
Jens Verwiebe [Mon, 6 Jan 2014 21:46:11 +0000 (22:46 +0100)]
OSX/scons: autodetecting sse4.1 capability and set it to used