4 years agoCycles: Small improvement for volume render (decoupled)
Thomas Dinges [Sat, 14 Feb 2015 19:44:30 +0000 (20:44 +0100)]
Cycles: Small improvement for volume render (decoupled)

Simplify branching here a bit, helps ~3% in volume_light_sampling.blend (Branched MIS scene).

4 years agoCycles: Fix compilation error of Cycles standalone with Libmv disabled
Sergey Sharybin [Sat, 14 Feb 2015 16:32:38 +0000 (21:32 +0500)]
Cycles: Fix compilation error of Cycles standalone with Libmv disabled

4 years agoRevert "Fix T43471, based on patch submitted by @sean_loh."
Lukas Tönne [Sat, 14 Feb 2015 15:40:57 +0000 (16:40 +0100)]
Revert "Fix T43471, based on patch submitted by @sean_loh."

This reverts commit b2b54b0902045ec4f0c1a4cae3209be863878f5b.

The patch breaks particle distribution even in simple cases, not worth
doing this for keeping a hackish loophole open.

4 years agoobject drawing: only use halo-draw in object mode
Campbell Barton [Sat, 14 Feb 2015 11:26:20 +0000 (22:26 +1100)]
object drawing: only use halo-draw in object mode

4 years agoBring copy/free operations into line with changes in previous commit
Joshua Leung [Sat, 14 Feb 2015 04:42:57 +0000 (17:42 +1300)]
Bring copy/free operations into line with changes in previous commit

4 years agoBugfix: Referencing actions from Action Actuator was not setting a user
Joshua Leung [Fri, 13 Feb 2015 13:48:36 +0000 (02:48 +1300)]
Bugfix: Referencing actions from Action Actuator was not setting a user

This reverts the change made in 8872cba7e956a9d9a840e55e5323945497524795
which was contributing to actions being lost in some cases [1], even when
they were assigned to those actuaters, which needed them to be able to
function. Now there's one less case where users are needed but were missing :)

Note that this still doesn't solve the core issue where nothing is responsible
for associating actions created for a particular datablock (and not currently
being used in its active action slot, or in the NLA stack) with that datablock.
That issue is the cause of most action disappearances as well as for other problems
(such as renaming bones being unable to fix unreferenced/unused actions) where there
are diifferences between users' mental models and the data model. Proper fixes are
coming soon (restoring fake users here isn't a proper fix, as it only masks the
fundamental mismatch/problem here).


4 years agoCMake: Enable JeMalloc by default
Sergey Sharybin [Sat, 14 Feb 2015 10:13:48 +0000 (15:13 +0500)]
CMake: Enable JeMalloc by default

It's really handy to have blender linked against jemalloc because of
much better memory fragmentation handling by that library.

To be noted: if jemalloc library is not found it'll be disabled with
message about that, no compilation error should happen.

4 years agoCMake: Add search path for jemalloc which corresponds to own and studio setup
Sergey Sharybin [Sat, 14 Feb 2015 07:29:13 +0000 (12:29 +0500)]
CMake: Add search path for jemalloc which corresponds to own and studio setup

4 years agoRefactor array_utils out of BLI_array
Campbell Barton [Fri, 13 Feb 2015 20:28:15 +0000 (07:28 +1100)]
Refactor array_utils out of BLI_array

BLI_array.h is for resizing array macros, where as array_utils can operate on any arrays.

4 years agocleanup: doxy comments
Campbell Barton [Fri, 13 Feb 2015 20:28:31 +0000 (07:28 +1100)]
cleanup: doxy comments

4 years agoComments: use doxy sections for nodes header
Campbell Barton [Fri, 13 Feb 2015 20:27:09 +0000 (07:27 +1100)]
Comments: use doxy sections for nodes header

4 years agoPurge temporary files on abort
Sergey Sharybin [Fri, 13 Feb 2015 20:30:36 +0000 (01:30 +0500)]
Purge temporary files on abort

This way both BLI_assert() and abort() called directly shouldn't
leave any files in the temp folder.

Previously it was really possible to have gadzillions of files
left over because of assert failures and debug aborts during the
development process.

4 years agoFix T43585 XRay + transparency broken
Antony Riakiotakis [Fri, 13 Feb 2015 13:38:26 +0000 (14:38 +0100)]
Fix T43585 XRay + transparency broken

We need to turn off restore depth mask in transparency.

