6 years agoGPencil Drawing: Enable polygon smoothing
Joshua Leung [Mon, 1 Dec 2014 23:51:55 +0000 (12:51 +1300)]
GPencil Drawing: Enable polygon smoothing

This helps to reduce jaggies from thin lines, while also resulting in nicer
lines elsewhere.

I'm not sure if it's just me, but it seems to render slightly differently to
before for 3d strokes too (i.e. they seem a bit softer). Hopefully the
difference isn't big enough to affect/degrade the art style of any projects.

6 years agoFix rare crash dragging number-buttons
Campbell Barton [Mon, 1 Dec 2014 22:30:54 +0000 (23:30 +0100)]
Fix rare crash dragging number-buttons

Could happen dragging shape-keys UIList & the lower slider at once.

6 years agoUI messages: Minor typo fix.
Bastien Montagne [Mon, 1 Dec 2014 21:25:54 +0000 (22:25 +0100)]
UI messages: Minor typo fix.

6 years agoCollada Importer: Separated finding bone chains and fixing leaf bone orientations...
Gaia Clary [Mon, 1 Dec 2014 19:31:42 +0000 (20:31 +0100)]
Collada Importer: Separated finding bone chains and fixing leaf bone orientations into 2 functions and added a separated import option

6 years agoFix for potential bug in paint brush RNA updates, was casting to wrong
Lukas Tönne [Mon, 1 Dec 2014 18:54:19 +0000 (19:54 +0100)]
Fix for potential bug in paint brush RNA updates, was casting to wrong
DNA type.

The update function is for the Paint struct, containing a Brush pointer
property, not Brush itself. Probably went fine so far because was only
used for a notifier pointer, but still ...

6 years agoPython: add 'render_write' callback
Campbell Barton [Mon, 1 Dec 2014 17:27:45 +0000 (18:27 +0100)]
Python: add 'render_write' callback

This is useful for addons which intend to write data next to the rendered image/movie,
but not for preview renders.

6 years agoCleanup: more int->bool.
Bastien Montagne [Mon, 1 Dec 2014 16:11:18 +0000 (17:11 +0100)]
Cleanup: more int->bool.

6 years agoCleanup: hopefully last int->bool one in this area!
Bastien Montagne [Mon, 1 Dec 2014 13:33:38 +0000 (14:33 +0100)]
Cleanup: hopefully last int->bool one in this area!

6 years agoCMake: Warning re: editing windows/py extraction
Campbell Barton [Mon, 1 Dec 2014 15:24:18 +0000 (16:24 +0100)]
CMake: Warning re: editing windows/py extraction

6 years agoDim down default (no) material for cycles so it matches default material
Antony Riakiotakis [Mon, 1 Dec 2014 15:20:48 +0000 (16:20 +0100)]
Dim down default (no) material for cycles so it matches default material
in blender internal

6 years agoFix T42588: Absolute paths not cleaned on win32
Campbell Barton [Mon, 1 Dec 2014 15:01:08 +0000 (16:01 +0100)]
Fix T42588: Absolute paths not cleaned on win32

Making paths absolute would leave in "\..\" part on windows.

6 years agoCMake: fix for msvc (take2)
Campbell Barton [Mon, 1 Dec 2014 14:36:35 +0000 (15:36 +0100)]
CMake: fix for msvc (take2)

6 years agoCleanup: warnings
Campbell Barton [Mon, 1 Dec 2014 13:54:00 +0000 (14:54 +0100)]
Cleanup: warnings

6 years agoCMake: fix for MSVC, installing Python
Campbell Barton [Mon, 1 Dec 2014 13:53:12 +0000 (14:53 +0100)]
CMake: fix for MSVC, installing Python

6 years agoUI: auto-run error could push buttons off the visible header
Campbell Barton [Mon, 1 Dec 2014 09:59:53 +0000 (10:59 +0100)]
UI: auto-run error could push buttons off the visible header

6 years agoFix: Strokes in image editor can finally be drawn using "fancy" 2D stroke tesslation
Joshua Leung [Mon, 1 Dec 2014 12:18:46 +0000 (01:18 +1300)]
Fix: Strokes in image editor can finally be drawn using "fancy" 2D stroke tesslation

