4 years agoCorrect crash in last commit (spacebar search)
Campbell Barton [Tue, 21 Apr 2015 05:18:16 +0000 (15:18 +1000)]
Correct crash in last commit (spacebar search)

4 years agoAdd eyedropper for selecting object & obdata
Julian Eisel [Tue, 21 Apr 2015 04:24:13 +0000 (14:24 +1000)]
Add eyedropper for selecting object & obdata

In addition to the unlink icon to clear a value,
When cleared, show an eyedropper to select objects or object-data
(was already available via the EKey).

4 years agoFix T44432: Zoom to mouse fails /w FCurve editor
Campbell Barton [Tue, 21 Apr 2015 03:10:32 +0000 (13:10 +1000)]
Fix T44432: Zoom to mouse fails /w FCurve editor

4 years agoFixes for backbuf selection logic
Campbell Barton [Mon, 20 Apr 2015 18:45:26 +0000 (04:45 +1000)]
Fixes for backbuf selection logic

- Fix ED_view3d_backbuf_sample_rect, r_dist was set completely wrong.
- Avoid duplicate calculations picking the nearest edge.
- Bias against picking selected edges is now optional.
- Remove unused callback reading the backbuf.
- Remove unused strict option picking vertices.

4 years agoCleanup: use ED_view3d_backbuf_* prefix
Campbell Barton [Mon, 20 Apr 2015 17:19:27 +0000 (03:19 +1000)]
Cleanup: use ED_view3d_backbuf_* prefix

4 years agoFix T44383: Select face fails in some positions
Campbell Barton [Mon, 20 Apr 2015 16:06:20 +0000 (02:06 +1000)]
Fix T44383: Select face fails in some positions

When mixing vert/edge/face with select-visible,
face selection could fail when not close enough to the center.

This also fixes a bug where the bias for verts over edges would
prefer faces over edges too, making edges harder to pick.

Mixing edge with other selection modes works more predictably now.

4 years agoEditmesh select nearest fixes
Campbell Barton [Mon, 20 Apr 2015 15:33:09 +0000 (01:33 +1000)]
Editmesh select nearest fixes

- distance from edge check wasn't clamping 0-1
- vertex bias wasn't taking pixelsize into account.
- index & pass counter were floats

Also some improvements

- use BMesh lookup tables when available.
- use structs to avoid issues getting out of sync.

4 years agoCleanup: use macro for common view3d zbuf check
Campbell Barton [Mon, 20 Apr 2015 13:39:54 +0000 (23:39 +1000)]
Cleanup: use macro for common view3d zbuf check

4 years agoCleanup: use bool /w flag checks
Campbell Barton [Mon, 20 Apr 2015 13:37:04 +0000 (23:37 +1000)]
Cleanup: use bool /w flag checks

4 years agoGuardedalloc: Don't use aligned blocks to calculate memory sloppyness
Sergey Sharybin [Mon, 20 Apr 2015 14:23:25 +0000 (19:23 +0500)]
Guardedalloc: Don't use aligned blocks to calculate memory sloppyness

Aligned memory is allocated with memalign() and malloc_usable_size() can't be
used to measure this block.

4 years agoCMake: Move performance tests under the cmake option
Sergey Sharybin [Mon, 20 Apr 2015 13:30:26 +0000 (18:30 +0500)]
CMake: Move performance tests under the cmake option

This way running full sweep of regression tests does not require
waiting for the performance test to finish.

4 years agoUsual UI messages fixes...
Bastien Montagne [Mon, 20 Apr 2015 12:45:40 +0000 (14:45 +0200)]
Usual UI messages fixes...

4 years agoCycles: Split BVH nodes storage into inner and leaf nodes
Sergey Sharybin [Mon, 13 Apr 2015 18:05:09 +0000 (23:05 +0500)]
Cycles: Split BVH nodes storage into inner and leaf nodes

This way we can get rid of inefficient memory usage caused by BVH boundbox
part being unused by leaf nodes but still being allocated for them. Doing
such split allows to save 6 of float4 values for QBVH per leaf node and 3
of float4 values for regular BVH per leaf node.

This translates into following memory save using 01.01.01.G rendered
without hair:

                   Device memory size   Device memory peak   Global memory peak
Before the patch:  4957                 5051                 7668
With the patch:    4467                 4562                 7332

