7 years agoSplit Normals I (2/5): Add basic BMesh support of split normals.
Bastien Montagne [Sun, 13 Apr 2014 10:25:02 +0000 (12:25 +0200)]
Split Normals I (2/5): Add basic BMesh support of split normals.

* Merely a re-implementation of core split algorithm for BMesh, taking advantage of topological data available.
* This code needs valid loop indices, so added BM_LOOP support to BM_mesh_elem_index_ensure() & co.

Reviewers: campbellbarton

Reviewed By: campbellbarton

CC: brecht
Differential Revision:

7 years agoSplit Normals I (1/5): basis for split normals (nearly nothing user-visible here):
Bastien Montagne [Sun, 13 Apr 2014 10:18:51 +0000 (12:18 +0200)]
Split Normals I (1/5): basis for split normals (nearly nothing user-visible here):

* Add a new calcLoopNormals function to DerivedMesh struct, and implement it for CDDM and CCGDM (subsurf).
  EditDerivedBMesh (edit mode DM) only gets a dummy one in this commit.
* Add a tessellated version of CD_LOOPNORMAL layer (CD_TESSLOOPNORMAL), with relevant code to handle it
  (tessellation, rna access, etc.).
* Change auto_smooth options of Mesh (angle now in radian internaly, and toggle is now used to enable/disable
  split normals in DM creation process). Note BI render code is not touched here, hence its behavior regarding
  this option is now incoherent, will be addressed in a separate commit.

Reviewers: campbellbarton

CC: brecht
Differential Revision:

7 years agoRevert "Fix T39484: Time line: highlighted area for frame range one frame too short."
Bastien Montagne [Sat, 12 Apr 2014 13:48:49 +0000 (15:48 +0200)]
Revert "Fix T39484: Time line: highlighted area for frame range one frame too short."

This reverts own commit e9d733a8bd9ebf803d4afac419670974792a3c0d.

Turns out there is no consensus here, better to open a design task. :/

7 years agoLinkList stack macros to swap and pop into a separate stack.
Campbell Barton [Sun, 13 Apr 2014 10:12:07 +0000 (20:12 +1000)]
LinkList stack macros to swap and pop into a separate stack.

7 years agoCode cleanup: quiet warnings & style
Campbell Barton [Sun, 13 Apr 2014 01:26:31 +0000 (11:26 +1000)]
Code cleanup: quiet warnings & style

7 years agoSlight modification to previous color wheel tweak.
Antony Riakiotakis [Sat, 12 Apr 2014 16:27:16 +0000 (19:27 +0300)]
Slight modification to previous color wheel tweak.

Do not use compat version, we do not have a valid previous value really
to use here.

7 years agoCode cleanup: RAS_ILightObject is class, not a struct.
Thomas Dinges [Sat, 12 Apr 2014 18:12:07 +0000 (20:12 +0200)]
Code cleanup: RAS_ILightObject is class, not a struct.

Patch by John Pavel.
Differential Revision:

7 years agoFix for sculpt mode last-stroke applying obmat twice
Campbell Barton [Sat, 12 Apr 2014 06:35:11 +0000 (16:35 +1000)]
Fix for sculpt mode last-stroke applying obmat twice

7 years agoView3D: refactor ED_view3d_draw_offscreen and view3d_main_area_draw_objects
Campbell Barton [Sat, 12 Apr 2014 05:34:59 +0000 (15:34 +1000)]
View3D: refactor ED_view3d_draw_offscreen and view3d_main_area_draw_objects

de-duplicate object drawing code between offscreen buffer and regular view3d.

Also skip drawing grease pencil and setting pixelspace when drawing from lamps.

7 years agoBMesh: minor change to looping
Campbell Barton [Fri, 11 Apr 2014 10:28:31 +0000 (20:28 +1000)]
BMesh: minor change to looping