Inspired by the previous commit, I've finally found a way to fix a long standing
limitation/bug which meant that Grease Pencil strokes in the Image Editor could
not be drawn using the fancy stroke tesselation code, and were instead done using
the plain old OpenGL strokes instead.

6 years agoFix: Volumetric strokes now draw correctly in the Image Editor
Joshua Leung [Mon, 1 Dec 2014 12:03:10 +0000 (01:03 +1300)]
Fix: Volumetric strokes now draw correctly in the Image Editor

This needed a correction factor (currently hardcoded to be 1 / 1000)
as it seems that the image editor uses 1 unit as its MAXIMUM dimension
whereas everything else uses 1 unit = 1 pixel.

6 years agoFix: Forgot to set fill colour when drawing 2D filled strokes
Joshua Leung [Mon, 1 Dec 2014 11:44:14 +0000 (00:44 +1300)]
Fix: Forgot to set fill colour when drawing 2D filled strokes

6 years agoFix: Changing Grease Pencil datablocks updates the view
Joshua Leung [Mon, 1 Dec 2014 11:37:00 +0000 (00:37 +1300)]
Fix: Changing Grease Pencil datablocks updates the view

6 years agoImproved Collada Armature Import
Gaia Clary [Sat, 29 Nov 2014 12:24:26 +0000 (13:24 +0100)]
Improved Collada Armature Import

Collada does not support Bone length. It has only Joints.
This patch tries to improve the necessary "guesswork" for
importing Rigs.

Differential Revision:

6 years agoRe-enabling keymappings for straight line and poly drawing
Joshua Leung [Sun, 30 Nov 2014 23:37:20 +0000 (12:37 +1300)]
Re-enabling keymappings for straight line and poly drawing

These are no longer blocked by the pie hotkeys, so they shouldn't be a problem

6 years agoBugfix T42763: In GPencil Edit Strokes: Proportional edit mode hidden when there...
Joshua Leung [Sun, 30 Nov 2014 23:36:05 +0000 (12:36 +1300)]
Bugfix T42763: In GPencil Edit Strokes: Proportional edit mode hidden when there is no active object in scene

6 years agoFix T42426. Add support for UK "`" key.
Alexandr Kuznetsov [Sun, 30 Nov 2014 19:44:53 +0000 (14:44 -0500)]
Fix T42426. Add support for UK "`" key.

Because key == OEM_8, there no clear conversion for different keyboard layouts.
Also, we must map key to GhostKey for shortcuts.

6 years agoFixed T35128. Progress bar sync on Windows.
Alexandr Kuznetsov [Sun, 30 Nov 2014 17:52:44 +0000 (12:52 -0500)]
Fixed T35128. Progress bar sync on Windows.

Apply for all windows instead of active, otherwise progress doesn't update.

6 years agoCleanup: warnings & space
Campbell Barton [Sun, 30 Nov 2014 18:28:59 +0000 (19:28 +0100)]
Cleanup: warnings & space

6 years agoMore fixes related to D&D:
Bastien Montagne [Sun, 30 Nov 2014 16:18:03 +0000 (17:18 +0100)]
More fixes related to D&D:

* Same issue as T42760 was also reproducible in some cases in 3DView.
* You got an error message about missing RNA prop in some drop-called operators.
* You could not drop a movie file in nodes, (some cases of) 3DView, nor ImageEditor.

6 years agoFix T42760: Drag-to-add feature fails in a case.
Bastien Montagne [Sun, 30 Nov 2014 14:05:03 +0000 (15:05 +0100)]
Fix T42760: Drag-to-add feature fails in a case.

We have to unset 'name' when we set 'filepath', and vice-versa.

6 years agoMinor tweaks to quick palettes to avoid conflicts
Joshua Leung [Sun, 30 Nov 2014 13:48:45 +0000 (02:48 +1300)]
Minor tweaks to quick palettes to avoid conflicts

For now, let's move the GPencil pies to avoid conflicts with dyntopo and other things
* DQ = Main pie (previously Ctrl-D; DD was too unpredictable)
* DW = Settings pie

6 years agoTypo fix for comment
Joshua Leung [Sun, 30 Nov 2014 13:33:23 +0000 (02:33 +1300)]
Typo fix for comment