The measurements are done against current master. Still need to run speed tests
and it's hard to predict if it's faster or not: on the one hand leaf nodes are
now much more coherent in cache, on the other hand they're not so much coherent
with regular nodes anymore.

Reviewers: brecht, juicyfruit

Subscribers: venomgfx, eyecandy

Differential Revision:

4 years agoCycles: Synchronize images after building mesh BVH
Sergey Sharybin [Thu, 2 Apr 2015 15:37:57 +0000 (20:37 +0500)]
Cycles: Synchronize images after building mesh BVH

This way memory overhead caused by the BVH building is not so visible and peak
memory usage will be reduced.

Implementing this idea is not so straightforward actually, because we need to
synchronize images used for true displacement before meshes. Detecting whether
image is used for true displacement is not so striaghtforward, so for now all
all displacement types will synchronize images used for them.

Such change brings memory usage from 4.1G to 4.0G with the 01_01_01_D scene
from gooseberry. With 01_01_01_G scene it's 7.6G vs. 6.8G (before and after
the patch).

Reviewers: campbellbarton, juicyfruit, brecht

Subscribers: eyecandy

Differential Revision:

4 years agoI18n: Add Vietnamese language.
Bastien Montagne [Mon, 20 Apr 2015 12:27:20 +0000 (14:27 +0200)]
I18n: Add Vietnamese language.

4 years agoFix T44452: Inconsistent gpencil color in prefs
Campbell Barton [Mon, 20 Apr 2015 11:20:39 +0000 (21:20 +1000)]
Fix T44452: Inconsistent gpencil color in prefs

4 years agoFix T44419: extruding when using lasso deselect
Campbell Barton [Mon, 20 Apr 2015 11:10:52 +0000 (21:10 +1000)]
Fix T44419: extruding when using lasso deselect

4 years agoAllow Python overrides for materials.
Campbell Barton [Mon, 20 Apr 2015 10:20:08 +0000 (20:20 +1000)]
Allow Python overrides for materials.

4 years agoFix T44458 strip modifier mask not copied correctly when doing scene
Antony Riakiotakis [Mon, 20 Apr 2015 09:51:43 +0000 (11:51 +0200)]
Fix T44458 strip modifier mask not copied correctly when doing scene

What happens is that the strip is copied, but it still refers to the old
scene. Here we need to fix this by referring to the copy of the strip
and also do it after copying to make it order independent.

4 years agoCompilation error fix for MSVC: It does not support expressions in array
Sergey Sharybin [Mon, 20 Apr 2015 09:07:26 +0000 (14:07 +0500)]
Compilation error fix for MSVC: It does not support expressions in array

4 years agoFix: BGE crashes when RunPythonCallBackList() is called with maxargcount != minargcount
Sybren A. Stüvel [Mon, 20 Apr 2015 05:53:06 +0000 (13:53 +0800)]
Fix: BGE crashes when RunPythonCallBackList() is called with maxargcount != minargcount

4 years agoAction Stashing: Newly stashed strips now get "sync length" option enabled by default
Joshua Leung [Mon, 20 Apr 2015 05:25:00 +0000 (17:25 +1200)]
Action Stashing: Newly stashed strips now get "sync length" option enabled by default

4 years agoAction Editor "Browse" Fix: Stash active action if nothing else uses it
Joshua Leung [Mon, 20 Apr 2015 05:21:05 +0000 (17:21 +1200)]
Action Editor "Browse" Fix: Stash active action if nothing else uses it

Following the initial action management commits for 2.74, blurrymind pointed out a
problematic workflow involving the "Browse Action" dropdown in the Action Editor
which would lead to actions being accidentally lost. Namely, it turns out that
game animators frequently flip between different actions from the Browse menu while

While the new up/down operators and/or other NLA based tools are better suited to this
without the problems of actions getting lost, some additional precautions were needed
for the Browse menu as well. So now, if the active action will have no users as a result
of the switch (i.e. it was a new action, and the user is checking on a previous action
via the Browse menu), this action will now get stashed. This workflow is not perfect though,
as there is the problem of the stashed action strips not reflecting the actions they reference.