7 years agoWalk Navigation: no one should fall through the floor ever again (fix #T39561)
Dalai Felinto [Fri, 11 Apr 2014 21:55:08 +0000 (18:55 -0300)]
Walk Navigation: no one should fall through the floor ever again (fix #T39561)

This could go in 2.70a

7 years agoFix for color pickers:
Antony Riakiotakis [Fri, 11 Apr 2014 20:45:59 +0000 (23:45 +0300)]
Fix for color pickers:

HSL/HSV value would still get converted from linear values.

7 years agoFix part T39643: Compositor renders blank Render Layer from other Scenes
Sergey Sharybin [Fri, 11 Apr 2014 13:15:39 +0000 (19:15 +0600)]
Fix part T39643: Compositor renders blank Render Layer from other Scenes

Fixed the part with missing tiles highlight and render info when rendering
different scene via the render layers node.

Displaying of the rendered result for a different scene after the render
is finished is still not "fixed". That's an intended behavior actually
to display render result for an active scene.

7 years agoFix T39627
Antony Riakiotakis [Mon, 7 Apr 2014 17:43:47 +0000 (20:43 +0300)]
Fix T39627

HSL sliders jumping. The issue here is that we store HSV in display
To correctly account for that, made sure HSV/HSL is now using the
color to compute the values in the sliders. RGB values still show
the property values (linear for linear, gamma corrected for gamma

We could change the way we store HSV uniformly (ie in all the code), but
we would need to add many more conversions in the picker code to account
for storing it that way. Also it doesn't make sense: Color pickers
should help with -visible- color selection. It may
be worth changing the RGB sliders as well.
My fix takes into account the way HSV is stored in HSVCube as well in
the code.

7 years agoFix redraw and undo issues with hidden parts in dyntopo after recent
Antony Riakiotakis [Fri, 11 Apr 2014 12:02:02 +0000 (15:02 +0300)]
Fix redraw and undo issues with hidden parts in dyntopo after recent

7 years agoFix T39266: Weird Skin modifier shutdown
Sergey Sharybin [Fri, 11 Apr 2014 11:40:07 +0000 (17:40 +0600)]
Fix T39266: Weird Skin modifier shutdown

Fix wrong quat being calculated for curve's path.
Also avoid some divisions by zero.

Happened in cases when all the curve points have the same coord.

7 years agoBlender Internal: remove BLI BVH for raytracing.
Brecht Van Lommel [Fri, 11 Apr 2014 11:08:57 +0000 (13:08 +0200)]
Blender Internal: remove BLI BVH for raytracing.

It has no benefits over other BVH types, as far as I know it was only added
because it was possible. This also fixes T39344.

7 years agoFix T39584: Effects strips render black
Sergey Sharybin [Fri, 11 Apr 2014 10:26:57 +0000 (16:26 +0600)]
Fix T39584: Effects strips render black

It's possible that effetc strip would be placed to the same
'machine' as it's inputs. We don't want to clear such strips
from the stack.

7 years agoFix T39640: Crash on maximizing/minimizing UV/Image Editor
Sergey Sharybin [Fri, 11 Apr 2014 10:17:59 +0000 (16:17 +0600)]
Fix T39640: Crash on maximizing/minimizing UV/Image Editor

Added a NULL-pointer check for now, actual issue might be
burried somewhere else (aka maybe traversal of the WM is
not actually correct here?)

7 years agoFix T39206: Plane deform works incredibly slow
Sergey Sharybin [Fri, 11 Apr 2014 08:48:54 +0000 (14:48 +0600)]
Fix T39206: Plane deform works incredibly slow

The issue was caused by the readEWA spending loads of time trying
to sample regions outside of the buffer.Solved by adding an early
exit check.

We could also clamp the sampling region to the rect, but it's
not so much clear whether weight will be correct in such case
so left it for the future.

7 years agoMath Lib: use less strict epsilon with BLI_ASSERT_UNIT_QUAT
Campbell Barton [Fri, 11 Apr 2014 08:17:59 +0000 (18:17 +1000)]
Math Lib: use less strict epsilon with BLI_ASSERT_UNIT_QUAT

was causing issues with pointcache

7 years agoFix for rigidbody treating the quat as a v3 with pointcache
Campbell Barton [Fri, 11 Apr 2014 08:16:48 +0000 (18:16 +1000)]
Fix for rigidbody treating the quat as a v3 with pointcache

7 years agoFix compilation error after recent BLF change
Sergey Sharybin [Fri, 11 Apr 2014 07:56:26 +0000 (13:56 +0600)]
Fix compilation error after recent BLF change

FT headers seems to be inconsistent here, FT_KERNING_UNFITTED
is defined as an enum element, but FT_Get_Kerning expects UInt.

Just case for now.

7 years agoFix for Freestyle Python API modules not found in the Python Console.
Tamito Kajiyama [Fri, 11 Apr 2014 07:35:46 +0000 (16:35 +0900)]
Fix for Freestyle Python API modules not found in the Python Console.

Addition of the path to the Freestyle Python API modules to 'sys.path' was delayed until
the first Freestyle rendering, so that any import attempt of the modules in the Python
Console always failed.  Now the update of 'sys.path' is done at Blender start-up.
This allows the Freestyle-specific modules to be imported without running Freestyle,
facilitating quick interactive testing in the Console.

7 years agoUI: split area_copy_data into ED_area_data_copy, ED_area_data_swap
Campbell Barton [Fri, 11 Apr 2014 07:16:51 +0000 (17:16 +1000)]
UI: split area_copy_data into ED_area_data_copy, ED_area_data_swap

Was confusing to have swap/copy in the one function.

7 years agoFix for Sinus Displacement and 2D Offset stroke geometry modifiers.
Tamito Kajiyama [Fri, 11 Apr 2014 06:16:03 +0000 (15:16 +0900)]
Fix for Sinus Displacement and 2D Offset stroke geometry modifiers.

These modifiers were not working properly when they were applied to strokes
whose backbone was already modified by other geometry shaders.  This problem
was due to the use of Normal2DF0D that compute 2D vertex normals based on
the underlying FEdges up on which initial stroke geometry is defined.  Now vertex
normals are computed on the basis of modified stroke vertices.

A helper function 'stroke_normal' for computing normals of stroke vertices was
added to the 'freestyle.utils' API module.

7 years agoDrawing: use const for wire color
Campbell Barton [Fri, 11 Apr 2014 05:41:20 +0000 (15:41 +1000)]
Drawing: use const for wire color

7 years agoAPI Cleanup: Use BKE_constraint prefix for constraint api
Campbell Barton [Fri, 11 Apr 2014 01:47:07 +0000 (11:47 +1000)]
API Cleanup: Use BKE_constraint prefix for constraint api

7 years agoCode cleanup: use bool
Campbell Barton [Fri, 11 Apr 2014 01:25:41 +0000 (11:25 +1000)]
Code cleanup: use bool

7 years agoChange GPU deletion at GPU buffer update time. This should be detected
Antony Riakiotakis [Fri, 11 Apr 2014 00:16:16 +0000 (03:16 +0300)]
Change GPU deletion at GPU buffer update time. This should be detected
and done at PBVH update time, since it is possible to have no triangles
to display in a buffer if node is hidden.

7 years agoSupport logging of modified faces in dyntopo.
Antony Riakiotakis [Thu, 10 Apr 2014 23:29:37 +0000 (02:29 +0300)]
Support logging of modified faces in dyntopo.

This is meant to support undo when hiding parts of the mesh.
Also avoid rebuilding the PBVH in that case as well (no nodes split)

7 years agoUI: correct own bad use of bool and document area_copy_data args
Campbell Barton [Thu, 10 Apr 2014 23:17:43 +0000 (09:17 +1000)]
UI: correct own bad use of bool and document area_copy_data args

7 years agoUI: de-duplicate UI_OT_copy_to_selected_button poll/exec
Campbell Barton [Thu, 10 Apr 2014 22:33:54 +0000 (08:33 +1000)]
UI: de-duplicate UI_OT_copy_to_selected_button poll/exec

7 years agoDyntopo: use hidden face flags in more places
Campbell Barton [Thu, 10 Apr 2014 21:51:14 +0000 (07:51 +1000)]
Dyntopo: use hidden face flags in more places

7 years agoDyntopo: Minor display optimization.
Antony Riakiotakis [Thu, 10 Apr 2014 19:31:39 +0000 (22:31 +0300)]
Dyntopo: Minor display optimization.

While hiding, flush the hidden flags to the faces. This avoids iterating
through all the loops while updating the GPU buffers.

7 years ago...and linking, sorry for that!
Antony Riakiotakis [Thu, 10 Apr 2014 19:00:54 +0000 (22:00 +0300)]
...and linking, sorry for that!

7 years agoFix compilation
Antony Riakiotakis [Thu, 10 Apr 2014 18:59:03 +0000 (21:59 +0300)]
Fix compilation

7 years agoSpeedup track preview widget for byte images
Sergey Sharybin [Thu, 10 Apr 2014 15:14:36 +0000 (21:14 +0600)]
Speedup track preview widget for byte images

This gives a huge speedup gain for cases when you've got
rather huge markers on a byte images.

Done by skipping IMB_float_from_rect()/IMB_rect_from_float()
for such cases. We can sample the buffers without color space

7 years agoFix numpad emulation in non-US keyboards
Campbell Barton [Thu, 10 Apr 2014 10:31:00 +0000 (20:31 +1000)]
Fix numpad emulation in non-US keyboards

Patch D455 from BenoĆ®t Legat with own minor edits.

7 years agoBMesh: DM_to_bmesh_ex, no need to calloc
Campbell Barton [Thu, 10 Apr 2014 01:03:57 +0000 (11:03 +1000)]
BMesh: DM_to_bmesh_ex, no need to calloc

7 years agoRevert "Mempool: simplify memory chunk list building"
Campbell Barton [Thu, 10 Apr 2014 00:39:40 +0000 (10:39 +1000)]
Revert "Mempool: simplify memory chunk list building"

This reverts commit c82371fc06ffb8d2970c985b44167e9a5e0222f1.

Caused regression in iterator

7 years agoRemove extra glEnd() call.
Antony Riakiotakis [Wed, 9 Apr 2014 22:25:12 +0000 (01:25 +0300)]
Remove extra glEnd() call.

7 years agoBGE: Allow skinned meshes with modifiers to do skinning updates in parallel.
Mitchell Stokes [Thu, 10 Apr 2014 00:04:17 +0000 (17:04 -0700)]
BGE: Allow skinned meshes with modifiers to do skinning updates in parallel.

7 years agoBGE: Fixing a crash when animating objects with modifiers and armatures.
Mitchell Stokes [Wed, 9 Apr 2014 23:19:13 +0000 (16:19 -0700)]
BGE: Fixing a crash when animating objects with modifiers and armatures.

Our deformer system really needs some work. First, there was a crash
with shape keys because BL_ModifierDeformer derives from
BL_ShapeDeformer, which means we try to execute shape keys even if we do
not have them. Also, for some reason BL_ModifierDeformer::Update() does
not work if called from the threaded loop, so it is skipped for now. In
other words, skinned updates on meshes with modifiers are currently not
run in parallel.

7 years agoMore instances of needed material initialization.
Antony Riakiotakis [Wed, 9 Apr 2014 22:16:17 +0000 (01:16 +0300)]
More instances of needed material initialization.

7 years agoCode cleanup: use struct type for mempool & style edits
Campbell Barton [Wed, 9 Apr 2014 20:24:33 +0000 (06:24 +1000)]
Code cleanup: use struct type for mempool & style edits

7 years agoFix T39663: Blender crashes when trying to triangulate uv unwrapped mesh.
Bastien Montagne [Wed, 9 Apr 2014 20:15:25 +0000 (22:15 +0200)]
Fix T39663: Blender crashes when trying to triangulate uv unwrapped mesh.

A dummy arg inversion! This is to be included in 2.70a!

7 years agoBack buffer selection needs updates to materials.
Antony Riakiotakis [Wed, 9 Apr 2014 16:51:29 +0000 (19:51 +0300)]
Back buffer selection needs updates to materials.

7 years agoMake material array account for mesh/object storage of materials
Antony Riakiotakis [Wed, 9 Apr 2014 15:37:54 +0000 (18:37 +0300)]
Make material array account for mesh/object storage of materials

7 years agoRevert "FCurve Transform: scaling no longer changes hansle types"
Campbell Barton [Wed, 9 Apr 2014 10:25:37 +0000 (20:25 +1000)]
Revert "FCurve Transform: scaling no longer changes hansle types"

This reverts commit 6cc5bdc99e63b05248f132833bfe0259c2a27923.

Revent this for 2.70a, it changes behavior too much without allowing
keyframe handles to be scaled some alternative way.

7 years agoFix T39608: Blender 2.70 crashes when performing union
Sergey Sharybin [Wed, 9 Apr 2014 08:23:35 +0000 (14:23 +0600)]
Fix T39608: Blender 2.70 crashes when performing union

This was a nasty bug which was caused by specific of how face-edge
attributes are stored in Carve.

Face pointer is used in the map key which works just fine in all
cases except for the cases when some face is getting freed after
it was stored in the map.

This might give real issues when new face is allocating because
it's possible new face would have the same address as the freed

Such cases used to happen when union of separate manifolds is
needed for the operands AND jemalloc is enabled.

Solved by dropping attributes for the freed faces from the map.
Maybe not the fastest ever approach, but not sure how to make
it faster actually. Should work just fine. It only happens for
complex setups with intersecting manifolds in the operands.

7 years agoFreestyle: fix for typos in Python API docstrings.
Tamito Kajiyama [Wed, 9 Apr 2014 06:56:41 +0000 (15:56 +0900)]
Freestyle: fix for typos in Python API docstrings.

7 years agoCode cleanup: ifdef unused linklist for GPU drawobject's
Campbell Barton [Wed, 9 Apr 2014 05:38:37 +0000 (15:38 +1000)]
Code cleanup: ifdef unused linklist for GPU drawobject's

7 years agoView3D: disable LOD when game engine is disabled or ifdef'd
Campbell Barton [Wed, 9 Apr 2014 01:48:04 +0000 (11:48 +1000)]
View3D: disable LOD when game engine is disabled or ifdef'd

7 years agoCode cleanup: remove Object.bbsize, sizefac and pad
Campbell Barton [Wed, 9 Apr 2014 00:18:23 +0000 (10:18 +1000)]
Code cleanup: remove Object.bbsize, sizefac and pad

7 years agoMore stack cleanup on GPU_buffers
Antony Riakiotakis [Wed, 9 Apr 2014 01:42:26 +0000 (04:42 +0300)]
More stack cleanup on GPU_buffers

7 years agoAdd material storage to derivedmesh.
Antony Riakiotakis [Wed, 9 Apr 2014 01:03:25 +0000 (04:03 +0300)]
Add material storage to derivedmesh.

The variables are considered invalid unless DM_update_materials is
called prior to use. Only use case currently is
mesh drawing. This helps with excessive allocation on the stack during
GPUObject creation, but may help elsewhere in the future as well.

7 years agoFix T39646: Rigid Body Constraints non functional on release builds
Sergej Reich [Tue, 8 Apr 2014 23:22:54 +0000 (01:22 +0200)]
Fix T39646: Rigid Body Constraints non functional on release builds

-ffast-math is evil, not sure why it was enabled...
I seems to work better on OSX but it's still not a good idea.

The SConscript for bullet is a mess, I don't understand why
we use different flags for different platforms in the first place.
Seems to be a historical artifact but I don't know enough about scons
to try and clean it up.

7 years agoGPU: replace callocs with malloc since reallocs aren't cleared
Campbell Barton [Tue, 8 Apr 2014 23:30:00 +0000 (09:30 +1000)]
GPU: replace callocs with malloc since reallocs aren't cleared

7 years agoCycles / CUDA: Increase sm_2x registers to 40.
Thomas Dinges [Tue, 8 Apr 2014 21:25:54 +0000 (23:25 +0200)]
Cycles / CUDA: Increase sm_2x registers to 40.

This fixes the ptaxs "ACCESS_VIOLATION" error and should allow our Linux and Windows build bots to compile again.
Unfortunately this comes with a performance penalty on sm_2x cards, so this is only a workaround for now. Branched Path is still globally disabled on GPU.

7 years agoGHash/Edgehash: make simple iterator checking functions inline.
Campbell Barton [Tue, 8 Apr 2014 05:50:38 +0000 (15:50 +1000)]
GHash/Edgehash: make simple iterator checking functions inline.

also remove NULL check, only a few areas made use of this.

7 years agoDyntopo: replace GHash with GSet, saves some memory
Campbell Barton [Tue, 8 Apr 2014 04:45:48 +0000 (14:45 +1000)]
Dyntopo: replace GHash with GSet, saves some memory

7 years agoDerivedMesh: replace edgehash with edgeset
Campbell Barton [Tue, 8 Apr 2014 04:44:46 +0000 (14:44 +1000)]
DerivedMesh: replace edgehash with edgeset

7 years agoMempool: simplify memory chunk list building
Campbell Barton [Tue, 8 Apr 2014 03:41:57 +0000 (13:41 +1000)]
Mempool: simplify memory chunk list building

7 years agoBMesh: bmesh_sfme now initializes the copy
Campbell Barton [Tue, 8 Apr 2014 02:54:29 +0000 (12:54 +1000)]
BMesh: bmesh_sfme now initializes the copy

7 years agoBMesh: minor speedup, avoid calloc+assign, assign all members instead
Campbell Barton [Tue, 8 Apr 2014 02:51:00 +0000 (12:51 +1000)]
BMesh: minor speedup, avoid calloc+assign, assign all members instead

7 years agoMempool: delay allocating an initial chunk, its not always used
Campbell Barton [Tue, 8 Apr 2014 01:59:28 +0000 (11:59 +1000)]
Mempool: delay allocating an initial chunk, its not always used

7 years agoMatcaps.
Antony Riakiotakis [Mon, 7 Apr 2014 22:24:45 +0000 (01:24 +0300)]

Instead of setting color every time, just set it on material enable.
Handles all cases of surfaces. Thanks to Campbell for pointing out!

7 years agoCode cleanup: remove paranoid NULL check
Campbell Barton [Mon, 7 Apr 2014 21:46:28 +0000 (07:46 +1000)]
Code cleanup: remove paranoid NULL check

7 years agoFix T39635: Crash convening curve to mesh
Campbell Barton [Mon, 7 Apr 2014 21:28:14 +0000 (07:28 +1000)]
Fix T39635: Crash convening curve to mesh

7 years agoEnable openmp in MinGW-w64
Antony Riakiotakis [Mon, 7 Apr 2014 00:51:02 +0000 (03:51 +0300)]
Enable openmp in MinGW-w64

7 years agoFix T39626 Matcaps not working in edit mode.
Antony Riakiotakis [Mon, 7 Apr 2014 18:48:27 +0000 (21:48 +0300)]
Fix T39626 Matcaps not working in edit mode.

Set a while color before the draw call. This will be ineffective in GLSL
but will affect matcaps.

7 years agoWeekly UI messages fixes...
Bastien Montagne [Mon, 7 Apr 2014 18:31:15 +0000 (20:31 +0200)]
Weekly UI messages fixes...

7 years agoFix own rB8714ae09f894: Forgot to handle bone constraints in versionning code!
Bastien Montagne [Mon, 7 Apr 2014 17:43:21 +0000 (19:43 +0200)]
Fix own rB8714ae09f894: Forgot to handle bone constraints in versionning code!

7 years agoColor pickers:
Antony Riakiotakis [Mon, 7 Apr 2014 16:32:09 +0000 (19:32 +0300)]
Color pickers:

* Code Cleanup
* Fix some more color correction cases that were left unattended. (NDOF,
resetting the operation in circle pickers)

7 years agoFix own broken rB95b25e7333c4 (crash on any undo op :/).
Bastien Montagne [Mon, 7 Apr 2014 15:13:06 +0000 (17:13 +0200)]
Fix own broken rB95b25e7333c4 (crash on any undo op :/).

Issue here was that buttons_texture_context_compute() was getting scene from (button-customized) context,
before the button paths (and hence, context) had been updated. So after an undo, it was getting an invalid
(freed by undo) scene pointer.

Now update BCONTEXT_SCENE path before calling buttons_texture_context_compute().

7 years agoOpenCL Change opencl_assert to be more like cuda assert where possible.
Martijn Berger [Mon, 7 Apr 2014 14:17:20 +0000 (16:17 +0200)]
OpenCL Change opencl_assert to be more like cuda assert where possible.
added some extra warnings and feedback if things go wrong

7 years agoOpenCL + AMD adapt kernel to newer driver
Martijn Berger [Mon, 7 Apr 2014 12:01:31 +0000 (14:01 +0200)]
OpenCL + AMD adapt kernel to newer driver

7 years agoCode cleanup: make the source G rated again.
Campbell Barton [Mon, 7 Apr 2014 10:43:40 +0000 (20:43 +1000)]
Code cleanup: make the source G rated again.

7 years agoCode cleanup: use parens around multi-line defines.
Campbell Barton [Mon, 7 Apr 2014 10:38:16 +0000 (20:38 +1000)]
Code cleanup: use parens around multi-line defines.

7 years agoFix T39623: deleting an object crashes
Campbell Barton [Mon, 7 Apr 2014 10:24:20 +0000 (20:24 +1000)]
Fix T39623: deleting an object crashes

7 years agoFix T39562: Properties panel Pinning is broken
Bastien Montagne [Mon, 7 Apr 2014 10:23:24 +0000 (12:23 +0200)]
Fix T39562: Properties panel Pinning is broken

'scene' was simply not handled in button context.

7 years agoFix T39563: Tiny unit-display problem in constraint panels.
Bastien Montagne [Mon, 7 Apr 2014 10:10:37 +0000 (12:10 +0200)]
Fix T39563: Tiny unit-display problem in constraint panels.

There is no good solution here, since RNA props can only have one type/unit.
Tried to find the less worse one - have different RNA props for same DNA value
(a bit like the angle/length for camera lens).

Also fixed two other issues with Transform conctraint:
* Angle were still in degrees (yes, another backward-compatibility breacking).
* Scale was absolute, unlike loc/rot.

Also cleaned up a bit the code, replaced some magic numbers by proper enums, ...

7 years agoCorrect assert for RNA IDProps
Campbell Barton [Mon, 7 Apr 2014 09:51:43 +0000 (19:51 +1000)]
Correct assert for RNA IDProps

7 years agoCode cleanup: remove unused functions and convert int -> bool
Campbell Barton [Mon, 7 Apr 2014 07:00:08 +0000 (17:00 +1000)]
Code cleanup: remove unused functions and convert int -> bool

7 years agoCode cleanup: project gpencil in float coords & delete outdated comments
Campbell Barton [Mon, 7 Apr 2014 05:21:01 +0000 (15:21 +1000)]
Code cleanup: project gpencil in float coords & delete outdated comments

7 years agoDyntopo: minor speedups with bmesh use.
Campbell Barton [Mon, 7 Apr 2014 03:48:36 +0000 (13:48 +1000)]
Dyntopo: minor speedups with bmesh use.

7 years agoDyntopo: avoid mask layer lookups while adding/removing verts
Campbell Barton [Mon, 7 Apr 2014 03:05:39 +0000 (13:05 +1000)]
Dyntopo: avoid mask layer lookups while adding/removing verts

7 years agoMempool: use define for used freeword and correct define
Campbell Barton [Mon, 7 Apr 2014 02:52:23 +0000 (12:52 +1000)]
Mempool: use define for used freeword and correct define

7 years agoMempool: minor optimization to building free pointer list
Campbell Barton [Mon, 7 Apr 2014 02:34:13 +0000 (12:34 +1000)]
Mempool: minor optimization to building free pointer list

7 years agoMempool: fix own error in recent commit
Campbell Barton [Mon, 7 Apr 2014 01:45:36 +0000 (11:45 +1000)]
Mempool: fix own error in recent commit

chunks must be added in order for iteration.

7 years agoFix building for Windows.
Antony Riakiotakis [Mon, 7 Apr 2014 01:18:03 +0000 (04:18 +0300)]
Fix building for Windows.

7 years agoBGE: Multi-threading animation updates and skinning.
Mitchell Stokes [Sun, 6 Apr 2014 23:30:59 +0000 (16:30 -0700)]
BGE: Multi-threading animation updates and skinning.

This required BL_ArmatureObject to have tighter control over armatures and poses.
Also, (Blender) armature objects are now copied instead of shared between
BL_ArmatureObjects to avoid race conditions. Also, due to the armature copy,
shape key drivers need a bit of extra fiddling to get the correct armature copy.

Initially OpenMP was used for threading, but then BLI_task was used due to being
less compiler dependent.

This commit also places time spent on skinning updates in the Animation
profiler category (was previously under the Rasterizer category).

7 years agoTodo T36849: support XDG thumbnail management standard
Campbell Barton [Sun, 6 Apr 2014 22:42:08 +0000 (08:42 +1000)]
Todo T36849: support XDG thumbnail management standard

7 years agoblenderplayer - Reviewed some command line options and the respective help
brita [Sun, 6 Apr 2014 21:17:31 +0000 (14:17 -0700)]
blenderplayer - Reviewed some command line options and the respective help

Doubts: are written as comments in the code
Current Problems:
 - stereo modes sometimes have different names and are ordered differently everywhere (blender properties panel names and tooltips, blenderplayer cmndline)
 - dome mode as several options, but can only take one at a time, like -D mode bla -D tilt X -D ...
 - gameoptions are also given one at a time, like above, but with an assignment -g option = X  . This is inconsistent.
 - gameoptions need to be reviewed and docummented
 - parent to window (-i) is useful for what? (there is no wiki on this either)
 - there is no support for verbose options like --help (blender itself supports it)

Reviewers: dfelinto, moguri


Differential Revision:

7 years agoBetter code for (bone axis + roll) to mat
Bastien Montagne [Sun, 6 Apr 2014 17:15:17 +0000 (19:15 +0200)]
Better code for (bone axis + roll) to mat

See T39470 and D436. Code by @tippisum, with some minor edits by @mont29.

Tested with various rigs, including Rigify, CGcookie flex rig, and gooseberry/pataz caterpillar.

Riggers, please test it, no change expected in behaviour.

Reviewers: aligorith

CC: tippisum
Differential Revision:

7 years tweaks to support new LLVM-3.4.
Bastien Montagne [Sun, 6 Apr 2014 15:50:50 +0000 (17:50 +0200)] tweaks to support new LLVM-3.4.

Issue is, looks like Debian testing's graphic backend now uses LLVM-3.4,
which conflicts with 3.3 in Blender and makes it crash.

So add support to handle 3.4, by both allowing to force a specific version for some libs,
and switching back to head of official repo for OSL.

7 years agoFix T39479: Transform mouse constraint fails in some situations.
Bastien Montagne [Sun, 6 Apr 2014 09:11:56 +0000 (11:11 +0200)]
Fix T39479: Transform mouse constraint fails in some situations.

Some more float precision issue...

7 years agoMove LIKELY/UNLIKELY into header
Campbell Barton [Sun, 6 Apr 2014 07:25:50 +0000 (17:25 +1000)]
Move LIKELY/UNLIKELY into header

7 years agoGuarded Alloc: use UNLIKELY for debug memset
Campbell Barton [Sun, 6 Apr 2014 02:57:20 +0000 (12:57 +1000)]
Guarded Alloc: use UNLIKELY for debug memset