6 years agoCleanup: tag unused args as such.
Bastien Montagne [Sun, 30 Nov 2014 13:39:11 +0000 (14:39 +0100)]
Cleanup: tag unused args as such.

6 years agoFix for wrong RNA type causing asserts to fail in debug mode
Joshua Leung [Sun, 30 Nov 2014 13:28:41 +0000 (02:28 +1300)]
Fix for wrong RNA type causing asserts to fail in debug mode

6 years agoRemoving last vestigial remains of old C-based UI for Grease Pencil
Joshua Leung [Sun, 30 Nov 2014 13:24:55 +0000 (02:24 +1300)]
Removing last vestigial remains of old C-based UI for Grease Pencil

I'd kept the code around in the codebase until after the merge back to master
to avoid having too many conflicts if things changed there (or in case we
needed to roll back). Now, it's safe to jettison this!

6 years agoGrease Pencil - Storyboarding Features (merge from GPencil_EditStrokes branch)
Joshua Leung [Sun, 30 Nov 2014 12:52:06 +0000 (01:52 +1300)]
Grease Pencil - Storyboarding Features (merge from GPencil_EditStrokes branch)

This merge-commit brings in a number of new features and workflow/UI improvements for
working with Grease Pencil. While these were originally targetted at improving
the workflow for creating 3D storyboards in Blender using the Grease Pencil,
many of these changes should also prove useful in other workflows too.

The main highlights here are:
1) It is now possible to edit Grease Pencil strokes
   - Use D Tab, or toggle the "Enable Editing" toggles in the Toolbar/Properties regions
     to enter "Stroke Edit Mode". In this mode, many common editing tools will
     operate on Grease Pencil stroke points instead.
   - Tools implemented include Select, Select All/Border/Circle/Linked/More/Less,
     Grab, Rotate, Scale, Bend, Shear, To Sphere, Mirror, Duplicate, Delete.
   - Proportional Editing works when using the transform tools

2) Grease Pencil stroke settings can now be animated
   NOTE: Currently drivers don't work, but if time allows, this may still be
         added before the release.

3) Strokes can be drawn with "filled" interiors, using a separate set of
   colour/opacity settings to the ones used for the lines themselves.

   This makes use of OpenGL filled polys, which has the limitation of only
   being able to fill convex shapes. Some artifacts may be visible on concave
   shapes (e.g. pacman's mouth will be overdrawn)

4) "Volumetric Strokes" - An alternative drawing technique for stroke drawing
   has been added which draws strokes as a series of screen-aligned discs.

   While this was originally a partial experimental technique at getting better
   quality 3D lines, the effects possible using this technique were interesting
   enough to warrant making this a dedicated feature. Best results when partial
   opacity and large stroke widths are used.

5) Improved Onion Skinning Support
   - Different colours can be selected for the before/after ghosts. To do so,
     enable the "colour wheel" toggle beside the Onion Skinning toggle, and set
     the colours accordingly.
   - Different numbers of ghosts can be shown before/after the current frame

6) Grease Pencil datablocks are now attached to the scene by default instead of
   the active object.
   - For a long time, the object-attachment has proved to be quite problematic
     for users to keep track of. Now that this is done at scene level, it is
     easier for most users to use.
   - An exception for old files (and for any addons which may benefit from object
     attachment instead), is that if the active object has a Grease Pencil datablock,
     that will be used instead.
   - It is not currently possible to choose object-attachment from the UI, but
     it is simple to do this from the console instead, by doing:
     context.active_object.grease_pencil =["blah"]

7) Various UI Cleanups
   - The layers UI has been cleaned up to use a list instead of the nested-panels
     design. Apart from saving space, this is also much nicer to look at now.

   - The UI code is now all defined in Python. To support this, it has been necessary
     to add some new context properties to make it easier to access these settings.
     e.g. "gpencil_data" for the datablock
          "active_gpencil_layer" and "active_gpencil_frame" for active data,
          "editable_gpencil_strokes" for the strokes that can be edited

   - The "stroke placement/alignment" settings (previously "Drawing Settings" at the
     bottom of the Grease Pencil panel in the Properties Region) is now located in
     the toolbar. These were more toolsettings than properties for how GPencil got drawn.

   - "Use Sketching Sessions" has been renamed "Continuous Drawing", as per a
     suggestion for an earlier discussion on

   - By default, the painting operator will wait for a mouse button to be pressed
     before it starts creating the stroke. This is to make it easier to include
     this operator in various toolbars/menus/etc.   To get it immediately starting
     (as when you hold down DKEy to draw), set "wait_for_input" to False.

   - GPencil Layers can be rearranged in the "Grease Pencil" mode of the Action Editor

   - Toolbar panels have been added to all the other editors which support these.