4 years agoFix for potential null-pointer-dereference if the new action is NULL
Joshua Leung [Mon, 20 Apr 2015 00:30:29 +0000 (12:30 +1200)]
Fix for potential null-pointer-dereference if the new action is NULL

4 years agoFix: Changing actions in the Action Editor using the Browse dropdown should happen...
Joshua Leung [Mon, 20 Apr 2015 00:28:50 +0000 (12:28 +1200)]
Fix: Changing actions in the Action Editor using the Browse dropdown should happen in tweakmode

When a NLA strip is being tweaked, it should not be possible to use the Action Editor to change
the action that it uses. Instead of changing the action in tweakmode, it now exits tweakmode
first before doing so.

4 years agoFix: "show_points" setting for Grease Pencil drawing didn't work
Joshua Leung [Sun, 19 Apr 2015 13:02:49 +0000 (01:02 +1200)]
Fix: "show_points" setting for Grease Pencil drawing didn't work

As reported by zeffi, the "show_points" option was not working in master.
It probably broke recently, after some changes meant that the point sizes
weren't geting set prior to drawing these points anymore. Since this was
originally added as a debugging tool (though it is now somewhat redundant
due to the stroke editing functionality, which uses/exposes the same points),
this option wasn't really that important. I have decided to add back a toggle
for this to the UI though, since it can be used for some interesting effects...

4 years agoSculpt: remove workaround T25371
Campbell Barton [Mon, 20 Apr 2015 03:36:51 +0000 (13:36 +1000)]
Sculpt: remove workaround T25371

It's no longer needed,
and made calc_area_normal different to the normal from calc_area_normal_and_center.

4 years agoSculpt: clay-strips was missing accumulate button
Campbell Barton [Mon, 20 Apr 2015 02:35:49 +0000 (12:35 +1000)]
Sculpt: clay-strips was missing accumulate button

Correct & de-duplicate check for accumulate.

4 years agoFix: solved BGE compiler error on Linux/gcc
Sybren A. Stüvel [Mon, 20 Apr 2015 02:58:25 +0000 (10:58 +0800)]
Fix: solved BGE compiler error on Linux/gcc

4 years agoFix T44449, sm_52 kernel missing in CMake builds.
Thomas Dinges [Sun, 19 Apr 2015 20:04:23 +0000 (22:04 +0200)]
Fix T44449, sm_52 kernel missing in CMake builds.

4 years agoBGE : Standardization of callbacks execution.
Porteries Tristan [Sun, 19 Apr 2015 18:32:14 +0000 (20:32 +0200)]
BGE : Standardization of callbacks execution.

A new function (RunPythonCallBackList) to call all python functions
contained in a python list was developed.

This function has:
  - first argument is the python list of callbacks
  - second argument is a python list of arguments
  - third argument is the minimum quantity of arguments
  - forth argument is the maximum quantity of arguments

It improves flexibility and supports *args.

Reviewers: moguri, dfelinto, campbellbarton, sybren

Reviewed By: campbellbarton, sybren

Subscribers: sybren

Projects: #game_engine

Differential Revision:

4 years agoCleanup: warnings
Campbell Barton [Sun, 19 Apr 2015 12:03:42 +0000 (22:03 +1000)]
Cleanup: warnings

4 years agoDyntopo: non-topology tool origdata support
Campbell Barton [Sun, 19 Apr 2015 09:51:02 +0000 (19:51 +1000)]
Dyntopo: non-topology tool origdata support

Brushes that don't change topology didn't have access to original data.

4 years agoCleanup: use meaningful names re: (fc, an, sn)
Campbell Barton [Sun, 19 Apr 2015 08:36:53 +0000 (18:36 +1000)]
Cleanup: use meaningful names re: (fc, an, sn)

4 years agoDyntopo: support for original normal access
Campbell Barton [Sun, 19 Apr 2015 08:22:25 +0000 (18:22 +1000)]
Dyntopo: support for original normal access

Rename calc_flatten_center to calc_area_center,
since theres no 'flatten' spesific logic there.

Also refactor calc_area_center, calc_area_normal, calc_area_normal_and_center
so they're next to eachother - they're almost the same,
having them scattered about isn't helpful.

4 years agoCleanup: move project code into util function
Campbell Barton [Sun, 19 Apr 2015 07:52:35 +0000 (17:52 +1000)]
Cleanup: move project code into util function