4 years agoRevert "Fix T43646: VSE preview allows displaying channels down to -5"
Julian Eisel [Fri, 13 Feb 2015 12:57:48 +0000 (13:57 +0100)]
Revert "Fix T43646: VSE preview allows displaying channels down to -5"

This reverts commit e652f781a33b3b31fa95b543bf4003ff7b0c57d6.

@schlaile, mentioned in T43646 that this was an intended feature. Checked git
history and it's seems like he's right.

4 years agoNo need to use "SSAO" for SSAO color
Antony Riakiotakis [Fri, 13 Feb 2015 11:15:57 +0000 (12:15 +0100)]
No need to use "SSAO" for SSAO color

4 years agoAlleviate grid creating shadows in Ambient Occlusion effect.
Antony Riakiotakis [Fri, 13 Feb 2015 10:52:27 +0000 (11:52 +0100)]
Alleviate grid creating shadows in Ambient Occlusion effect.

Draw the grid last with depth masking disabled. That should have no ill
effects otherwise as far as I can tell except from some exceptional
cases (axis lines over grid) but this is hardly annoying.

Generally to properly solve such issues we need to have a better render
pipeline with wire objects/materials being drawn after compositing. This
is not impossible but for now doing it the simple way.

4 years agoFix T43646: VSE preview allows displaying channels down to -5
Julian Eisel [Fri, 13 Feb 2015 10:53:29 +0000 (11:53 +0100)]
Fix T43646: VSE preview allows displaying channels down to -5

Maybe just another typo (tm). (Checked with @psy-fi)

4 years agoFix T43649: Geometry node breaks GLSL shading
Sergey Sharybin [Fri, 13 Feb 2015 10:23:41 +0000 (15:23 +0500)]
Fix T43649: Geometry node breaks GLSL shading

The issue was caused by the recently added attribute, which is to be
added to the shader function even tho it's not supported.

4 years agoFix again tablets with linux!
Bastien Montagne [Fri, 13 Feb 2015 09:52:30 +0000 (10:52 +0100)]
Fix again tablets with linux!

Yes, for me tablets (both wacom and no-name) were again broken - curse X11!
So now, we want ButtonPress, Button1Motion does not work anymore...

Anyway, this patch makes things much cleaner, storing each event type
in its own variable!

Patch by cedricp (Cédric PAILLE) from T43367, thanks a bunch!

4 years agoFix issue with some files having non-unique modifier names
Sergey Sharybin [Fri, 13 Feb 2015 08:51:10 +0000 (13:51 +0500)]
Fix issue with some files having non-unique modifier names

Originally the files are coming from ancient early-2.4x epoch, but in
theory such setups might have been re-saved multiple times already with
more recent blender versions.

So the verisoning code is applied on all the files, including very
recent ones.

Bumped subversion, because this check si not really cheap.

4 years agoMake modifier_unique_name return whether modifier was renamed or not
Sergey Sharybin [Fri, 13 Feb 2015 08:44:13 +0000 (13:44 +0500)]
Make modifier_unique_name return whether modifier was renamed or not

4 years agoFix Cycles compilation on x86, without SSE.
Thomas Dinges [Fri, 13 Feb 2015 08:27:54 +0000 (09:27 +0100)]
Fix Cycles compilation on x86, without SSE.

4 years agoFix (revert) mistake in rB1ae2098a6e04359b, causing broken UI (see e.g. Scene buttons).
Bastien Montagne [Fri, 13 Feb 2015 08:10:53 +0000 (09:10 +0100)]
Fix (revert) mistake in rB1ae2098a6e04359b, causing broken UI (see e.g. Scene buttons).

Reported by  sebastian_k through IRC, thanks!

4 years agocleanup
Campbell Barton [Fri, 13 Feb 2015 05:09:24 +0000 (16:09 +1100)]

4 years agocleanup: ui, use bools
Campbell Barton [Fri, 13 Feb 2015 00:43:28 +0000 (11:43 +1100)]
cleanup: ui, use bools

4 years agoUI: show check-boxes pie-menu bool/enums
Campbell Barton [Fri, 13 Feb 2015 00:32:24 +0000 (11:32 +1100)]
UI: show check-boxes pie-menu bool/enums

4 years agoBMesh: avoid ugly macro for loop interpolation
Campbell Barton [Fri, 13 Feb 2015 00:01:47 +0000 (11:01 +1100)]
BMesh: avoid ugly macro for loop interpolation