8) Pie menus for quick-access to tools
   A set of experimental pie menus has been included for quick access to many
   tools and settings. It is not necessary to use these to get things done,
   but they have been designed to help make certain common tasks easier.

   - Ctrl-D = The main pie menu. Reveals tools in a context sensitive and
              spatially stable manner.
   - D Q    = "Quick Settings" pie. This allows quick access to the active
              layer's settings. Notably, colours, thickness, and turning
              onion skinning on/off.

6 years agoCorrect includes for win32
Campbell Barton [Sat, 29 Nov 2014 18:12:33 +0000 (19:12 +0100)]
Correct includes for win32

6 years agoCleanup: use const, avoid float -> double in matrix invert
Campbell Barton [Sat, 29 Nov 2014 16:49:38 +0000 (17:49 +0100)]
Cleanup: use const, avoid float -> double in matrix invert

6 years agoFollowup for the previous commit
Sergey Sharybin [Sat, 29 Nov 2014 12:52:02 +0000 (17:52 +0500)]
Followup for the previous commit

Don't have collada here, so need to use buildbot to test,,

6 years agoAttempt to fix collada compilation after recent cleanup
Sergey Sharybin [Sat, 29 Nov 2014 12:47:08 +0000 (17:47 +0500)]
Attempt to fix collada compilation after recent cleanup

This one call really smart script to check unused headers, huh? ;)

6 years agoCompile Fix: BKE_mesh.h is needed for the BKE_MESH_OMP_LIMIT define
Joshua Leung [Fri, 28 Nov 2014 23:17:24 +0000 (12:17 +1300)]
Compile Fix: BKE_mesh.h is needed for the BKE_MESH_OMP_LIMIT define

6 years agoCleanup: unused headers
Campbell Barton [Fri, 28 Nov 2014 22:12:12 +0000 (23:12 +0100)]
Cleanup: unused headers

6 years agoCleanup: unused headers
Campbell Barton [Fri, 28 Nov 2014 21:16:14 +0000 (22:16 +0100)]
Cleanup: unused headers

6 years agoCleanup: unused headers
Campbell Barton [Fri, 28 Nov 2014 14:50:43 +0000 (15:50 +0100)]
Cleanup: unused headers

6 years agoDelete GPU buffers if preference changes.
Antony Riakiotakis [Fri, 28 Nov 2014 14:15:19 +0000 (15:15 +0100)]
Delete GPU buffers if preference changes.

6 years agoCleanup GPU: get rid of some extremely legacy draw code.
Antony Riakiotakis [Fri, 28 Nov 2014 13:38:18 +0000 (14:38 +0100)]
Cleanup GPU: get rid of some extremely legacy draw code.

Basically this commit gets rid of most of the derived mesh immediate mode
drawing (cases such as subsurf excluded). Even when VBO is turned off
in user preferences, we still use vertex arrays, which are very similar to
VBOs but memory is client side. Vertex arrays are OpenGL 1.1 so compatibility
is not an issue here.

Reviewers: campbellbarton, sergey, jwilkins

Differential Revision:

6 years agoMaterial not set in edit derived meshes after last material modification
Antony Riakiotakis [Fri, 28 Nov 2014 13:29:56 +0000 (14:29 +0100)]
Material not set in edit derived meshes after last material modification

6 years agoFix for previous commit (forgot to update rev UID, sorry).
Bastien Montagne [Fri, 28 Nov 2014 12:00:00 +0000 (13:00 +0100)]
Fix for previous commit (forgot to update rev UID, sorry).