4 years agoCleanup: calculating sculpt center & normal
Campbell Barton [Sun, 19 Apr 2015 07:03:51 +0000 (17:03 +1000)]
Cleanup: calculating sculpt center & normal

also avoid sqrt calculating dyntopo center (only checks for flipping)

4 years agodisable verify from last commit (too slow)
Campbell Barton [Sun, 19 Apr 2015 06:06:40 +0000 (16:06 +1000)]
disable verify from last commit (too slow)

4 years agoDyntopo: USE_EDGEQUEUE_TAG broke even subdiv
Campbell Barton [Sun, 19 Apr 2015 06:03:12 +0000 (16:03 +1000)]
Dyntopo: USE_EDGEQUEUE_TAG broke even subdiv

While adding edges to the queue multiple times is redundant,
walking over them is still needed.

4 years agoDyntopo: avoid over-counting /w neighbor average
Campbell Barton [Sun, 19 Apr 2015 04:42:54 +0000 (14:42 +1000)]
Dyntopo: avoid over-counting /w neighbor average

4 years agoSculpt: avoid CD lookup /w mask smooth
Campbell Barton [Sun, 19 Apr 2015 04:38:16 +0000 (14:38 +1000)]
Sculpt: avoid CD lookup /w mask smooth

4 years agoSculpt: smooth brush, exclude self from average
Campbell Barton [Sun, 19 Apr 2015 04:21:23 +0000 (14:21 +1000)]
Sculpt: smooth brush, exclude self from average

Was including the vertices own location when accumulating.

4 years agoBGE: Support for collision group/mask from the api + activated on EndObject.
Porteries Tristan [Sat, 18 Apr 2015 23:01:17 +0000 (01:01 +0200)]
BGE: Support for collision group/mask from the api + activated on EndObject.

A Python API for the collision group / mask has been added:
The maximum number of collision groups and masked has been increased from eight to sixteen.
This means that the max value of collisionGroup/Mask is (2 ** 16) - 1

EndObject will now activate objects that were sleeping and colliding with the removed object.
This means that, unlike now, if a rigid body starts sleeping on top of another object, when the latter is removed the rigid body will activate and fall, rather than float midair as before.

Collision groups that do not intersect used to collide on the first frame. Now this has been fixed so that they collide appropriately.

Thanks to agoose77 for his help.

Reviewers: scorpion81, hg1, agoose77, sergof

Reviewed By: agoose77, sergof

Subscribers: sergof, moguri

Projects: #game_physics, #game_engine

Differential Revision:

4 years agoBGE: Fix T43536 logic.getCurrentScene() returning wrong scene in
Porteries Tristan [Sat, 18 Apr 2015 19:32:48 +0000 (21:32 +0200)]
BGE: Fix T43536 logic.getCurrentScene() returning wrong scene in
pre_draw and post_draw calls

A simple insert of KX_SetActiveScene(scene) before pre_draw and
post_draw calls solves the issue.

Reviewers: dfelinto, sybren, brita_, campbellbarton, moguri, lordloki

Reviewed By: moguri, lordloki

Projects: #game_logic, #game_engine

Differential Revision:

4 years agoCleanup: API naming use BKE_undo_ prefix
Campbell Barton [Sat, 18 Apr 2015 13:41:12 +0000 (15:41 +0200)]
Cleanup: API naming use BKE_undo_ prefix

4 years agoCleanup: use BLO_memfile prefix
Campbell Barton [Sat, 18 Apr 2015 15:33:04 +0000 (17:33 +0200)]
Cleanup: use BLO_memfile prefix

4 years agoAutosave:
Antony Riakiotakis [Sat, 18 Apr 2015 13:50:29 +0000 (15:50 +0200)]

Flush edits only when saving global undo. This will stop freeing of PBVH
in sculpt mode, which introduces some pretty severe freezes, especially
in dyntopo. For global undo we flush the contents of the global undo
buffer which does not include localized edits of sculpt/edit mode, so
those data will not get saved anyway.

4 years agoBGE: New Draw debug shadow box for sun lamp
Porteries Tristan [Sat, 18 Apr 2015 10:28:19 +0000 (12:28 +0200)]
BGE: New Draw debug shadow box for sun lamp

New Check option "Show Shadow Box" in shadow panel of sun lamp to get
feedback about which objects project shadows.