Compiler optimizes to practically the same output

4 years agoBGE: Fix for T42285 & T38935 crashes. They are Rayhit related.
Jorge Bernal [Thu, 12 Feb 2015 23:09:32 +0000 (00:09 +0100)]
BGE: Fix for T42285 & T38935 crashes. They are Rayhit related.

We make sure that good values are passed to GetPolygon() and we check that the visual mesh doesn't have a wrong displacement when it passes over a object which has a mesh triangle as compound bound.

Reviewers: dfelinto, sergof, agoose77, moguri

Reviewed By: moguri

Subscribers: agoose77

Differential Revision:

4 years agoBGE: Remove translation and rotation constrains subpanel from dynamics type
Jorge Bernal [Thu, 12 Feb 2015 23:05:16 +0000 (00:05 +0100)]
BGE: Remove translation and rotation constrains subpanel from dynamics type

The translation and rotation locks subpanel was not used by dynamic physics type to avoid inestability in the application of forces and/or torques. Therefore it is better to remove it from UI (for dynamics) to avoid misunderstandings.

Reviewers: moguri, dfelinto, campbellbarton

Reviewed By: campbellbarton

Subscribers: panzergame

Differential Revision:

4 years agoBGE Fix T39026: No collisions detected with parented rigid body object
Jorge Bernal [Thu, 12 Feb 2015 22:56:50 +0000 (23:56 +0100)]
BGE Fix T39026: No collisions detected with parented rigid body object

Fix for T39026. Preliminary investigation by blenderscripter on D446.
Also it solves bug T41285 (Parenting object leave collission box).

Refactor commit b90de0331df6c92af909b20a3e183596ff3511e4 introduced a
regression bug.

Reviewers: sergof, campbellbarton, moguri

Reviewed By: moguri

Subscribers: blueprintrandom, blenderscripter

Differential Revision:

4 years agoCleanup horrible artifact of Greek to English translation.
Antony Riakiotakis [Thu, 12 Feb 2015 21:05:47 +0000 (22:05 +0100)]
Cleanup horrible artifact of Greek to English translation.

4 years agoUse the RNA for overriding the name instead.
Antony Riakiotakis [Thu, 12 Feb 2015 18:59:34 +0000 (19:59 +0100)]
Use the RNA for overriding the name instead.

4 years agoMore naming refinement GPU fstop -> Viewport f-stop
Antony Riakiotakis [Thu, 12 Feb 2015 18:50:19 +0000 (19:50 +0100)]
More naming refinement GPU fstop -> Viewport f-stop

4 years agoRevert "Add missing trailing '}' in GLSL files"
Antony Riakiotakis [Thu, 12 Feb 2015 18:39:10 +0000 (19:39 +0100)]
Revert "Add missing trailing '}' in GLSL files"

This reverts commit ebd4a6e0dd3bdd511f3857dc9192df848f388200.

Trailing '}' is added in C, also we add some extra code as needed.

4 years agoAdd DOF fstop property for cycles, also don't grey it out when object is
Antony Riakiotakis [Thu, 12 Feb 2015 18:35:32 +0000 (19:35 +0100)]
Add DOF fstop property for cycles, also don't grey it out when object is
set as focused

4 years agoAdd missing trailing '}' in GLSL files
Campbell Barton [Thu, 12 Feb 2015 18:12:15 +0000 (05:12 +1100)]
Add missing trailing '}' in GLSL files

4 years agoViewport compositing - first code
Antony Riakiotakis [Thu, 12 Feb 2015 17:54:41 +0000 (18:54 +0100)]
Viewport compositing - first code

This commit introduces a few ready made effects for the 3D viewport
and OpenGL rendering.

Included effects are Depth of Field, accessible from camera view
and screen space ambient occlusion. Those effects can be turned on and
tweaked from the shading panel in the 3D viewport.

Off screen rendering will use the settings of the current camera.

WIP documentation can be found here:

4 years agoFix (unreported) `load_file()` func from creator.c not setting G.save_over correctly.
Bastien Montagne [Thu, 12 Feb 2015 16:30:19 +0000 (17:30 +0100)]
Fix (unreported) `load_file()` func from creator.c not setting G.save_over correctly.

