7 years agoCycles / OSL: Add a new procedural texture template, Lyapunov fractals.
Thomas Dinges [Mon, 6 Jan 2014 01:39:18 +0000 (02:39 +0100)]
Cycles / OSL: Add a new procedural texture template, Lyapunov fractals.

Based on a patch by Sylvio Sell, OSL port by myself.
Task and example renders:

7 years agoText3d: avoid assert, clamp position before getting the selection
Campbell Barton [Sun, 5 Jan 2014 16:27:34 +0000 (03:27 +1100)]
Text3d: avoid assert, clamp position before getting the selection

7 years agoUI: pin icon was ignoring DPI
Campbell Barton [Sun, 5 Jan 2014 16:10:15 +0000 (03:10 +1100)]
UI: pin icon was ignoring DPI

7 years agoUI: Use shift+lmb for toggling panel pinning (not to conflict with MMB emulation)
Campbell Barton [Sun, 5 Jan 2014 16:00:54 +0000 (03:00 +1100)]
UI: Use shift+lmb for toggling panel pinning (not to conflict with MMB emulation)

7 years agoFix own error in recent changes curve text storage,
Campbell Barton [Sun, 5 Jan 2014 15:40:17 +0000 (02:40 +1100)]
Fix own error in recent changes curve text storage,

Setting via rna crashed.

7 years agoText3d: font family dupli-objects now follow rotation of the curve path
Campbell Barton [Sun, 5 Jan 2014 15:05:14 +0000 (02:05 +1100)]
Text3d: font family dupli-objects now follow rotation of the curve path

7 years agoText3d: minor edits to the API, remove BKE_vfont_to_curve_nubase_ex
Campbell Barton [Sun, 5 Jan 2014 14:48:25 +0000 (01:48 +1100)]
Text3d: minor edits to the API, remove BKE_vfont_to_curve_nubase_ex

7 years agoText3d: fix font family feature for unicode and correct tooltip
Campbell Barton [Sun, 5 Jan 2014 14:33:45 +0000 (01:33 +1100)]
Text3d: fix font family feature for unicode and correct tooltip

7 years agoText3d: paste additions
Campbell Barton [Sun, 5 Jan 2014 13:36:09 +0000 (00:36 +1100)]
Text3d: paste additions
- Add paste from system clipboard which behaves like paste from file.
- Paste from file now replaces the selection rather then just adding to the end.
- Move paste operations into the 'Edit' menu.
- Added generic paste functions: font_paste_wchar, font_paste_utf8.
- Fix paste max length check not taking the selection length into account.

7 years agoCode cleanup: fix type in malloc id string
Sergey Sharybin [Sun, 5 Jan 2014 11:13:18 +0000 (17:13 +0600)]
Code cleanup: fix type in malloc id string

7 years agoFix memory leak caused by main library split
Sergey Sharybin [Sun, 5 Jan 2014 11:12:45 +0000 (17:12 +0600)]
Fix memory leak caused by main library split

Evaluation Context wasn't freed for temporary mains.

7 years agoFix crash when having multiple text objects sharing the same curve datablock
Sergey Sharybin [Sun, 5 Jan 2014 11:04:52 +0000 (17:04 +0600)]
Fix crash when having multiple text objects sharing the same curve datablock

Issue was caused by BKE_vfont_to_curve() modifying curve->nurbs list which
gave threading issues.

Now added BKE_vfont_to_curve_nubase() which operates on a given nurbs list
base which is local in do_makeDispListCurveTypes().

By the looks of it it wouldn't give speed regression because previously it
also was creating nurbs for every font object sharing the same curve data.

7 years agoCode cleanup: preprocessor indentation inside #ifdef block
Sergey Sharybin [Sun, 5 Jan 2014 10:00:54 +0000 (16:00 +0600)]
Code cleanup: preprocessor indentation inside #ifdef block

7 years agoText3d: selection in editmode now follows rotated text along path
Campbell Barton [Sun, 5 Jan 2014 11:12:21 +0000 (22:12 +1100)]
Text3d: selection in editmode now follows rotated text along path

7 years agoText3d: fix for smallcaps modifying the original text input in editmode.
Campbell Barton [Sun, 5 Jan 2014 09:52:31 +0000 (20:52 +1100)]
Text3d: fix for smallcaps modifying the original text input in editmode.