Minor tweaks by Campbell Barton and Jorge Bernal

Reviewers: moguri, sybren, kupoman, dfelinto, lordloki, campbellbarton

Reviewed By: lordloki, campbellbarton

Subscribers: sergey, lordloki

Projects: #game_engine

Differential Revision:

4 years agoFix T44390: Clay brush weirdness part-2
Campbell Barton [Fri, 17 Apr 2015 19:03:29 +0000 (05:03 +1000)]
Fix T44390: Clay brush weirdness part-2

Use the normal of the plane instead of the vertex normal,
since projecting using the vertex normal frequently causes artifacts.

4 years agoFix T44390: Clay brush weirdness part-1
Campbell Barton [Fri, 17 Apr 2015 18:57:23 +0000 (04:57 +1000)]
Fix T44390: Clay brush weirdness part-1

Clay brush had a feedback loop with dyntopo,
getting the plane from the cursor center didn't support original data.

4 years agoCleanup: simplify sculpt normal accumulation
Campbell Barton [Fri, 17 Apr 2015 17:09:16 +0000 (03:09 +1000)]
Cleanup: simplify sculpt normal accumulation

4 years agoCleanup: simplify sculpt plane accumulation
Campbell Barton [Fri, 17 Apr 2015 16:50:58 +0000 (02:50 +1000)]
Cleanup: simplify sculpt plane accumulation

4 years agoBGE : Fix light layer check
Porteries Tristan [Fri, 17 Apr 2015 16:10:34 +0000 (18:10 +0200)]
BGE : Fix light layer check

The layers in Blender are using a bit field for the 20 layers. The light layer value was limited to 20, so the highest usable light layer was five.
The patch modify the range and add layer out of range error messages.

Reviewers: sybren, hg1, moguri

Reviewed By: hg1, moguri

Projects: #game_engine

Differential Revision:

4 years agoBake-API: reduce memory footprint when baking more than one object (Fix T41092)
Dalai Felinto [Fri, 17 Apr 2015 15:25:37 +0000 (12:25 -0300)]
Bake-API: reduce memory footprint when baking more than one object (Fix T41092)

Combine all the highpoly pixel arrays into a single array with a lookup
object_id for each of the highpoly objects.

Note: This changes the Bake API, external engines should refer to the
bake_api.c for the latest API.

Many thanks for Sergey Sharybin for the complete review, changes
suggestion and feedback. (you rock!)

Reviewers: sergey

Subscribers: pildanovak, marcclintdion, monio, metalliandy, brecht

Maniphest Tasks: T41092

Differential Revision:

4 years agoCleanup: redundant casts
Campbell Barton [Fri, 17 Apr 2015 14:11:03 +0000 (00:11 +1000)]
Cleanup: redundant casts

4 years agoFix BPlayer (c)
Bastien Montagne [Fri, 17 Apr 2015 14:03:14 +0000 (16:03 +0200)]
Fix BPlayer (c)

4 years agoDepsgraph: Report total time spent on scene update
Sergey Sharybin [Fri, 17 Apr 2015 13:55:47 +0000 (18:55 +0500)]
Depsgraph: Report total time spent on scene update

Previously was only per-thread timing.

4 years agoCleanup: remove unused face normals
Campbell Barton [Fri, 17 Apr 2015 10:55:33 +0000 (20:55 +1000)]
Cleanup: remove unused face normals

also use const

4 years agoCode cleanup (for previous commit)
Dalai Felinto [Fri, 17 Apr 2015 13:41:31 +0000 (10:41 -0300)]
Code cleanup (for previous commit)

4 years agoImage Editor: Fix passes increase/decrease buttons
Dalai Felinto [Fri, 17 Apr 2015 13:38:17 +0000 (10:38 -0300)]
Image Editor: Fix passes increase/decrease buttons

This was half-broken even in 2.74 (if you were using compositor), multiview did us the favour of breaking this for all cases (you are welcome).
It is all working now.

4 years agoFix T44336: Unable to select cycles-specific passes in UV/image editor
Dalai Felinto [Fri, 17 Apr 2015 12:48:31 +0000 (09:48 -0300)]
Fix T44336: Unable to select cycles-specific passes in UV/image editor

This approach gets rid of iuser->pass for good.