6 years agoInstall_deps: switch to OSL 1.5.11 (ammended with blender-fixes).
Bastien Montagne [Fri, 28 Nov 2014 11:43:24 +0000 (12:43 +0100)]
Install_deps: switch to OSL 1.5.11 (ammended with blender-fixes).

6 years agoCycles: Only report exporting curves if there are particle systems on the object
Sergey Sharybin [Fri, 28 Nov 2014 11:13:00 +0000 (16:13 +0500)]
Cycles: Only report exporting curves if there are particle systems on the object

6 years agoCycles: Code cleanup, remove dead code
Sergey Sharybin [Thu, 27 Nov 2014 15:48:51 +0000 (20:48 +0500)]
Cycles: Code cleanup, remove dead code

6 years agoFix graph editor rename button resetting focus when escaping from it.
Antony Riakiotakis [Fri, 28 Nov 2014 10:38:59 +0000 (11:38 +0100)]
Fix graph editor rename button resetting focus when escaping from it.
This is a copy of what the outliner does and seems to work.

6 years agoCleanup: duplicate headers
Campbell Barton [Thu, 27 Nov 2014 22:24:13 +0000 (23:24 +0100)]
Cleanup: duplicate headers

6 years agoPartial Fix T42652: Transform falloff for mesh islands
Campbell Barton [Thu, 27 Nov 2014 20:37:42 +0000 (21:37 +0100)]
Partial Fix T42652: Transform falloff for mesh islands

This doesn't currently do anything clever when a single vertex is shared by multiple islands
(uses closest only).

6 years agoAddition/correction to previous commit:
Antony Riakiotakis [Thu, 27 Nov 2014 19:12:46 +0000 (20:12 +0100)]
Addition/correction to previous commit:

subsurf needs the same modifications in its derived mesh function or
materials don't get updated at all anymore.

6 years agoFix T42653, solidify modifier not displaying correctly under edit mode.
Antony Riakiotakis [Thu, 27 Nov 2014 18:12:48 +0000 (19:12 +0100)]
Fix T42653, solidify modifier not displaying correctly under edit mode.

Basically, our drawing code assumed we always use the edit mesh
materials, which can be different from the derived mesh
materials in modifiers doing overrides. We usually we want to use the
derived mesh when it is available instead.

There are two fixes here for both solid and textured mode. Unfortunately
the fixes do not help to make the display code less labyrinthian but I
expect this "should work" (tm and famous last words)

Solid mode fix is 95% from Bastien, thanks!

6 years agoTransform: fix for fcurve transform crash
Campbell Barton [Thu, 27 Nov 2014 18:10:30 +0000 (19:10 +0100)]
Transform: fix for fcurve transform crash

counting handles was out of sync, now use exact same logic.

6 years agoTransform: correct flag -> bool
Campbell Barton [Thu, 27 Nov 2014 17:53:36 +0000 (18:53 +0100)]
Transform: correct flag -> bool

6 years agoFix own commit: broke add background image
Campbell Barton [Thu, 27 Nov 2014 10:15:43 +0000 (11:15 +0100)]
Fix own commit: broke add background image

6 years agoAPI Docs: remove hardcoded self from shellscript
Campbell Barton [Wed, 26 Nov 2014 19:23:27 +0000 (20:23 +0100)]
API Docs: remove hardcoded self from shellscript

6 years agoFix for walk navigation not working with stereo camera (multiview)
Dalai Felinto [Tue, 25 Nov 2014 23:45:42 +0000 (21:45 -0200)]
Fix for walk navigation not working with stereo camera (multiview)

Reviewers: campbellbarton

Differential Revision:

6 years agoDo not use mipmapping on envmaps, can cause discontinuities on
Antony Riakiotakis [Wed, 26 Nov 2014 18:19:25 +0000 (19:19 +0100)]
Do not use mipmapping on envmaps, can cause discontinuities on
environmental mapping when crossing the seam boundary.

Also output our favourite magenda on missing texture.

6 years agoFix GLSL drawing of math absolute node.
Antony Riakiotakis [Wed, 26 Nov 2014 14:46:03 +0000 (15:46 +0100)]
Fix GLSL drawing of math absolute node.

Patch by Romanov Alexander of blen4web team!

Differential: D842

Thanks for the patch!