This was rather annoying, since if you were script-editing a .blend file in background
mode, opened through this commandline option system,  and wanted to save over,
a mere `bpy.ops.wm.save_mainfile()` *would not* overwrite expected file,
but instead write/replace the dummy `untitled.blend` one!

4 years agoRemoved the cloth preroll feature.
Lukas Tönne [Thu, 12 Feb 2015 15:28:15 +0000 (16:28 +0100)]
Removed the cloth preroll feature.

This feature has been totally broken for a long time. It was added
originally because negative frames were not supported.

Giving simulations (cloth and others) time to settle before animation
starts needs to be solved in a much better and more generic way.

4 years agoTracker operators: filter & copy track settings
Campbell Barton [Thu, 12 Feb 2015 15:17:23 +0000 (02:17 +1100)]
Tracker operators: filter & copy track settings

D1069 by @sebastian_k

4 years agoGPencil: Alt-S can now be used to adjust the pressure values (i.e. thickness) of...
Joshua Leung [Thu, 12 Feb 2015 13:46:14 +0000 (02:46 +1300)]
GPencil: Alt-S can now be used to adjust the pressure values (i.e. thickness) of strokes

4 years agoGPencil: Some tweaks to make GPencil UI more compact when there are 0 or 1 layer...
Joshua Leung [Thu, 12 Feb 2015 13:24:49 +0000 (02:24 +1300)]
GPencil: Some tweaks to make GPencil UI more compact when there are 0 or 1 layer(s) only

As brought up in T43595, the Grease Pencil layers list could sometimes end up
taking up too much space when there are no layers. Another issue raised there
was that the up/down buttons are redundant when there is only a single layer.
This commit makes some changes to get these a bit more compact for the case where
you have an empty GPencil datablock left over from previous work.

4 years agoGPencil: LKEY can now be used for Select Linked too now
Joshua Leung [Thu, 12 Feb 2015 13:13:01 +0000 (02:13 +1300)]
GPencil: LKEY can now be used for Select Linked too now