Oversight in own recent commit to avoid allocating a new wchar_t array.

7 years agoText3d: smallcaps wasnt working properly for text-on-path
Campbell Barton [Sun, 5 Jan 2014 09:50:15 +0000 (20:50 +1100)]
Text3d: smallcaps wasnt working properly for text-on-path

7 years agoText3d: remove sepchar, old feature which no longer has any UI access.
Campbell Barton [Sun, 5 Jan 2014 09:15:39 +0000 (20:15 +1100)]
Text3d: remove sepchar, old feature which no longer has any UI access.

7 years agoText3d: error in own recent fix for thread safety
Campbell Barton [Sun, 5 Jan 2014 09:00:03 +0000 (20:00 +1100)]
Text3d: error in own recent fix for thread safety

7 years agoFix T38024 crash when rebuilding sculpt mode buffers.
Antony Riakiotakis [Sun, 5 Jan 2014 02:58:27 +0000 (04:58 +0200)]
Fix T38024 crash when rebuilding sculpt mode buffers.

Main issue here is that glBuf* calls were invoked from threads different than
main thread. This caused a crash (since those do not have a GL context active).

Fix here is twofold:
* add an ID buffer in buffer pool that handles pbvh buffers and is freed
from main thread when gpu_buffer_pool_free_unused is called.

* do not create glbuffers in derivedmesh creation routine, rather tag nodes
for update and create those in the draw function
(guaranteed to be called from main thread)

Reviewed By: brecht

Differential Revision:

7 years agoMore tweaks to clip middle:
Bastien Montagne [Sat, 4 Jan 2014 15:50:42 +0000 (16:50 +0100)]
More tweaks to clip middle:
* Do not apply margins with MENU (i.e. dropdowns) either.
* When middle clipping would remove only a few chars, rather clip right part!