6 years agocmake/windows Change python installation so it does not trigger on simple rebuilds
Martijn Berger [Wed, 26 Nov 2014 14:08:40 +0000 (15:08 +0100)]
cmake/windows Change python installation so it does not trigger on simple rebuilds

6 years agoFreestyle: Fix for view map caching not flashed properly in view port rendering.
Tamito Kajiyama [Sat, 4 Oct 2014 15:29:09 +0000 (00:29 +0900)]
Freestyle: Fix for view map caching not flashed properly in view port rendering.

6 years agoWorld background working on cycle nodes.
Antony Riakiotakis [Mon, 24 Nov 2014 16:18:56 +0000 (17:18 +0100)]
World background working on cycle nodes.

This is added in the spirit of the general cycles GLSL system
which is pretty much WIP still.

This will only work on cycles at the moment but generating for blender
internal is possible too of course though it will be done in a separate

This hasn't been tested with all and every node in cycles, but
environment and regular textures with texture coordinates work.

There is some difference between the way cycles treats some coordinates,
which is in world space and the way GLSL treats them, which is in view
We might want to explore and improve this further in the future.

...also </drumroll>

6 years agoCMake: correct own error using undefined var
Campbell Barton [Wed, 26 Nov 2014 12:24:56 +0000 (13:24 +0100)]
CMake: correct own error using undefined var

6 years agoFix T42420: Touchpad zoom and scroll gester using touchpad stopped working
Sergey Sharybin [Wed, 26 Nov 2014 11:46:01 +0000 (16:46 +0500)]
Fix T42420: Touchpad zoom and scroll gester using touchpad stopped working

Seems to be an own mistake on using Windows API.

6 years agocleanup: style & tips
Campbell Barton [Wed, 26 Nov 2014 09:44:06 +0000 (10:44 +0100)]
cleanup: style & tips

6 years agoBLI_bitmap: add allocation from a MemArena.
Bastien Montagne [Tue, 25 Nov 2014 20:09:13 +0000 (21:09 +0100)]
BLI_bitmap: add allocation from a MemArena.

6 years agoMinor UI message fix.
Bastien Montagne [Tue, 25 Nov 2014 19:42:39 +0000 (20:42 +0100)]
Minor UI message fix.

6 years agoMake sure world redraws correctly when we tweak the world properties
Antony Riakiotakis [Tue, 25 Nov 2014 18:30:57 +0000 (19:30 +0100)]
Make sure world redraws correctly when we tweak the world properties

6 years agoFix framebuffer completeness being broken after last framebuffer cleanup
Antony Riakiotakis [Tue, 25 Nov 2014 15:16:50 +0000 (16:16 +0100)]
Fix framebuffer completeness being broken after last framebuffer cleanup

Basically, we don't set a draw buffer until draw time comes. Also add
explicit validation function to validate after all textures have been
attached (could be done automatically at bind time too probably, but
left out for now)

6 years agoDraw world background in offscreen OpenGL renders when. Use forced
Antony Riakiotakis [Mon, 24 Nov 2014 22:03:48 +0000 (23:03 +0100)]
Draw world background in offscreen OpenGL renders when. Use forced
rendering in that case, not user preference also set alpha to 1.0
(transparent drawing just clears to zero)

6 years agoAudaspace: File handle management for audio sequencing
Jörg Müller [Mon, 24 Nov 2014 21:45:31 +0000 (10:45 +1300)]
Audaspace: File handle management for audio sequencing

Fixes the problem that for big sequences too many file handles were open at the same time.

Changes the playback handles that the audio sequencing code manages to be closed and reopened when needed. The metric used is the current playback position in relation to the strip. If the strip is more than 10 seconds (configurable) away from the playback cursor, the handle is released and reopened when needed.

See D915.

6 years agoFreestyle: Py-Hooks for custom pre/post-processing line style
Tamito Kajiyama [Mon, 24 Nov 2014 21:41:34 +0000 (22:41 +0100)]
Freestyle: Py-Hooks for custom pre/post-processing line style

Patch D839, needed for SVG-render to be made into an addon.