Also, I'm commenting out the pass increase/decrease. This was broken
since multiview. I will fix it later (before 2.75), but I didn't want to
get this patch mangled with that fix.

Thanks Sergey Sharybin for the review and feedbacks.

Reviewers: sergey

Differential Revision:

4 years agoDyntopo: save 4 bytes per BMLogVert
Campbell Barton [Fri, 17 Apr 2015 08:07:08 +0000 (18:07 +1000)]
Dyntopo: save 4 bytes per BMLogVert

4 years agoDyntopo: avoid redundant lookup on original data
Campbell Barton [Fri, 17 Apr 2015 07:31:56 +0000 (17:31 +1000)]
Dyntopo: avoid redundant lookup on original data

4 years agoFix T44411: poll() function of MESH_OT_knife_project was not strict enough.
Bastien Montagne [Fri, 17 Apr 2015 06:09:16 +0000 (08:09 +0200)]
Fix T44411: poll() function of MESH_OT_knife_project was not strict enough.

We need a 3DView region here, not only the 3DView...

4 years agoFix T44412: Crash when trying to paint on a GPencil frame when the frames are out...
Joshua Leung [Fri, 17 Apr 2015 01:32:57 +0000 (13:32 +1200)]
Fix T44412: Crash when trying to paint on a GPencil frame when the frames are out of order

4 years agoFix for Grease Pencil and negative frames
Joshua Leung [Fri, 17 Apr 2015 00:27:27 +0000 (12:27 +1200)]
Fix for Grease Pencil and negative frames

While investigating T44412, I noticed some weirdness going on when trying to
draw on frame 0 (i.e. strokes were getting added to frame 1 instead). Clearly,
this seemed like an off-by-one error related to clamping to prevent negative
frames which was also excluding frame 0.

This commit reverts the fixes made for T36831 in:

After thinking this over, I think these checks against drawing on negative
frames aren't needed. Even if the current userpref setting doesn't allow
navigating to negative frames, this may not be true for other users that
may work on the same file (in a team environment). Also, negative frame
values can get set via the dopesheet.

4 years agoBGE: Fix for T44374 Crash when collision sensor deactivated
Jorge Bernal [Fri, 17 Apr 2015 00:02:30 +0000 (02:02 +0200)]
BGE: Fix for T44374 Crash when collision sensor deactivated

Don't allocate memory for sensor logic brick if it is deactivated

4 years agoCleanup: use const for sculpt code
Campbell Barton [Thu, 16 Apr 2015 17:10:57 +0000 (03:10 +1000)]
Cleanup: use const for sculpt code

4 years agoAdded Support for Custom Vertex Normals to Collada exporter
Gaia Clary [Thu, 16 Apr 2015 17:02:00 +0000 (19:02 +0200)]
Added Support for Custom Vertex Normals to Collada exporter

4 years agoOpenGL does not like line thickness less than 1.0.
Antony Riakiotakis [Thu, 16 Apr 2015 16:34:53 +0000 (18:34 +0200)]
OpenGL does not like line thickness less than 1.0.

Check here is not completely correct either, we should check against

4 years agoAction Editor: Preemptive fix for null-pointer dereference
Joshua Leung [Thu, 16 Apr 2015 13:10:27 +0000 (01:10 +1200)]
Action Editor: Preemptive fix for null-pointer dereference

A few weeks ago, I got a random crash while testing som edge cases
(IIRC, it was trying to assign an action with no active object),
which I haven't been able to reproduce since then. This commit though
adds some extra sanity checks here, as a user may try to assign an
action to an animdata block which did not have an action already.

4 years agoFix T44408: "Rest Length" property in the Stretch To constraint was getting clipped...
Joshua Leung [Thu, 16 Apr 2015 13:07:05 +0000 (01:07 +1200)]
Fix T44408: "Rest Length" property in the Stretch To constraint was getting clipped when using Metric Units

Increased the upper bound for the "Rest Length" property to cope with metric
units, especially when large (i.e. > 2 m) distances are involved. It may be
necessary to increase this again in the future, if even larger distances get
used (though it then starts getting a bit difficulty to justify such setups).

4 years agoCleanup: remove redundant initializers
Campbell Barton [Thu, 16 Apr 2015 12:26:20 +0000 (22:26 +1000)]
Cleanup: remove redundant initializers