4 years agoBugfix: Old NLA Strips from 2.4x got converted with no names (since they didn't use...
Joshua Leung [Thu, 12 Feb 2015 13:11:17 +0000 (02:11 +1300)]
Bugfix: Old NLA Strips from 2.4x got converted with no names (since they didn't use to have any)

4 years agocleanup
Campbell Barton [Thu, 12 Feb 2015 12:51:02 +0000 (23:51 +1100)]

4 years agoAddons: print short message if an addons missing
Campbell Barton [Thu, 12 Feb 2015 12:42:51 +0000 (23:42 +1100)]
Addons: print short message if an addons missing

Was printing full traceback, harmless but verbose.

4 years agoFollow functionality: Scrubbing with the arrow keys and during jumps,
Antony Riakiotakis [Thu, 12 Feb 2015 12:08:22 +0000 (13:08 +0100)]
Follow functionality: Scrubbing with the arrow keys and during jumps,
will update the editors range.

Offsetting to a certain direction will put the editors min/max to the
new frame if the frame is out of the editor bounds while jumping will
set the new frame at the editor's center.

4 years agoFix T43612: VSE crash clearing proxies
Campbell Barton [Thu, 12 Feb 2015 11:59:04 +0000 (22:59 +1100)]
Fix T43612: VSE crash clearing proxies

4 years agoFix part 1 of T43239, multisegment vertex bevel on 2-edge vertices.
Howard Trickey [Thu, 12 Feb 2015 11:55:30 +0000 (06:55 -0500)]
Fix part 1 of T43239, multisegment vertex bevel on 2-edge vertices.

Implemented multisegment rounding of vertices with two edges.
Works both with wire edges and edges that have one or two faces

4 years agoCorrect fix for T43424
Campbell Barton [Thu, 12 Feb 2015 10:31:36 +0000 (21:31 +1100)]
Correct fix for T43424

Would crash undoing adding a new scene in camera view.

4 years agoFix T43471, based on patch submitted by @sean_loh.
Lukas Tönne [Thu, 12 Feb 2015 09:15:25 +0000 (10:15 +0100)]
Fix T43471, based on patch submitted by @sean_loh.

Particle textures always override timing information of particles.
Previously particle times could be scripted, but now these changes are
discarded by the texture evaluation function.

The patch disables texture overriding when no textures are defined, this
way at least some old scripts can keep working.

4 years agoBGE: Improve UI of Anisotropic Friction subpanel
Jorge Bernal [Thu, 12 Feb 2015 05:38:21 +0000 (06:38 +0100)]
BGE: Improve UI of Anisotropic Friction subpanel

Little patch that introduces X: Y: and Z: texts over anisotropic friction sliders

Reviewers: moguri, campbellbarton

Reviewed By: campbellbarton

Differential Revision:

4 years agoFix for previous commit - since it's for non-debug unused vars, name it UNUSED_VARS_N...
Bastien Montagne [Wed, 11 Feb 2015 21:22:40 +0000 (22:22 +0100)]
Fix for previous commit - since it's for non-debug unused vars, name it UNUSED_VARS_NDEBUG.

This commit was proudly crafted by the Commit Rate Raising Committee!

4 years agoAdd new UNUSED_VARS_DEBUG utils, which is NOP in debug build, but tags given vars...
Bastien Montagne [Wed, 11 Feb 2015 21:08:36 +0000 (22:08 +0100)]
Add new UNUSED_VARS_DEBUG utils, which is NOP in debug build, but tags given vars as unused in non-debug builds.

Helps handling cleanly pure-debug variables.

4 years agoOutliner: use enum for outliner_group_operation()
Campbell Barton [Wed, 11 Feb 2015 20:43:32 +0000 (07:43 +1100)]
Outliner: use enum for outliner_group_operation()

No functional changes.

D1067 by @lichtwerk

4 years agoOutliner: ContextMenus for constraints/modifiers
Campbell Barton [Wed, 11 Feb 2015 20:25:36 +0000 (07:25 +1100)]
Outliner: ContextMenus for constraints/modifiers

Context menu to toggle render, visibility & delete

D996 by @lichtwerk

4 years agoFix VSE strip channel skip overlapping strips
Campbell Barton [Wed, 11 Feb 2015 19:18:02 +0000 (06:18 +1100)]
Fix VSE strip channel skip overlapping strips

D1096 by @mangostaniko (with some edits)

4 years agoFull screen mode did not remember the follow mode of previous screen.
Antony Riakiotakis [Wed, 11 Feb 2015 19:01:21 +0000 (20:01 +0100)]
Full screen mode did not remember the follow mode of previous screen.

Also make follow mode do something similar in reverse play.

4 years agocleanup: rename enum type to blender convention
Campbell Barton [Wed, 11 Feb 2015 16:29:10 +0000 (03:29 +1100)]
cleanup: rename enum type to blender convention

4 years agoFileBrowser Bookmarks: fix issue with invalid bookmarks.
Bastien Montagne [Wed, 11 Feb 2015 16:07:52 +0000 (17:07 +0100)]
FileBrowser Bookmarks: fix issue with invalid bookmarks.

Reported by maxon through IRC, thanks.

Invalid (inexistant) bookmarks would not be selectable, hence not removable.

First, made invalid bookmarks grayed out in lists, so that user knows when there are some.

Then, added a new 'cleanup' operator that removes all invalid bookmarks.

This solution may not be completely satisfaying, but should do the work for now.
I do not want to add back those ugly 'X' delete buttons for each entry in list,
so better solution would be to make UIList able to select several items at once...

4 years agoBPY RNA: add `is_property_readonly()`.
Bastien Montagne [Wed, 11 Feb 2015 16:06:09 +0000 (17:06 +0100)]
BPY RNA: add `is_property_readonly()`.

This property may be defined dynamically, so mere access to static flag value
through `[...].is_readonly` is not enough.

4 years agoFix (unreported) disabled items in UIList not grayed out.
Bastien Montagne [Wed, 11 Feb 2015 15:46:41 +0000 (16:46 +0100)]
Fix (unreported) disabled items in UIList not grayed out.

Since we override widget's theme colors in this case in widget_state,
we have to redo 'disabled' alpha shading...

4 years agoRNA: sequencer channel range was incorrect
Campbell Barton [Wed, 11 Feb 2015 15:36:33 +0000 (02:36 +1100)]
RNA: sequencer channel range was incorrect

Broke since 2.4x, zero sequence channels shouldn't be allowed

4 years agoFix depth-eyedropper crashing outside 3d view
Campbell Barton [Wed, 11 Feb 2015 14:29:33 +0000 (01:29 +1100)]
Fix depth-eyedropper crashing outside 3d view

Also set the eyedropper operators as internal.

4 years agoUse line curve for cavity mask instead of sharp as default when no curve
Antony Riakiotakis [Wed, 11 Feb 2015 14:27:50 +0000 (15:27 +0100)]
Use line curve for cavity mask instead of sharp as default when no curve
is found during loading

4 years agoCavity option active even in fill brushes
Antony Riakiotakis [Wed, 11 Feb 2015 14:09:11 +0000 (15:09 +0100)]
Cavity option active even in fill brushes

4 years agoCavity masking - add curve control to cavity mask and move relevant
Antony Riakiotakis [Wed, 11 Feb 2015 14:07:04 +0000 (15:07 +0100)]
Cavity masking - add curve control to cavity mask and move relevant
structs to paint struct (might be useful for vertex paint too in the

Cavity masking now has a curve control. The control will set the amount
of masking for positive cavity ("pointness") or negative cavity
("cavity") with x axis being the amount of cavity and 0.0 = full cavity,
1.0 = full pointness, 0.5 = no cavity and the y axis being the amount of

4 years agoFix T43621: Layout only using 65% of available width
Julian Eisel [Wed, 11 Feb 2015 13:32:49 +0000 (14:32 +0100)]
Fix T43621: Layout only using 65% of available width

Not really a bug, more like a silly typo.

4 years agoCompositor: Expose Alpha socket for multilayer EXR node
Sergey Sharybin [Wed, 11 Feb 2015 13:26:42 +0000 (18:26 +0500)]
Compositor: Expose Alpha socket for multilayer EXR node

This way re-mapping scene nodes to EXR files becomes much easier,
no extra trickery with separate RGBA setups is needed.

Plus makes it more consistent with regular EXR files.

This uses EGBA pass to get alpha from.

4 years agoFix T43628: Circular dependency error preventing multiple highpoly objects to bake
Dalai Felinto [Wed, 11 Feb 2015 13:23:03 +0000 (11:23 -0200)]
Fix T43628: Circular dependency error preventing multiple highpoly objects to bake

Throwing an RPT_ERROR was stopping baking after the first object.

4 years agoMinor code cleanup: move some duplicated texpaint code into function
Nicholas Bishop [Wed, 11 Feb 2015 12:33:47 +0000 (13:33 +0100)]
Minor code cleanup: move some duplicated texpaint code into function

Reviewers: psy-fi

Reviewed By: psy-fi

Differential Revision:

4 years agoUV Island support for vertex & edge slide
Campbell Barton [Wed, 11 Feb 2015 08:40:54 +0000 (19:40 +1100)]
UV Island support for vertex & edge slide

This ensures slide with `Correct UVs` enabled, keeps UV's (any loop custom-data) contiguous.

Adds 2 key functions `BM_vert_loop_groups_data_layer_create` and `BM_vert_loop_groups_data_layer_merge`

They work by collecting matching loop custom-data around the vertices loop-fan,
and merging the custom-data after edits are made.

Thanks to @mont29 for review!

4 years agoCleanup: Remove unused Cycles cpuid code.
Thomas Dinges [Wed, 11 Feb 2015 10:28:42 +0000 (11:28 +0100)]
Cleanup: Remove unused Cycles cpuid code.

4 years agoFix crasher in own UIList bookmarks commit.
Bastien Montagne [Wed, 11 Feb 2015 10:16:32 +0000 (11:16 +0100)]
Fix crasher in own UIList bookmarks commit.

Immediate crash in merged asset-experiments branch, no idea why it did not show in master too?

4 years agocleanup: style/indentation
Campbell Barton [Wed, 11 Feb 2015 07:38:41 +0000 (18:38 +1100)]
cleanup: style/indentation

4 years agoFix T43149: Grease Pencil fill areas look divided by multiples ray lines
Joshua Leung [Wed, 11 Feb 2015 04:54:14 +0000 (17:54 +1300)]
Fix T43149: Grease Pencil fill areas look divided by multiples ray lines

The problem here was caused by the usage of GL_POLYGON_SMOOTH (thanks Campbell
for the help tracking this down!). Apparently the issue is that this option
ends up doing some nasty accumulation with whatever is in the framebuffer for
each *tesselated* polygon (instead of the whole polygon as intended/expected).

With the removal of this option, filled areas and volumetric strokes will now
have jagged edges again. To resolve these artifacts, it is necessary to enable
Viewport Multisampling (found in the User Preferences, under the System tab),
and restart Blender to see the effects of this change.

4 years agoMinor optimization for mask modifier
Campbell Barton [Tue, 10 Feb 2015 23:34:34 +0000 (10:34 +1100)]
Minor optimization for mask modifier

- don't resize ghash buckets (reserve maximum size)
- get vert, edge arrays instead of DM getVert, getEdge
- calloc -> malloc

4 years agoFileBrowser: Editable Bookmarks.
Bastien Montagne [Tue, 10 Feb 2015 23:09:45 +0000 (00:09 +0100)]
FileBrowser: Editable Bookmarks.

Bookmarks are now editable (i.e. you can rename them, and reorder them).
They are also listed in regular UILists, so you can filter/sort them as usual too.

Also, FileBrowser 'T' side area is changed to something similar to 3DView one,
in this case because we need op panel to remain at the bottom, and later because
we'll more than likely need tabs here!

Thanks to Campbell and Sergey for reviews.

Differential Revision:

4 years agoUI: add optional tip callback to uiBut, and use it for per-item tooltips in UIList.
Bastien Montagne [Tue, 10 Feb 2015 23:06:03 +0000 (00:06 +0100)]
UI: add optional tip callback to uiBut, and use it for per-item tooltips in UIList.

When defined, uiBut->tip_func is called when button's tip is generated. This allows
for advanced, dynamic generation of tooltips.

For now, only used by UIList, which can now optionaly use a given string property
of each item for its tooltip.

Thanks to Campbell for the reviews!

4 years agoFix T43297 The Exporter assumed ANSII encoding but we need to support UTF-8 instead
Gaia Clary [Tue, 10 Feb 2015 21:12:47 +0000 (22:12 +0100)]
Fix T43297 The Exporter assumed ANSII encoding but we need to support UTF-8 instead

4 years agoCycles: Control CPU capabilities via environment variables
Sergey Sharybin [Tue, 10 Feb 2015 20:55:35 +0000 (01:55 +0500)]
Cycles: Control CPU capabilities via environment variables

Purely developers-only feature which allows to disable some of the CPU
capabilities. This way it's easier to test different kernels on the
same machine.

4 years agoRemove legacy color transform functions.
Troy Sobotka [Tue, 10 Feb 2015 20:33:00 +0000 (21:33 +0100)]
Remove legacy color transform functions.

Differential Revision:

4 years agoFix recent vert-slide UV's when cancelled
Campbell Barton [Tue, 10 Feb 2015 20:22:19 +0000 (07:22 +1100)]
Fix recent vert-slide UV's when cancelled

Added support recently, but wasn't cancelling correctly.

4 years agoFix T43565: BGE removed unneeded if/else in BL_KetsjiEmbedStart
Sybren A. Stüvel [Tue, 10 Feb 2015 20:28:18 +0000 (21:28 +0100)]
Fix T43565: BGE removed unneeded if/else in BL_KetsjiEmbedStart

4 years agoTypo fix + clarification in mathutils.Vector example
Sybren A. Stüvel [Tue, 10 Feb 2015 20:25:01 +0000 (21:25 +0100)]
Typo fix + clarification in mathutils.Vector example

4 years agoCycles: Fallback to bottom-top tile order when rendering from the command line
Sergey Sharybin [Tue, 10 Feb 2015 20:02:36 +0000 (01:02 +0500)]
Cycles: Fallback to bottom-top tile order when rendering from the command line

In the worst case it'll do nothing, in the best case it might give some percent
of speedup because of better cache coherency.

Currently it's all handled as an override on blender_python level, don't really
see reason to penetrate the boolean flag further into sync code. This can always
be done later if needed.

4 years agoCavity mask support for texture painting.
Antony Riakiotakis [Tue, 10 Feb 2015 19:22:25 +0000 (20:22 +0100)]
Cavity mask support for texture painting.

Title says it all, options can be found in the options panel,

A slider controls the amount of cavity masking that is applied while
it's also possible to invert the mask and paint outside or inside

Again we might greatly benefit from caching of the cavity result, but
that should only affect startup time for the stroke.

4 years agoCycles: Add print functions for sse3f, sse3i and sse3b
Sergey Sharybin [Tue, 10 Feb 2015 19:20:34 +0000 (00:20 +0500)]
Cycles: Add print functions for sse3f, sse3i and sse3b

4 years agoCycles: Add utility functions to print ssef, ssei and sseb
Sergey Sharybin [Tue, 10 Feb 2015 19:11:04 +0000 (00:11 +0500)]
Cycles: Add utility functions to print ssef, ssei and sseb

Nothing special, just really handy for debugging.

4 years agoCycles: Move mesh attribute creation into separate functions
Sergey Sharybin [Tue, 10 Feb 2015 18:40:26 +0000 (23:40 +0500)]
Cycles: Move mesh attribute creation into separate functions

This makes overall code of create_mesh() much cleaner and easier to follow.

4 years agoBLI_linklist: Add a new helper to move an item (identified by its current index)...
Bastien Montagne [Tue, 10 Feb 2015 16:28:55 +0000 (17:28 +0100)]
BLI_linklist: Add a new helper to move an item (identified by its current index) to a new position in the list.

4 years agoSlip tool: add enter and space to confirm the operation
Antony Riakiotakis [Tue, 10 Feb 2015 16:39:23 +0000 (17:39 +0100)]
Slip tool: add enter and space to confirm the operation

4 years agoCycles: optimize one normalization out from the previous commit
Sergey Sharybin [Tue, 10 Feb 2015 16:32:44 +0000 (21:32 +0500)]
Cycles: optimize one normalization out from the previous commit

4 years agoCycles: implement pointiness geometry attribute
Sergey Sharybin [Fri, 6 Feb 2015 07:35:46 +0000 (12:35 +0500)]
Cycles: implement pointiness geometry attribute

This attribute means how "pointy" the geometry surface is, which allows to do
effects like dirt maps and wear-off effects on render geometry. This means the
attribute is calculated for the final mesh which means no baking (which implies
UV unwrap) is needed. Apart from this the behavior is quite close to how vertex
dirty colors works.

The new attribute is available as an output socket of Geometry node.

There's no penalty for the render time, only some delay on scene preparation
(the delay is linear of the mesh complexity).

Reviewers: brecht, juicyfruit

Subscribers: eyecandy, venomgfx

Differential Revision:

4 years agoTests: Disable failing import/export tests for until they're fixed
Sergey Sharybin [Tue, 10 Feb 2015 14:29:18 +0000 (19:29 +0500)]
Tests: Disable failing import/export tests for until they're fixed

4 years agoCycles: Bring back distance check in re-intersection
Sergey Sharybin [Tue, 10 Feb 2015 14:07:55 +0000 (19:07 +0500)]
Cycles: Bring back distance check in re-intersection

From more investigation of the numeric failures in the kernel it appears
the check was rather correct. But in theory it;s also needed for the motion

4 years agoCycles: Correction to glossy shaders not handling total internal reflection
Sergey Sharybin [Tue, 10 Feb 2015 13:20:36 +0000 (18:20 +0500)]
Cycles: Correction to glossy shaders not handling total internal reflection

The issue was caused by lack of check for whether fresnel term is actually
giving total internal reflection in refraction BSDFs. This lead to usage of
arbitrary vector of (0, 0, 0) as reflection, giving numeric issues in other
areas of the kernel.

This gives some visual changes of sharp reflection but it seems to be rather
proper now. Which also corresponds with rough glossy reflection with sharpness
set to 0.001 (previously it was totally different from sharpness of 0.0, which
is just weird).

4 years agoFix T43596: Refraction BSDF crashes blender on pre-sse4 CPU
Sergey Sharybin [Tue, 10 Feb 2015 12:31:55 +0000 (17:31 +0500)]
Fix T43596: Refraction BSDF crashes blender on pre-sse4 CPU

This is the same issue T43475: SSE4 code is more robust to non-finite values
in the ray origin/direction. So for now added a check before doing BVH traversal
for pre-SSE4 CPUs.

For sure actual root of the issue is a bit different and much more tricky to
solve, especially without disturbing render results too much. Still looking
into this.

In any case, it's kinda fine to have such a check, we might later make it to be
a kernel_assert() instead of just a return.

4 years agoFix grease-pencil crash without clip/track data
Campbell Barton [Tue, 10 Feb 2015 12:34:16 +0000 (23:34 +1100)]
Fix grease-pencil crash without clip/track data

4 years agoUI: scale timeline cache-height by DPI/pixelsize
Campbell Barton [Tue, 10 Feb 2015 11:33:52 +0000 (22:33 +1100)]
UI: scale timeline cache-height by DPI/pixelsize

D602 by @blakenator with edits