7 years agoFix core issue with clipping labels (labels have no margins, so border should be...
Bastien Montagne [Sat, 4 Jan 2014 13:47:20 +0000 (14:47 +0100)]
Fix core issue with clipping labels (labels have no margins, so border should be 0 in this case!).

7 years agoText API: make text.current_line_index writable
Campbell Barton [Sat, 4 Jan 2014 14:24:10 +0000 (01:24 +1100)]
Text API: make text.current_line_index writable

use for setting the text position when writing system info.

7 years agoRevert "Quick fix for system info text always being scrolled out of view when loaded...
Campbell Barton [Sat, 4 Jan 2014 14:12:48 +0000 (01:12 +1100)]
Revert "Quick fix for system info text always being scrolled out of view when loaded for the first time"

This can be done without extending the API, using RNA access instead.

7 years agoFix for previous commit...sorry!
Antony Riakiotakis [Sat, 4 Jan 2014 11:47:40 +0000 (13:47 +0200)]
Fix for previous commit...sorry!

7 years agoFix MinGW32 compilation
Antony Riakiotakis [Sat, 4 Jan 2014 11:22:19 +0000 (13:22 +0200)]
Fix MinGW32 compilation

7 years agoQuick fix for system info text always being scrolled out of view when loaded for...
Joshua Leung [Sat, 4 Jan 2014 12:24:29 +0000 (01:24 +1300)]
Quick fix for system info text always being scrolled out of view when loaded for the first time

Added an API method to Text datablocks for moving the cursor to a specific line in the
file. This makes it possible to reset the cursor position at the end of the sysinfo

7 years agoUI / 3D Toolbar: Animation panel had a too large gap at the top.
Thomas Dinges [Sat, 4 Jan 2014 12:03:46 +0000 (13:03 +0100)]
UI / 3D Toolbar: Animation panel had a too large gap at the top.

7 years agoRNA API: use bool's for enum itemf callbacks.
Campbell Barton [Sat, 4 Jan 2014 07:08:43 +0000 (18:08 +1100)]
RNA API: use bool's for enum itemf callbacks.

7 years agoUI: Use bool rather then int/short's where possible
Campbell Barton [Sat, 4 Jan 2014 06:16:19 +0000 (17:16 +1100)]
UI: Use bool rather then int/short's where possible

7 years agoMesh Bisect: add header info message for modal operation
Brecht Van Lommel [Sat, 4 Jan 2014 04:41:58 +0000 (05:41 +0100)]
Mesh Bisect: add header info message for modal operation

Fixes T37700

Reviewed By: brecht

Differential Revision:

7 years agoUnits: Add milligrams for mass
Sergej Reich [Sat, 4 Jan 2014 03:10:55 +0000 (04:10 +0100)]
Units: Add milligrams for mass

Avoids having small values displayed as "0kg".

7 years agoRevert "Units: Make grams base unit for mass"
Sergej Reich [Sat, 4 Jan 2014 03:09:11 +0000 (04:09 +0100)]
Revert "Units: Make grams base unit for mass"

This reverts commit ead6d397fda12d8287dff7d6a6fff6ea1948cd69.

7 years agoRigidbody: Code cleanup
Sergej Reich [Tue, 31 Dec 2013 17:46:00 +0000 (18:46 +0100)]
Rigidbody: Code cleanup

Convert int to bool.

7 years agoUI: Fix issue where tab text was too small and closely spaced
Campbell Barton [Sat, 4 Jan 2014 02:55:40 +0000 (13:55 +1100)]
UI: Fix issue where tab text was too small and closely spaced

7 years agoCMake: cleanup and add include
Campbell Barton [Sat, 4 Jan 2014 02:13:29 +0000 (13:13 +1100)]
CMake: cleanup and add include

7 years agoCMake: fix for OpenEXRConfig.h not being found on some Linux systems
Campbell Barton [Sat, 4 Jan 2014 02:12:45 +0000 (13:12 +1100)]
CMake: fix for OpenEXRConfig.h not being found on some Linux systems

7 years agoCode Cleanup: use cmake case matching other find modules
Campbell Barton [Sat, 4 Jan 2014 01:46:18 +0000 (12:46 +1100)]
Code Cleanup: use cmake case matching other find modules

7 years agoKDTree: ensure balance runs before usage (in debug mode)
Campbell Barton [Fri, 3 Jan 2014 14:56:02 +0000 (01:56 +1100)]
KDTree: ensure balance runs before usage (in debug mode)

7 years agoAdd "Basic" and "Options" tabs for Mesh Edit Mode.
Jonathan Williamson [Fri, 3 Jan 2014 22:21:52 +0000 (16:21 -0600)]
Add "Basic" and "Options" tabs for Mesh Edit Mode.

This creates the initial two tabs for Edit Mode to makes the new toolbar tabs usable. Further toolbar organization is to follow, but this at least makes the features work with the current organization.

7 years agoAdd missing separator between Group: and Parent:
Jonathan Williamson [Fri, 3 Jan 2014 21:13:07 +0000 (15:13 -0600)]
Add missing separator between Group: and Parent:

7 years agoRename "Objects" to "Group:" and separate parent operators into "Parent:" section.
Jonathan Williamson [Fri, 3 Jan 2014 21:11:43 +0000 (15:11 -0600)]
Rename "Objects" to "Group:" and separate parent operators into "Parent:" section.

This also shortens the naming for the operators since they're now under clear labels.

7 years agoRename Add to Group and Remove from Group operators in the toolbar.
Jonathan Williamson [Fri, 3 Jan 2014 21:08:33 +0000 (15:08 -0600)]
Rename Add to Group and Remove from Group operators in the toolbar.

The default operator names are too long and rather "obtuse" to use @Billrey's words.

7 years agoFix formatting on section names in the Relations tab.
Jonathan Williamson [Fri, 3 Jan 2014 21:02:24 +0000 (15:02 -0600)]
Fix formatting on section names in the Relations tab.

7 years agoRename "Object" to "Operations" in the 3D View Toolbar Basic tab.
Jonathan Williamson [Fri, 3 Jan 2014 20:58:59 +0000 (14:58 -0600)]
Rename "Object" to "Operations" in the 3D View Toolbar Basic tab.

This makes the naming less confusing, since all of the tools apply to objects.

7 years agoFix alignment of Grease Pencil options.
Jonathan Williamson [Fri, 3 Jan 2014 20:56:57 +0000 (14:56 -0600)]
Fix alignment of Grease Pencil options.

7 years agoRemove individual panels for primitive objects, adding only primary ones.
Jonathan Williamson [Fri, 3 Jan 2014 20:55:05 +0000 (14:55 -0600)]
Remove individual panels for primitive objects, adding only primary ones.

This makes for a much cleaner panel with a lot less wasted space. Thanks DingTo for the suggestions.

7 years agoCleanup the Grease Pencil panel of the 3D View Toolbar.
Jonathan Williamson [Fri, 3 Jan 2014 03:44:41 +0000 (21:44 -0600)]
Cleanup the Grease Pencil panel of the 3D View Toolbar.

This makes the panel slightly cleaner, giving more separation between the distinct elements. It also adds a new "Measure" label, so that the Ruler/Protractor is not so closely "related" to the Grease Pencil.

7 years agoAdd Undo/Redo and Undo History to the History tab of the 3D View Toolbar
Jonathan Williamson [Fri, 3 Jan 2014 03:40:06 +0000 (21:40 -0600)]
Add Undo/Redo and Undo History to the History tab of the 3D View Toolbar

7 years agoAdd "Bake Action" to Animation tab of 3D View Toolbar.
Jonathan Williamson [Fri, 3 Jan 2014 03:31:28 +0000 (21:31 -0600)]
Add "Bake Action" to Animation tab of 3D View Toolbar.

This is based on the rationale here, in order to begin giving a more complete set of animation tools to the toolbar:

7 years agoAdding Relations category to 3D View Toolbar.
Jonathan Williamson [Fri, 3 Jan 2014 03:27:15 +0000 (21:27 -0600)]
Adding Relations category to 3D View Toolbar.

This creates the tab for relations in the toolbar. This tab includes those operators that relate to objects relationships with other objects and data.

7 years agoAdding remaining object categories to the Create tab of the 3D View Toolbar.
Jonathan Williamson [Thu, 2 Jan 2014 23:27:37 +0000 (17:27 -0600)]
Adding remaining object categories to the Create tab of the 3D View Toolbar.

This adds the remaining object categories to the Create tab, including Nurb Surfaces, Lamps, Meta objects, etc. I've also updated the labeling for the various buttons to be consistent with one another.

7 years agoAdd "Add Curve" buttons to 3D View Toolbar
Jonathan Williamson [Tue, 31 Dec 2013 19:29:17 +0000 (13:29 -0600)]
Add "Add Curve" buttons to 3D View Toolbar

This creates a series of buttons in the 3D View toolbar to add new curve objects to the scene. This new panel is categorized under the Create tab.

7 years agoAdd Mesh buttons for 3D View Toolbar
Jonathan Williamson [Tue, 31 Dec 2013 19:24:40 +0000 (13:24 -0600)]
Add Mesh buttons for 3D View Toolbar

This adds buttons in the 3D View toolbar to add new mesh objects to the scene. These buttons are added via the Create tab/category, soon to be populated with other object types as well.

A panel is added for both Object mode and Edit mode so as to not display in incorrect context (such as Pose Mode).

7 years agoBasic Tab for Object Mode 3D View Toolbar
Jonathan Williamson [Tue, 31 Dec 2013 18:53:06 +0000 (12:53 -0600)]
Basic Tab for Object Mode 3D View Toolbar

This updates the organization and naming of the Basic tab for the 3D View toolbar. It reorganizes the tools that were already there and adds Mirror and Duplicate Linked object operators.

7 years agoObject Mode Toolbar Tabs
Jonathan Williamson [Sun, 22 Dec 2013 23:13:29 +0000 (17:13 -0600)]
Object Mode Toolbar Tabs

Here are the initial tabs for the 3D View Object Mode toolbar. This is based on the discussions between myself and @billrey in T37569

P.S. apologies for the duplicate. The first one I mistakenly sent to the Edit Mode task, T37568. I have corrected it and also made a couple changes, per @campbellbarton's request.

Reviewers: campbellbarton

CC: campbellbarton, brecht, billrey
Maniphest Tasks: T37569

Differential Revision:

7 years agoChanged percentage and 0-1 number fields to use sliders. This is more consistent.
William Reynish [Thu, 2 Jan 2014 19:54:24 +0000 (20:54 +0100)]
Changed percentage and 0-1 number fields to use sliders. This is more consistent.

Reviewed by Brecht van Lommel, Thomas Dinges and Jonathan Williamson

7 years agoFix gcc compile error in last commit.
Brecht Van Lommel [Fri, 3 Jan 2014 18:24:55 +0000 (19:24 +0100)]
Fix gcc compile error in last commit.

7 years agoFix cycles OSL volume render crash with multiple closures.
Brecht Van Lommel [Fri, 3 Jan 2014 17:57:07 +0000 (18:57 +0100)]
Fix cycles OSL volume render crash with multiple closures.

7 years agoCode refactor: move random number and MIS variables into PathState.
Brecht Van Lommel [Fri, 3 Jan 2014 01:48:48 +0000 (02:48 +0100)]
Code refactor: move random number and MIS variables into PathState.

This makes it easier to pass this state around, and wraps some common RNG
dimension computations in utility functions.

7 years agoFix crash when trying to reset color space to default value
Sergey Sharybin [Fri, 3 Jan 2014 17:11:25 +0000 (23:11 +0600)]
Fix crash when trying to reset color space to default value

7 years agoFix T38045: Clone stamp crashes
Sergey Sharybin [Fri, 3 Jan 2014 17:00:53 +0000 (23:00 +0600)]
Fix T38045: Clone stamp crashes

Issue seems to be caused by thread-unsafe IMB_freeImBuf.
Now use generic BKE_image_release_ibuf to de-reference
image buffer which was acquired from image datablock.

7 years agoFix T38043: Text clipping when it shouldn't
Bastien Montagne [Fri, 3 Jan 2014 14:47:59 +0000 (15:47 +0100)]
Fix T38043: Text clipping when it shouldn't

Tweak some more 'middle clipping' (zoom issues).

7 years agoCode clean-up change naming of gpu buffers used by pbvh to better
Antony Riakiotakis [Thu, 2 Jan 2014 20:22:36 +0000 (22:22 +0200)]
Code clean-up change naming of gpu buffers used by pbvh to better
reflect that. Previous name GPU_Buffers was very similar to GPU_Buffer,
renamed to GPU_PBVH_Buffers

7 years agoCode Cleanup: use bool for bmesh operator boolean mapping functions
Campbell Barton [Fri, 3 Jan 2014 10:35:29 +0000 (21:35 +1100)]
Code Cleanup: use bool for bmesh operator boolean mapping functions

7 years agoCode Cleanup: WIN32 defines, check for _MSC_VER instead of !FREE_WINDOWS
Campbell Barton [Fri, 3 Jan 2014 09:46:12 +0000 (20:46 +1100)]
Code Cleanup: WIN32 defines, check for _MSC_VER instead of !FREE_WINDOWS

7 years agoCode Cleanup: remove strlen() and unneeded include in recent commit
Campbell Barton [Fri, 3 Jan 2014 08:31:52 +0000 (19:31 +1100)]
Code Cleanup: remove strlen() and unneeded include in recent commit

also fix for incorrect sizeof() use.

7 years agoText3d: store number of characters and utf8 length separately
Campbell Barton [Fri, 3 Jan 2014 06:04:42 +0000 (17:04 +1100)]
Text3d: store number of characters and utf8 length separately

EditFont's use of Curve.len was very confusing, in editmode it
represented the number of characters, in object mode the number of
bytes. add Curve.len_wchar and keep track of both.

Also don't convert the editmode text into utf8 on every keystroke.
Now this is done on exiting editmode or save - to match most other
object types.

This also fixes curves 'body_format' being reported with an invalid size.

7 years agoText3d: avoid converting utf8 to wchar_t in editmode
Campbell Barton [Fri, 3 Jan 2014 03:18:06 +0000 (14:18 +1100)]
Text3d: avoid converting utf8 to wchar_t in editmode

7 years agoFix T38032, typo in Python API documentation.
Thomas Dinges [Fri, 3 Jan 2014 01:28:21 +0000 (02:28 +0100)]
Fix T38032, typo in Python API documentation.

7 years agoUI: Tooltip fix for the Particle Template ID.
Andrew Buttery [Fri, 3 Jan 2014 01:14:32 +0000 (02:14 +0100)]
UI: Tooltip fix for the Particle Template ID.

Reviewed By: brecht, dingto
Differential Revision:

7 years agoFix :I broke the build for MSVC 2008 this fixes it
Martijn Berger [Thu, 2 Jan 2014 22:32:44 +0000 (23:32 +0100)]
Fix :I broke the build for MSVC 2008 this fixes it

7 years agoFix T37987: MSVC 2013 has C99 headers and warns for out define hypot _hypot for good...
Martijn Berger [Thu, 2 Jan 2014 21:19:10 +0000 (22:19 +0100)]
Fix T37987: MSVC 2013 has C99 headers and warns for out define hypot _hypot for good reason it seems

7 years agoFix T38033: cycles volume emission changes with step size.
Brecht Van Lommel [Thu, 2 Jan 2014 20:33:04 +0000 (21:33 +0100)]
Fix T38033: cycles volume emission changes with step size.

7 years agoFix T37056: Making segment flips curves it's not needed
Sergey Sharybin [Thu, 2 Jan 2014 19:44:46 +0000 (01:44 +0600)]
Fix T37056: Making segment flips curves it's not needed

Made the system around splines order a bit smarter, so
crating a segment between two splines wouldn't switch
direction if splines are selected in a way that they're

It is possible to make things even smarter using active
point and so, but that i'd consider a TODO.

7 years agoBring back edit curve add menu
Sergey Sharybin [Thu, 2 Jan 2014 19:34:35 +0000 (01:34 +0600)]
Bring back edit curve add menu

It was wrongly considered unused in rB5fdfa6d47542db32426ac080f071a1fd751e05a7

7 years agoFix T37170: Missing curve outline when using constructive modifiers
Sergey Sharybin [Thu, 2 Jan 2014 16:59:21 +0000 (22:59 +0600)]
Fix T37170: Missing curve outline when using constructive modifiers

Issue was caused by wrong bool flag assignment.

7 years agoFix T38004: size of Waveform, Vectorscope and Histogram is incorrect in VSE
Sergey Sharybin [Thu, 2 Jan 2014 11:57:01 +0000 (17:57 +0600)]
Fix T38004: size of Waveform, Vectorscope and Histogram is incorrect in VSE

Made it so scopes image buffer is displayed without any additional scale
applied on them,

Further tweaks are possible here, but that i'd consider a TODO.

7 years agoFix T38002: crash selecting a view mode for "Preview" in Sequence Editor
Sergey Sharybin [Thu, 2 Jan 2014 11:43:47 +0000 (17:43 +0600)]
Fix T38002: crash selecting a view mode for "Preview" in Sequence Editor

7 years agoAdd back - and / shortcuts in modal numinput (as other 'special' keys, you have to...
Bastien Montagne [Thu, 2 Jan 2014 10:58:19 +0000 (11:58 +0100)]
Add back - and / shortcuts in modal numinput (as other 'special' keys, you have to use ctrl to activate them)...

7 years agoFix "Flipped" drawn in edgeslide header text even when Even is disabled.
Bastien Montagne [Thu, 2 Jan 2014 08:46:23 +0000 (09:46 +0100)]
Fix "Flipped" drawn in edgeslide header text even when Even is disabled.

7 years agoFix T38019: Edge/Vertex Slide recognises Even and Flipped as if they were numerical...
Bastien Montagne [Thu, 2 Jan 2014 08:33:59 +0000 (09:33 +0100)]
Fix T38019: Edge/Vertex Slide recognises Even and Flipped as if they were numerical values

Further tweaked/simplified events handling in transform code, hope this time it works OK...

7 years agoCode cleanup: remove patch series from libmv
Sergey Sharybin [Thu, 2 Jan 2014 09:22:28 +0000 (15:22 +0600)]
Code cleanup: remove patch series from libmv

Since we're using own libmv branch from
we don't need to have local patches for libmv in blender
source tree.

7 years agoCode and style cleanup
Sergey Sharybin [Thu, 2 Jan 2014 09:14:47 +0000 (15:14 +0600)]
Code and style cleanup

Mainly fixed some style warnings reported by cpplint.

Also changed how camera (un)distortion happens internally
by replacing number of channels as a template argument
with number as channels passing as function argument.
Makes code easier to follow by eliminating loads checks
how much channels are used and which argument to pass to
the template.

7 years agoFix T38025: Key-framing lattice points fails
Joshua Leung [Wed, 1 Jan 2014 23:37:00 +0000 (12:37 +1300)]
Fix T38025: Key-framing lattice points fails

Clarified the tooltip/description on the property to make it
clear that it shouldn't be edited, and that LatticePoint.co_deform should be
used instead.

7 years agoAdd new BGE Stereo mode: 3DTV top-bottom.
Benoit Bolsee [Wed, 1 Jan 2014 23:26:15 +0000 (00:26 +0100)]
Add new BGE Stereo mode: 3DTV top-bottom.
This mode is designed for passive 3D TV: the viewport is split
horizontally - left eye above, right eye below - but the original camera
viewport is squashed in each half (with half the vertical resolution).
This is necessary to restore the aspect ratio in the 3D output because the TV expands each half to the full screen size.

7 years agoCode cleanup: use bool flag for direction in clip prefetch
Sergey Sharybin [Wed, 1 Jan 2014 17:23:12 +0000 (23:23 +0600)]
Code cleanup: use bool flag for direction in clip prefetch

That was nothing really wrong with the old short used for
direction, but that became kinda annoying because of compiler
idiocy which considered direction might have been zero.

Using explicit dual-state flag is more clear anyway.

7 years agoCode cleanup: line wraps and file names in doxy comments
Sergey Sharybin [Wed, 1 Jan 2014 16:45:59 +0000 (22:45 +0600)]
Code cleanup: line wraps and file names in doxy comments

7 years agoFix crash happening in Cycles fcurve modifier
Sergey Sharybin [Sun, 29 Dec 2013 13:15:37 +0000 (19:15 +0600)]
Fix crash happening in Cycles fcurve modifier

Crash was happening because of fcurve modifier stack
used modifier's DNA to store temporary data.

Now made it so storage for such a thing is being
allocated locally per object update so multiple objects
which shares the same animation wouldn't run into
threading conflict anymore.

This storage might be a part of EvaluationContext,
but that'd mean passing this context all over in
object_where_is which will clutter API for now without
actual benefit for this.

Optimization notes: storage is only being allocated
if there're Cycles modifier in the stack, so there're
no extra allocations happening in all other cases.

To make code a bit less cluttered with this storage
passing all over the place added extra callbacks to
the FModifier storage which runs evaluation with the
given storage.

Reviewers: brecht, campbellbarton, aligorith

CC: plasmasolutions
Differential Revision:

7 years agoRe-bundle libmv from new upstream repository
Sergey Sharybin [Mon, 30 Dec 2013 13:03:13 +0000 (19:03 +0600)]
Re-bundle libmv from new upstream repository

No functional changes, just to make sure all the patches
are ported nicely and that update scripts works fine.

7 years agoSplit tracking.c into several files
Sergey Sharybin [Mon, 30 Dec 2013 11:03:59 +0000 (17:03 +0600)]
Split tracking.c into several files

File tracking.c became rather huge and annoying to
maintain and it really contains several independent
areas of motrack pipeline.

Now we've got:

* tracking.c: general-purpose functions which are used
  by blender, clip editor, RNA and so.

* tracking_detect.c: feature detection functions
  (blender-side, logic is still in libmv).

* tracking_plane_tracker.c: blender-side 2D tracking logic.

* tracking_plane_tracker.c: plane track tracker.

* tracking_solver.c: functions for camera solving.

* tracking_stabilize.c: 2D stabilization functions.

* tracking_util.c: utility functions for all those files
  and which shouldn't be public.

7 years agoUpdate Ceres to the latest upstream
Sergey Sharybin [Sun, 29 Dec 2013 10:59:15 +0000 (16:59 +0600)]
Update Ceres to the latest upstream

This brings up much easier termination type usage,
which for us means we might use:


instead of doing manual funky enum values check.

Reviewers: keir

Differential Revision:

7 years agoFix deadlock happening when using Save Buffers for render
Sergey Sharybin [Wed, 1 Jan 2014 10:59:38 +0000 (16:59 +0600)]
Fix deadlock happening when using Save Buffers for render

Issue was caused by the same tile being written twice to
the EXR file. This was happening because of partial update
of work-in-progress tiles was merging result to the final
render result in order to make color management pipeline

We need to avoid such a merges and keep memory usage as
low as possible when Save Buffers is enabled.

Now render pipeline will allocate special display buffer
in render layer which will contain combined pass in the
display space. This keeps memory usage as low as we can
do at this moment.

There's one weak thing which is changing color management
settings during rendering would lead to lossy conversion.
This is because render result's display buffer uses color
space from the time when rendering was invoked.

This is actually what was happening in previous release
already actually so not a big issue.

Reviewers: brecht

Reviewed By: brecht

Differential Revision:

7 years agoFix wrongly shorten labels in splash (allocated size was a bit too small, rB3c6b5b72a...
Bastien Montagne [Wed, 1 Jan 2014 15:04:52 +0000 (16:04 +0100)]
Fix wrongly shorten labels in splash (allocated size was a bit too small, rB3c6b5b72a497).

7 years agoFix T38013: Incorrect RNA Path when trying to keyframe the nth vertex of Bezier...
Joshua Leung [Wed, 1 Jan 2014 11:28:02 +0000 (00:28 +1300)]
Fix  T38013: Incorrect RNA Path when trying to keyframe the nth vertex of Bezier curve shape key data

key->elemsize is set to 16 for ID_CU (i.e. Curves and NURBS surfaces). However,
this value is only correct for NURBS (which use BPoints). When trying to keyframe
the nth vertex of a particular shape key's data (where the shape keys are being
used on Bezier curves), the RNA Paths for that are generated with the wrong
data index. From empirical testing, it appears that this should be 12 instead.

7 years agoFix T38008: Bug in templates
Bastien Montagne [Wed, 1 Jan 2014 11:02:43 +0000 (12:02 +0100)]
Fix T38008: Bug in templates

7 years agoAdd a new "shortening process" for UI string drawing, which keeps both right and...
Bastien Montagne [Wed, 1 Jan 2014 10:18:27 +0000 (11:18 +0100)]
Add a new "shortening process" for UI string drawing, which keeps both right and left parts
of the drawstr and replaces the middle by '...'

It's usually easier to figure out what a troncated string means if you have both its start and end parts.

It currently affects all UI items (text fields, buttons, labels...).
Only exceptions are buttons inside menus, text fields & co being edited, and numbuttons/sliders.
Note that some static texts (like panels' titles or items in outliner) do not use usual UI items,
and just draw the whole text, using OpenGL to clip it. Will make another patch to fix this.

Reviewers: campbellbarton, brecht, carter2422, #user_interface

Reviewed by: brecht, carter2422

CC: billrey
Differential Revision:

7 years agoFix T37965, loop multicut confirmation not happening when numeric input
Antony Riakiotakis [Wed, 1 Jan 2014 04:17:57 +0000 (06:17 +0200)]
Fix T37965, loop multicut confirmation not happening when numeric input
is used. When numerical input was active confirmation events were not
getting handled.

Code here seems a bit duplicated, it may be possible to simplify it, but
leaving it slightly bloated for now.

7 years agoClean up Zoom Style section of Input Preferences
Jonathan Williamson [Wed, 1 Jan 2014 00:53:12 +0000 (18:53 -0600)]
Clean up Zoom Style section of Input Preferences

This removes some grouping labels and improves option names to make them self explanatory and consistent with one another.


7 years agoAlign Author field and label horizontally
Jonathan Williamson [Wed, 1 Jan 2014 00:12:51 +0000 (18:12 -0600)]
Align Author field and label horizontally

This aligns the User Preferences > File > Author field and label horizontally, saving space and making it more consistent with author text fields within the same section.

7 years agoImprove readability of System panel of User Preferences
Jonathan Williamson [Wed, 1 Jan 2014 00:09:20 +0000 (18:09 -0600)]
Improve readability of System panel of User Preferences

This commit adjusts the spacing of the items in User Preferences > System. The spacing is adjusted via separators between each section of options. This better differentiates between groups of options. It also removes a few extra separators for more consistency.