4 years agoDraw smoke domain in transparent pass. Should composite smoke domains
Antony Riakiotakis [Thu, 16 Apr 2015 11:01:57 +0000 (13:01 +0200)]
Draw smoke domain in transparent pass. Should composite smoke domains
correctly in scene - with known limitations of blending between
transparent objects.

4 years agoFix T44406: the Hebrew font causes trouble.
Bastien Montagne [Thu, 16 Apr 2015 10:37:03 +0000 (12:37 +0200)]
Fix T44406: the Hebrew font causes trouble.

Looks like the droidsans hebrew font we used back in the days had some kerning bug or so...
Updated with latest version from Debian Testing repo, works nice now.

4 years agoRNA: avoid past tense in property names
Campbell Barton [Thu, 16 Apr 2015 06:41:12 +0000 (16:41 +1000)]
RNA: avoid past tense in property names

4 years agoDocs: BLI_rand non-obvious behavior
Campbell Barton [Thu, 16 Apr 2015 06:07:46 +0000 (16:07 +1000)]
Docs: BLI_rand non-obvious behavior

4 years agoBGE: Fix for T42341 Sensor.frequency is badly named
Jorge Bernal [Thu, 16 Apr 2015 04:31:25 +0000 (06:31 +0200)]
BGE: Fix for T42341 Sensor.frequency is badly named

"Frequency" parameter is renamed to "Skip" in the LogicBricks sensors as it represents skipped frames between pulses.

Naming something (frequency) the exact opposite of what it represents (period) was the worst choice.

Also, a new BGE python attribute 'skippedTicks' was introduced. 'frequency' attribute is maintained but deprecated.

Internally, freq variable is used yet at DNA_Sensor to maintain compability and to avoid do_versions.

Thanks to Sybren for the investigation.


Reviewers: campbellbarton, sybren, moguri, hg1

Reviewed By: sybren, hg1

Differential Revision:

4 years agoPartial fix for T44404: freestyle crashes blender.
Tamito Kajiyama [Thu, 16 Apr 2015 00:13:40 +0000 (09:13 +0900)]
Partial fix for T44404: freestyle crashes blender.

Logical predicates AndUP1D and OrUP1D were instantiated even with an empty
list of unary 1D predicates, causing an exception in the constructors of
the logical predicate classes.

This is a regression made in b408d8af31c9fba5898e353c97f95f7ce8dc19c1.

4 years agoDyntopo: avoid redundant loop collapsing edges
Campbell Barton [Thu, 16 Apr 2015 02:24:59 +0000 (12:24 +1000)]
Dyntopo: avoid redundant loop collapsing edges

4 years agoDyntopo: blend vertex normals when collapsing
Campbell Barton [Thu, 16 Apr 2015 01:59:48 +0000 (11:59 +1000)]
Dyntopo: blend vertex normals when collapsing

4 years agodyntopo: don't allocate tessfaces while sculpting
Campbell Barton [Wed, 15 Apr 2015 18:14:01 +0000 (04:14 +1000)]
dyntopo: don't allocate tessfaces while sculpting

Tessellation data isn't used for drawing or sculpting.

This frees up some memory ~approx 10% in own tests.
Also slight spee-up since it avoids calculating it in the first place.

4 years agoFix crash loading file without scene in bg mode
Campbell Barton [Wed, 15 Apr 2015 15:45:30 +0000 (01:45 +1000)]
Fix crash loading file without scene in bg mode

4 years agoCleanup: warnings, ws
Campbell Barton [Wed, 15 Apr 2015 15:12:22 +0000 (01:12 +1000)]
Cleanup: warnings, ws

4 years agoCleanup: use const for event->tablet_data
Campbell Barton [Wed, 15 Apr 2015 15:07:54 +0000 (01:07 +1000)]
Cleanup: use const for event->tablet_data

4 years agoIncrease max brush size from 200 to 500
Campbell Barton [Wed, 15 Apr 2015 14:59:43 +0000 (00:59 +1000)]
Increase max brush size from 200 to 500

4 years agoBGE: subclass with more than 1 argument, D1237
Porteries Tristan [Wed, 15 Apr 2015 11:45:43 +0000 (21:45 +1000)]
BGE: subclass with more than 1 argument, D1237