6 years agoSeparate sequence extension drawing routine so it can be reused (as part
Antony Riakiotakis [Mon, 24 Nov 2014 20:11:05 +0000 (21:11 +0100)]
Separate sequence extension drawing routine so it can be reused (as part
of an option or for tools)

6 years agoUI: avoid property lookup for uiItemMenuEnumR
Campbell Barton [Mon, 24 Nov 2014 20:03:00 +0000 (21:03 +0100)]
UI: avoid property lookup for uiItemMenuEnumR

6 years agoPolitically correct terrible consequencer changes
Antony Riakiotakis [Mon, 24 Nov 2014 17:18:35 +0000 (18:18 +0100)]
Politically correct terrible consequencer changes

This patch includes the work done in the terrible consequencer branch
that hasn't been merged to master minus a few controversial and WIP
stuff, like strip parenting, new sequence data structs and cuddly

What is included:

* Strip extensions only when slipping. It can very easily be made an
option but with a few strips with overlapping durations it makes view
too crowded and difficult to make out.
* Threaded waveform loading + code that restores waveforms on undo (not
used though, since sound_load recreates everything. There's a patch for
review D876)
* Toggle to enable backdrop in the strip sequence editor
* Toggle to easily turn on/off waveform display
* Snapping during transform on sequence boundaries. Snapping to start or
end of selection depends on position of mouse when invoking the operator
* Snapping of timeline indicator in sequencer to strip boundaries. To
use just press and hold ctrl while dragging.

Reviewers: campbellbarton

Differential Revision:

6 years agoFix T42710: Use string length for ID user buttons
Severin [Mon, 24 Nov 2014 16:24:07 +0000 (17:24 +0100)]
Fix T42710: Use string length for ID user buttons

6 years agoCycles: Speedup BVH build for certain compilers
Sergey Sharybin [Mon, 24 Nov 2014 12:18:02 +0000 (17:18 +0500)]
Cycles: Speedup BVH build for certain compilers

The issue was noticed with gcc-4.7 (used by the release build environment)
which didn't generate optimal enough code for BVH references swap. Seems it
looked up for the assign operator for each of the reference structure members
even though nothing special was required for assignment.

Forcing compiler to use simple memory copy gives speedup of like 2-3 times.

The issue doesn't happen with OSX's clang and new gcc-4.9, but since we're
gonna to stick to gcc-4.7 for official releases for quite some time still it's
nice to have performance issues resolved for all the compilers.

Didn't put the code into #ifdef so if in the future some issues appears with
alignment or assignment which need to happen as an operator we notice this

6 years agoCycles: Log time spent on the BVH build
Sergey Sharybin [Mon, 24 Nov 2014 10:08:13 +0000 (15:08 +0500)]
Cycles: Log time spent on the BVH build

6 years agoTypo fix (not related to previous drumroll)
Antony Riakiotakis [Mon, 24 Nov 2014 13:48:20 +0000 (14:48 +0100)]
Typo fix (not related to previous drumroll)

6 years agoAllow explicit control over world background.
Antony Riakiotakis [Mon, 24 Nov 2014 13:29:09 +0000 (14:29 +0100)]
Allow explicit control over world background.

Previosuly, world was shown on the background if "Render Only" was used.
Now user should be able to set it independently. This is a prelude to

6 years agoBLI_utildefines: add UNUSED_VARS() macro
Campbell Barton [Mon, 24 Nov 2014 11:01:51 +0000 (12:01 +0100)]
BLI_utildefines: add UNUSED_VARS() macro

6 years agoFix button to add simple UVs not getting removed after pressing it once.
Antony Riakiotakis [Mon, 24 Nov 2014 09:42:14 +0000 (10:42 +0100)]
Fix button to add simple UVs not getting removed after pressing it once.

6 years agoSCons: correct include for win, also minor cleanup
Campbell Barton [Mon, 24 Nov 2014 08:33:12 +0000 (09:33 +0100)]
SCons: correct include for win, also minor cleanup

6 years agoSCons: correct includes after recent refactor
Campbell Barton [Sun, 23 Nov 2014 23:47:32 +0000 (00:47 +0100)]
SCons: correct includes after recent refactor

6 years agoFix T42618: Lock to view + autokey bug
Campbell Barton [Sun, 23 Nov 2014 23:27:50 +0000 (00:27 +0100)]
Fix T42618: Lock to view + autokey bug

in fact support for this combination wasn't added at all.

6 years agoCleanup: de-duplicate image drag & drop logic
Campbell Barton [Sun, 23 Nov 2014 21:48:48 +0000 (22:48 +0100)]
Cleanup: de-duplicate image drag & drop logic

also don't make library paths relative on image load.

6 years agoMinor edits to T42649 fix
Campbell Barton [Sun, 23 Nov 2014 21:00:26 +0000 (22:00 +0100)]
Minor edits to T42649 fix

- only modify paths for newly loaded images
- don't attempt to read from library paths

6 years agoFix BLI_Bitmap - was not usable in BKE area (strict compile flags).
Bastien Montagne [Sun, 23 Nov 2014 19:51:08 +0000 (20:51 +0100)]
Fix BLI_Bitmap - was not usable in BKE area (strict compile flags).

6 years agoFix freestyle compile.
Bastien Montagne [Sun, 23 Nov 2014 19:49:34 +0000 (20:49 +0100)]
Fix freestyle compile.

Do not know why this shows up now, probably a recent tweak in BLI_utildefines.h or so...

6 years agoFix T42649: Use Relative Paths for Node Editor & 3D View Images
julianeisel [Sun, 23 Nov 2014 18:38:27 +0000 (19:38 +0100)]
Fix T42649: Use Relative Paths for Node Editor & 3D View Images

Images are now added with relative paths to the Node Editor and the 3D View.

6 years agoRefactor: BLI_path_util (part 2)
Campbell Barton [Sun, 23 Nov 2014 14:54:29 +0000 (15:54 +0100)]
Refactor: BLI_path_util (part 2)

Use BKE_appdir/tempdir naming prefix for functions extracted from BLI_path_util

6 years agoRefactor: BLI_path_util (split out app directory access)
Campbell Barton [Sun, 23 Nov 2014 13:37:13 +0000 (14:37 +0100)]
Refactor: BLI_path_util (split out app directory access)

This module is intended for path manipulation functions
but had utility functions added to access various directories.

6 years agoCleanup: warnings
Campbell Barton [Sun, 23 Nov 2014 14:13:58 +0000 (15:13 +0100)]
Cleanup: warnings

6 years agoCycles UI: Several fixes for recent additions...
Thomas Dinges [Sat, 22 Nov 2014 19:21:18 +0000 (20:21 +0100)]
Cycles UI: Several fixes for recent additions...

* Alpha Property was removed (Fix T42690)
* Some tweaks to make the panel look better again.
* Use abreviated form "Multiple Importance" everywhere, for consistency.

6 years agoMath Lib: add constant: M_SQRT1_3 1/sqrt(3)
Campbell Barton [Sat, 22 Nov 2014 17:11:46 +0000 (18:11 +0100)]
Math Lib: add constant: M_SQRT1_3 1/sqrt(3)

6 years agoFix T42688: python crash: bpy.context.scene.update().
Bastien Montagne [Sat, 22 Nov 2014 13:39:53 +0000 (14:39 +0100)]
Fix T42688: python crash: bpy.context.scene.update().

`ED_render_scene_update()` should ensure it does have some WM to work on...

6 years agoBugfix T42549: Grease pencil layers are not scene-specific for "full copy scenes"
Joshua Leung [Sat, 22 Nov 2014 05:04:08 +0000 (18:04 +1300)]
Bugfix T42549: Grease pencil layers are not scene-specific for "full copy scenes"

6 years agoFix for previous commit
Joshua Leung [Sat, 22 Nov 2014 05:03:37 +0000 (18:03 +1300)]
Fix for previous commit

gpencil_data_duplicate() was being used for gp drawing undo buffers, where using an
exact copy is exactly what we want/need. Instead, the code here now has an additional
arg for determining whether a direct copy is warranted or not.

6 years agoBugfix: Duplicating Grease Pencil datablocks wasn't doing so in a safe way
Joshua Leung [Fri, 21 Nov 2014 12:52:28 +0000 (01:52 +1300)]
Bugfix: Duplicating Grease Pencil datablocks wasn't doing so in a safe way

Grease Pencil data (bGPdata) is now a datablock, so it isn't safe to use
MEM_dupallocN() for copying new instances of these anymore.