In the BGE you can't create a subclass with more than 1 argument like : "player = Player(owner, 10)"
I have modified the py_base_new to check only the first argument of args tuple.
Now we can do :

    class Player(types.KX_GameObject):
        def __init__(self, gameobj, life):
            print("create new player :", self, ", life :", life)

    player = Player(own, 50)

4 years agoBMesh: dyntopo used lopsided normals
Campbell Barton [Wed, 15 Apr 2015 10:52:51 +0000 (20:52 +1000)]
BMesh: dyntopo used lopsided normals

Normals from subdivided edges were only taken from the edges first vertex.

Interpolate between the two to give more even results.

4 years agoBMesh: Missed normal from example /w skip-cd flag
Campbell Barton [Wed, 15 Apr 2015 10:46:33 +0000 (20:46 +1000)]
BMesh: Missed normal from example /w skip-cd flag

We may still want to use the normal as a reference but skip customdata.

4 years agoFix T44395: String untranslated in open file window.
Bastien Montagne [Wed, 15 Apr 2015 09:11:22 +0000 (11:11 +0200)]
Fix T44395: String untranslated in open file window.

4 years agoBMesh: avoid ghash lookups splitting the pbvh
Campbell Barton [Wed, 15 Apr 2015 06:14:27 +0000 (16:14 +1000)]
BMesh: avoid ghash lookups splitting the pbvh

This isn't a bottleneck but may as well avoid the extra ghash overhead.

4 years agotypo in last commit
Campbell Barton [Wed, 15 Apr 2015 05:34:06 +0000 (15:34 +1000)]
typo in last commit

4 years agoSculpt: change behavior of crease brush
Campbell Barton [Wed, 15 Apr 2015 05:22:37 +0000 (15:22 +1000)]
Sculpt: change behavior of crease brush

Pinch would give a flat result on either side of the stroke,
because points were dragged towards a single point.

Now pinch is projected on the sculpt plane, which gives a tighter crease.
The reverse is true too - blob brush which shares the code is also more curved.

4 years agoRNA: use lock_ prefix for booleans
Campbell Barton [Wed, 15 Apr 2015 04:51:17 +0000 (14:51 +1000)]
RNA: use lock_ prefix for booleans

4 years agoFix T44389: Tooltips swapped in Logic Editor
Julian Eisel [Tue, 14 Apr 2015 15:15:28 +0000 (17:15 +0200)]
Fix T44389: Tooltips swapped in Logic Editor

4 years agoMultiview: compositor openexr multiview images fully working
Dalai Felinto [Tue, 14 Apr 2015 15:19:07 +0000 (12:19 -0300)]
Multiview: compositor openexr multiview images fully working

This is from my original missing-bits/TODO list.
Basically multiview openexr was only working when multiview was on.

4 years agoFix T44343 Compositor image node cannot properly load multilayer EXRs
Dalai Felinto [Tue, 14 Apr 2015 14:19:23 +0000 (11:19 -0300)]
Fix T44343 Compositor image node cannot properly load multilayer EXRs

4 years agoSecond round of hair random rotation limited to 180 degrees
Mai Lavelle [Tue, 14 Apr 2015 14:00:17 +0000 (19:00 +0500)]
Second round of hair random rotation limited to 180 degrees

This time roll back to originally discussed in the code review page approach
with simply bumping UI range for the property.

It's still not totally free from forward compatibility breaking (which is
already broken comparing to previous release) but at least it'll keep files
working inbetween of git blender versions in cases random factor was not
set above 2.0.

Differential Revision:

4 years agoAction Editor: Make the warning on unlinking actions a bit less intrusive
Joshua Leung [Tue, 14 Apr 2015 13:18:45 +0000 (01:18 +1200)]
Action Editor: Make the warning on unlinking actions a bit less intrusive

venomgfx was complaining that having it do the popup everytime was too intrusive,
so demoting it to just showing the warning in the header.

4 years agoFix T44385 SSAO inverted with new Intel drivers.
Antony Riakiotakis [Tue, 14 Apr 2015 10:31:23 +0000 (12:31 +0200)]
Fix T44385 SSAO inverted with new Intel drivers.

Intel has decided to fix this for newer devices and drivers only, so we
can't really avoid keeping a list of buggy drivers here.