8 weeks agoFix T64804 crash editing image paint fallof in edit mode
Brecht Van Lommel [Tue, 21 May 2019 14:31:42 +0000 (16:31 +0200)]
Fix T64804 crash editing image paint fallof in edit mode

8 weeks agopython templates: update operator_modal_view3d_raycast to 2.8
Philipp Oeser [Tue, 21 May 2019 13:21:33 +0000 (15:21 +0200)]
python templates: update operator_modal_view3d_raycast to 2.8

Reviewers: JacquesLucke, sergey

Differential Revision:

8 weeks agoFix T64936: Grease Pencil point pressure max value too low
Antonioya [Tue, 21 May 2019 14:35:13 +0000 (16:35 +0200)]
Fix T64936: Grease Pencil point pressure max value too low

The API had an old  limit of 1.0f.

8 weeks agoViewport: MSAA support during ViewportRendering
Jeroen Bakker [Tue, 21 May 2019 08:33:45 +0000 (10:33 +0200)]
Viewport: MSAA support during ViewportRendering

When rendering viewport to an offscreen buffer the buffer was
constructed for non anti aliasing (0 samples). This made the objects
that are drawn by the `object_mode` including `wireframe` draw type

The offscreen buffers will be constructed based on the user setting for
viewport multisampling (`U.ogl_multisamples`). The same setting will
also be used when previewing scene strips in the sequencer. For now
this only improves wireframe drawing in the scene strips. To improve the
Anti aliasing in the scene strips we need to get finer control in the
draw manager. This will be part of a different patch I am preparing.

Please note that this patch also cleansup some unused code in the offscreen rendering (FSAA code was still existing, but never called)

Reviewed By: brecht

Maniphest Tasks: T64849

Differential Revision:

8 weeks agoOffscreenRendering: Fix Incorrect Window Coordinates
Jeroen Bakker [Wed, 15 May 2019 07:47:22 +0000 (09:47 +0200)]
OffscreenRendering: Fix Incorrect Window Coordinates

When doing offscreen rendering (Viewport Render or Sequencer Scene
strip) EEVEE and workbench used the wrong window coordinates. These
coordinates included the border that was not drawn.

Reviewed By: brecht

Maniphest Tasks: T64505

Differential Revision:

8 weeks agoGPencil: Set samples to 10 for Soft brush
Antonioya [Tue, 21 May 2019 13:59:36 +0000 (15:59 +0200)]
GPencil: Set samples to 10 for Soft brush

8 weeks agoGPencil: Set default Fill brush size to 20
Antonioya [Tue, 21 May 2019 13:58:26 +0000 (15:58 +0200)]
GPencil: Set default Fill brush size to 20

8 weeks agoMask: Fix missing remap of active spline/point on copy
Sergey Sharybin [Tue, 21 May 2019 13:45:03 +0000 (15:45 +0200)]
Mask: Fix missing remap of active spline/point on copy

8 weeks agopython templates: update operator_modal_draw to 2.8
Philipp Oeser [Tue, 21 May 2019 11:53:17 +0000 (13:53 +0200)]
python templates: update operator_modal_draw to 2.8

part of T56351

Reviewers: JacquesLucke

Differential Revision:

8 weeks agoFix T64842: crash rendering files with bevel curves
Brecht Van Lommel [Tue, 21 May 2019 12:54:08 +0000 (14:54 +0200)]
Fix T64842: crash rendering files with bevel curves

This is old logic that no longer makes sense in the new depsgraph, and causes
issues when multiple threads try to modify the same bevel object.

Differential Revision:

8 weeks agoCTest: Fix Bli_task_test failing on windows.
Ray Molenkamp [Tue, 21 May 2019 12:51:24 +0000 (06:51 -0600)]
CTest: Fix Bli_task_test failing on windows.

The task_scheduler was not being explicitly freed, leading to
unpredictable behavior when the process was exiting. The test
would pass, but would sometimes segfault at process shutdown.

8 weeks agoCleanup: use term pad instead of padding
Campbell Barton [Tue, 21 May 2019 12:27:09 +0000 (22:27 +1000)]
Cleanup: use term pad instead of padding

- Use min/max instead of bottom/top
  (in keeping with the rest of the BLI_rect API).
- Swap args (was passing in max, min).

8 weeks agoFix T64758: crash loading certain DDS textures
Brecht Van Lommel [Tue, 21 May 2019 11:00:43 +0000 (13:00 +0200)]
Fix T64758: crash loading certain DDS textures

8 weeks agoFix T64421: crash using redraw timer benchmark
Brecht Van Lommel [Tue, 21 May 2019 10:34:54 +0000 (12:34 +0200)]
Fix T64421: crash using redraw timer benchmark

8 weeks agoGraph Editor: view-selected takes scrubbing and marker region into account
Jacques Lucke [Tue, 21 May 2019 09:59:10 +0000 (11:59 +0200)]
Graph Editor: view-selected takes scrubbing and marker region into account

8 weeks agoKeymap: Add additional scrubbing affordance (Alt-LMB)
William Reynish [Tue, 21 May 2019 09:28:46 +0000 (11:28 +0200)]
Keymap: Add additional scrubbing affordance (Alt-LMB)

This adds an additional way to scrub the playhead, by holding Alt and dragging with the left mouse button, in addition to Shift-RMB.

It's easier to do this, especially with pen input. The other method is still kept, in case you have Emulate 3 Button Mouse enabled, in which case Alt-LMB pans the view

And of course, you can still scrub simply by dragging the playhead, without holding any modifier keys.

Right click select is unaffected.

8 weeks agoRemove USE_EVAL_DATA operator flag from Python
Sergey Sharybin [Tue, 21 May 2019 08:56:16 +0000 (10:56 +0200)]
Remove USE_EVAL_DATA operator flag from Python

After new dependency graph API this is no longer needed: all the access
to dependency graph is done explicitly.

Still leaving this flag for C, but that might also be gone in the future.

8 weeks agoFix T64927: bad timeline number spacing with scaled UI
Jacques Lucke [Tue, 21 May 2019 08:57:00 +0000 (10:57 +0200)]
Fix T64927: bad timeline number spacing with scaled UI

8 weeks agoUI: Hide Add Cube from toolbar.
William Reynish [Tue, 21 May 2019 08:56:49 +0000 (10:56 +0200)]
UI: Hide Add Cube from toolbar.

This was still a proof of concept tool needing further development. Hiding this for now.

It can return in future releases with further development.

See for details.

8 weeks agoFix T64763: 'Make Proxy' creates Proxy within linked Collection.
Bastien Montagne [Tue, 21 May 2019 08:31:39 +0000 (10:31 +0200)]
Fix T64763: 'Make Proxy' creates Proxy within linked Collection.

`BKE_collection_object_add_from()` would not check wether collections
were local or not... Trivial to fix.

Note that here I assume we do not use that function in some special
cases where we would like to edit linked datablocks. Think that is
reasonable stance, though.

2 months agoCleanup: rename nr_* to *_len for DNA code
Campbell Barton [Tue, 21 May 2019 07:53:22 +0000 (17:53 +1000)]
Cleanup: rename nr_* to *_len for DNA code

2 months agoCleanup: make DNA_struct_find_nr_ex function more compact
Campbell Barton [Tue, 21 May 2019 07:42:58 +0000 (17:42 +1000)]
Cleanup: make DNA_struct_find_nr_ex function more compact

2 months agoremove greasepencil userdef from image, node, clip and sequencer spaces
Philipp Oeser [Mon, 20 May 2019 10:36:03 +0000 (12:36 +0200)]
remove greasepencil userdef from image, node, clip and sequencer spaces

these are about greasepencil vertices and in these spaces we are not
editing greasepencil objects.

Fixes T64861

Reviewers: antoniov

Maniphest Tasks: T64861

Differential Revision:

2 months agoFix T64867: crash when changin image source to Movie
Philipp Oeser [Mon, 20 May 2019 11:43:25 +0000 (13:43 +0200)]
Fix T64867: crash when changin image source to Movie

thx @Gvgeo for adding the python/RNA case as well.

Reviewers: brecht

Maniphest Tasks: T64867

Differential Revision:

2 months agoFix T64912: Crash right clicking on 'Add New Material'
Campbell Barton [Tue, 21 May 2019 06:57:31 +0000 (16:57 +1000)]
Fix T64912: Crash right clicking on 'Add New Material'

D4904 by @Gvgeo

2 months agoKeymap: Ctrl-Tab toggle pose-mode with 'use_pie_click_drag'
Campbell Barton [Tue, 21 May 2019 06:13:46 +0000 (16:13 +1000)]
Keymap: Ctrl-Tab toggle pose-mode with 'use_pie_click_drag'

This just enables a default key-binding
even when pie menus are used on drag actions.

2 months agoUI: show symmetry popovers next to newly added mirror buttons
Campbell Barton [Tue, 21 May 2019 05:49:36 +0000 (15:49 +1000)]
UI: show symmetry popovers next to newly added mirror buttons

This moves symmetry panels to a small popover
next to the mirror axis buttons.

2 months agoUI: expose mirror/symmetry options int the tob-bar
Campbell Barton [Tue, 21 May 2019 05:04:21 +0000 (15:04 +1000)]
UI: expose mirror/symmetry options int the tob-bar

D4895 by @billreynish with edits.

2 months agoUI: support drawing booleans with icons as check-boxes
Campbell Barton [Tue, 21 May 2019 04:39:09 +0000 (14:39 +1000)]
UI: support drawing booleans with icons as check-boxes

Previously, if a boolean happened to use an icon there was no way
to make it display as a check-box from Python scripts.

The previous logic meant we ended up having to edit the RNA.
Since booleans with icons don't work well with the split-property layout
(now used for most of the interface).
Icons were being removed from RNA then added back using awkward Python
ternary expressions in the interface scripts.

The toggle argument now has an unset state (-1).

- toggle=True: no checkbox (emboss).
- toggle=False: always use a checkbox (no icon).
- toggle=(unset/-1): depends on the icon status, default as before.

Since toggle=False was default, this isn't used in existing UI logic.

2 months agoCleanup: const assignments to simplify code
Campbell Barton [Tue, 21 May 2019 02:30:07 +0000 (12:30 +1000)]
Cleanup: const assignments to simplify code

Also avoids using uninitialized vars.

2 months agoUI: move edge-tag option from the scene into the operator
Campbell Barton [Tue, 21 May 2019 01:13:45 +0000 (11:13 +1000)]
UI: move edge-tag option from the scene into the operator

This was a very specific option to display in global tool settings.

Now this is exposed in the operator when edge-select mode is enabled.

2 months agoFix memory leak in Normals from Faces operator
Campbell Barton [Mon, 20 May 2019 22:03:29 +0000 (08:03 +1000)]
Fix memory leak in Normals from Faces operator

2 months agoGPU: Use uint in GPU_batch_uniform_1ui.
mano-wii [Mon, 20 May 2019 18:41:39 +0000 (15:41 -0300)]
GPU: Use uint in GPU_batch_uniform_1ui.

2 months agoUI: Outliner - Do not highlight icons of active lights
Harley Acheson [Mon, 20 May 2019 17:54:17 +0000 (10:54 -0700)]
UI: Outliner - Do not highlight icons of active lights

This removes the extra highlighting of lights that are active as this is not supported

Differential Revision:

Reviewed by Brecht Van Lommel

2 months agoNormal UI: Make Alt-N shortcut to Normals Menu.
Howard Trickey [Mon, 20 May 2019 17:38:33 +0000 (13:38 -0400)]
Normal UI: Make Alt-N shortcut to Normals Menu.

See T64324 for discussion of normals ui.
Consensus on was to use Alt-N to pull up Normals Menu,
overwriting the old use of that key (Flip normals).
There are still shortcuts for Recalculate Outside and Recalculate Inside
which are likely the more common needs.

2 months agoNormal UI: for all ops needing autosmooth on, enable it if needed.
Howard Trickey [Mon, 20 May 2019 16:15:52 +0000 (12:15 -0400)]
Normal UI: for all ops needing autosmooth on, enable it if needed.

Now Normal menu operations and rotate normals (r n) do not need
manual enabling of autosmooth first.
See T64324 for discussion of Normal UI changes.

2 months agoClip editor: make tool/sidebar wider by default, right align movie clip info
Brecht Van Lommel [Mon, 20 May 2019 16:12:46 +0000 (18:12 +0200)]
Clip editor: make tool/sidebar wider by default, right align movie clip info

2 months agoFix Python error in sequencer scene strip UI
Brecht Van Lommel [Mon, 20 May 2019 16:08:18 +0000 (18:08 +0200)]
Fix Python error in sequencer scene strip UI

2 months agoFix outliner drawing unselected active objects as if they are selected
Brecht Van Lommel [Mon, 20 May 2019 16:04:20 +0000 (18:04 +0200)]
Fix outliner drawing unselected active objects as if they are selected

Now we always draw a roundbox behind the active object icon, and only change
the text color if the active object is also selected. This matches the 3D
viewport better.

2 months agoAccidentally overrode changes in 40d525474184
William Reynish [Mon, 20 May 2019 16:09:25 +0000 (18:09 +0200)]
Accidentally overrode changes in 40d525474184

2 months agoUI: Sequencer menus
William Reynish [Mon, 20 May 2019 16:04:35 +0000 (18:04 +0200)]
UI: Sequencer menus

More updates to Sequencer menus from Peter Fog.

  - Rename Cut operators in the UI to be more clear
  - Re-organize the context menu to be nicer and more useful
  - Select menu is clearer
  - other assorted fixes and changes for clarity

2 months agoSequencer: Hide panels when there is no actual sequences
Sergey Sharybin [Mon, 20 May 2019 15:51:05 +0000 (17:51 +0200)]
Sequencer: Hide panels when there is no actual sequences

before this the python script would raise an exception due to
attempt to show properties of None data.

2 months agoUI: right align info in image settings panel
Brecht Van Lommel [Mon, 20 May 2019 15:30:37 +0000 (17:30 +0200)]
UI: right align info in image settings panel

2 months agoGPencil: Add new default Soft Brush
Antonioya [Mon, 20 May 2019 15:23:24 +0000 (17:23 +0200)]
GPencil: Add new default Soft Brush

2 months agoUI: Top bar menu tweaks
Pablo Vazquez [Mon, 20 May 2019 14:52:17 +0000 (16:52 +0200)]
UI: Top bar menu tweaks

* Use icon for Blender menu
* Move Startup/Factory settings to Defaults submenu under File
* Move Preferences under Edit
* Move Quit to File

2 months agoGPencil: Fix presets error after changing parameter name
Antonioya [Mon, 20 May 2019 14:40:57 +0000 (16:40 +0200)]
GPencil: Fix presets error after changing parameter name

The old use_follow_draw was renamed to alignment_mode

2 months agoCamera: change default f-stop from 5.6 to 2.8
Brecht Van Lommel [Mon, 20 May 2019 14:14:02 +0000 (16:14 +0200)]
Camera: change default f-stop from 5.6 to 2.8

This gives a more noticeable effect by default. Also fixes startup.blend not
having focus distance initialized correctly.

2 months agoColor Management: update configuration, remove legacy transforms
Brecht Van Lommel [Sun, 5 May 2019 15:20:19 +0000 (17:20 +0200)]
Color Management: update configuration, remove legacy transforms

* Replace Log view transform with Filmic Log.
* Remove Rec.709, DCI-P3 displays that were incomplete and outdated.
* Remove outdated RRT and Film transforms, replaced by Filmic.
* Remove camera responsive curves that don't work with HDR colors.
* Rename Default view transform to Standard.

We're breaking compatibility now for 2.80, so that we can add future
improvements on a clean config.

Part of the code was contributed by George Vogiatzis in D4782.

Differential Revision:

2 months agoFix broken workbench tests after recent changes
Brecht Van Lommel [Mon, 20 May 2019 14:18:26 +0000 (16:18 +0200)]
Fix broken workbench tests after recent changes

2 months agoEdit Mesh Select: Fix OpenGL status to use `GPU_point_size`.
mano-wii [Mon, 20 May 2019 14:07:49 +0000 (11:07 -0300)]
Edit Mesh Select: Fix OpenGL status to use `GPU_point_size`.

The problem has worsened in rB94db2c1f3243.
Maybe this has contributed to T64779.

2 months agoRevert "Fix T64876: Checking Animated checkbox does not do what is documented."
Bastien Montagne [Mon, 20 May 2019 14:02:00 +0000 (16:02 +0200)]
Revert "Fix T64876: Checking Animated checkbox does not do what is documented."

Bad understanding of intents behind that setting, my mistake.

This reverts commit 49f530c7da6bd117c4b373307eb646d513538526.

2 months agoUI: add entry to show/hide tool settings bar to the View menu
Brecht Van Lommel [Mon, 20 May 2019 13:34:45 +0000 (15:34 +0200)]
UI: add entry to show/hide tool settings bar to the View menu

2 months agoFix T63443: tool 'builtin_brush.draw' not found for space 'IMAGE_EDITOR'
Jacques Lucke [Mon, 20 May 2019 13:33:08 +0000 (15:33 +0200)]
Fix T63443: tool 'builtin_brush.draw' not found for space 'IMAGE_EDITOR'

2 months agoUI: keep grease pencil stroke placement / guides button always in main header
Brecht Van Lommel [Mon, 20 May 2019 13:29:19 +0000 (15:29 +0200)]
UI: keep grease pencil stroke placement / guides button always in main header

2 months agoRevert "Theme: match outliner/properties colors with modes in viewport."
Brecht Van Lommel [Mon, 20 May 2019 12:59:55 +0000 (14:59 +0200)]
Revert "Theme: match outliner/properties colors with modes in viewport."

While this consistency is useful, green selection in edit mode does not stand
out as much as orange. This can cause problems for some users, it seems to
depend on the person. Overall the risk of making the change at this point in
the release cycle is too high.

This reverts commit 5827a47280a0128d0fc47b7c5609058a472bf29f.

2 months agoKeymap: reinstate Alt-Wheel to scrub from 2.7x map
Campbell Barton [Mon, 20 May 2019 13:16:05 +0000 (23:16 +1000)]
Keymap: reinstate Alt-Wheel to scrub from 2.7x map

Animators found this useful, so keep it as a default.

2 months agoViewport: change default 3D viewport lighting from Studio to Matcap
Brecht Van Lommel [Mon, 20 May 2019 11:55:49 +0000 (13:55 +0200)]
Viewport: change default 3D viewport lighting from Studio to Matcap

2 months agoCleanup: reorder report argument for pointer assignment
Campbell Barton [Mon, 20 May 2019 08:06:09 +0000 (18:06 +1000)]
Cleanup: reorder report argument for pointer assignment

Most code uses ReportList argument last (or at least not first)
when an optional report list can be passed in.

2 months agoCleanup: unused variable
Campbell Barton [Mon, 20 May 2019 13:11:32 +0000 (23:11 +1000)]
Cleanup: unused variable

2 months agoNormal UI: Remove normals toolbar and add/muliply menu options.
Howard Trickey [Mon, 20 May 2019 12:51:18 +0000 (08:51 -0400)]
Normal UI: Remove normals toolbar and add/muliply menu options.

See T64324 for discussion re improving normal editing ui.
As next step, remove the face_strength tool settings because
menu operator now includes that. Move face_strenth enum to
better place.
Remove normals toolbar panel because only thing left
(normal_vector) can stay hidden for copy/paste.
Remove add vector and multiply vector menu entries as
they are useless without ui method for specifying operand,
and they are very low utility operations anyway.

2 months agoFix T64876: Checking Animated checkbox does not do what is documented.
Bastien Montagne [Mon, 20 May 2019 12:47:15 +0000 (14:47 +0200)]
Fix T64876: Checking Animated checkbox does not do what is documented.

This property should not be animatable.

2 months agoUI: integrate Cycles ray visibility and culling in new Visibility panel
Brecht Van Lommel [Mon, 20 May 2019 11:42:16 +0000 (13:42 +0200)]
UI: integrate Cycles ray visibility and culling in new Visibility panel

2 months agoUI: add Visibility panel for objects
Dalai Felinto [Mon, 20 May 2019 10:14:48 +0000 (12:14 +0200)]
UI: add Visibility panel for objects

The outliner should not be the only way for users to change these settings.
The Python API was extended to keep these properties positive and keyframable.

Differential Revision:

2 months agoFix T64766: use grid size from user preferences
Jacques Lucke [Mon, 20 May 2019 09:48:37 +0000 (11:48 +0200)]
Fix T64766: use grid size from user preferences

2 months agoFix T64776: Multiple close file dialogs
Jacques Lucke [Mon, 20 May 2019 09:38:23 +0000 (11:38 +0200)]
Fix T64776: Multiple close file dialogs

2 months agoFix compiling: Forgot this file in last commit.
William Reynish [Mon, 20 May 2019 08:52:08 +0000 (10:52 +0200)]
Fix compiling: Forgot this file in last commit.

2 months agoIcons: Fix wrong icon names
William Reynish [Mon, 20 May 2019 08:38:47 +0000 (10:38 +0200)]
Icons: Fix wrong icon names

Some file-related icon names were mixed up.

We have icons for cache, volume, 3rd party 3d files, hidden, backups, drives

2 months agoCleanup: add wm_utils.c for generic functions
Campbell Barton [Mon, 20 May 2019 06:52:49 +0000 (16:52 +1000)]
Cleanup: add wm_utils.c for generic functions

2 months ago3D View: re-use select id buffer for circle select on cursor-motion
Campbell Barton [Mon, 20 May 2019 06:29:04 +0000 (16:29 +1000)]
3D View: re-use select id buffer for circle select on cursor-motion

The new selection code was redrawing everything for each update.

Use the gestures wmGenericUserData to store the cache between
executions and ensure it's freed.

2 months agoWM: add wmGenericUserData utility struct
Campbell Barton [Mon, 20 May 2019 05:06:06 +0000 (15:06 +1000)]
WM: add wmGenericUserData utility struct

Useful to have a generic user data with an optional custom free function,
use for wmGesture.

2 months agoCleanup: rename buffer select var: bbsel to use_zbuf
Campbell Barton [Mon, 20 May 2019 03:49:38 +0000 (13:49 +1000)]
Cleanup: rename buffer select var: bbsel to use_zbuf

2 months agoCleanup: move selection utilities into ED_select_buffer_utils
Campbell Barton [Mon, 20 May 2019 03:16:29 +0000 (13:16 +1000)]
Cleanup: move selection utilities into ED_select_buffer_utils

2 months agoCleanup: remove EDBM_backbuf API
Campbell Barton [Mon, 20 May 2019 02:39:01 +0000 (12:39 +1000)]
Cleanup: remove EDBM_backbuf API

2 months agoCleanup: remove unused G_FLAG_BACKBUFSEL
Campbell Barton [Mon, 20 May 2019 02:35:24 +0000 (12:35 +1000)]
Cleanup: remove unused G_FLAG_BACKBUFSEL

2 months ago3D View: use new buffer selection API's for paint vert/face select
Campbell Barton [Mon, 20 May 2019 02:15:56 +0000 (12:15 +1000)]
3D View: use new buffer selection API's for paint vert/face select

Removes EDBM_backbuf use.

2 months agoFix missing assignments in object mode select id drawing
Campbell Barton [Mon, 20 May 2019 02:14:30 +0000 (12:14 +1000)]
Fix missing assignments in object mode select id drawing

The code currently doesn't run, needed for upgrading all selection
code to use the new API's.

2 months agoFix error mixing old/new buffer selection API's
Campbell Barton [Mon, 20 May 2019 02:09:29 +0000 (12:09 +1000)]
Fix error mixing old/new buffer selection API's

Missed from 4f6e25280558c, the second pass often wont run,
so the error didn't show up on basic tests.

2 months agoFix invalid face offset in DRW_draw_select_id_object
Campbell Barton [Mon, 20 May 2019 01:36:50 +0000 (11:36 +1000)]
Fix invalid face offset in DRW_draw_select_id_object

2 months agoFix error showing active tool side-bar in the image editor
Campbell Barton [Mon, 20 May 2019 00:49:42 +0000 (10:49 +1000)]
Fix error showing active tool side-bar in the image editor

2 months agoIndustry Compat keymap: Fix deselecting rings
William Reynish [Sun, 19 May 2019 21:36:47 +0000 (23:36 +0200)]
Industry Compat keymap: Fix deselecting rings

Issue was caused by a keymap conflict

2 months agoFix T64832: Industry keymap - Pressing F to View Selected in Node Editor not working...
William Reynish [Sun, 19 May 2019 21:16:22 +0000 (23:16 +0200)]
Fix T64832: Industry keymap - Pressing F to View Selected in Node Editor not working via hotkey

2 months agoUI: Add back Sequencer sidebar toggles into the header
William Reynish [Sun, 19 May 2019 20:47:14 +0000 (22:47 +0200)]
UI: Add back Sequencer sidebar toggles into the header

The properties inside are still hidden when the toggles are off, but we really should use greying out here instead.

That needs changes to DNA/RNA to work though.

2 months agoRender: Use GHash for storing render parts
Lukas Stockner [Sun, 19 May 2019 19:51:18 +0000 (21:51 +0200)]
Render: Use GHash for storing render parts

Previously, render parts were stored in a linked list and every tile update
searched the entire list for the correct part. As a result, the overhead
of searching tiles increased quadratically w.r.t. the number of tiles.

By hashing the parts based on their location, this operation is much faster,
significantly reducing the tile update overhead for small tiles and/or large

For example, rendering an empty scene in 1080p at 1spp and 8x8 tiles goes
down from 9.22sec to 1.45sec on my laptop.

Reviewers: brecht, sergey

Differential Revision:

2 months agoFix build
Dalai Felinto [Sun, 19 May 2019 20:33:43 +0000 (17:33 -0300)]
Fix build

Issue introduced on b7eba20236ca.

I'm surprised it compiled elsewhere, but in Linux at least this fix was

2 months agoUI: Edit Menu Operator Polling
Harley Acheson [Sun, 19 May 2019 20:12:15 +0000 (13:12 -0700)]
UI: Edit Menu Operator Polling

This patch updates the polling that enable/disables Edit Menu items. Slight Undo History menu changes

Differential Revision:

Reviewed by Brecht Van Lommel

2 months agoEdit Mesh Select: Fix/update to new logic.
mano-wii [Sun, 19 May 2019 18:15:27 +0000 (15:15 -0300)]
Edit Mesh Select: Fix/update to new logic.

2 months agoFix T64720: Sequencer UI doesn't draw properly with some strip types
Richard Antalik [Sun, 19 May 2019 18:29:21 +0000 (11:29 -0700)]
Fix T64720: Sequencer UI doesn't draw properly with some strip types

cleanup after rB86eefefdc1aae2a3ab4160770032671abf55aa30.

Reviewed By: brecht

Differential Revision:

2 months agoVSE: add movie strips on top of audio
Richard Antalik [Sun, 19 May 2019 18:21:37 +0000 (11:21 -0700)]
VSE: add movie strips on top of audio

- add movies to channel above free slot (no check for 2 free slots),
  add sound to the free slot
- don't override channel settings if `channel` property is set

This is just a hack. Propper implementation should be done along with T59540

Reviewed By: brecht

Differential Revision:

2 months agoFix T64579: Failure to honor anamorphic display
Richard Antalik [Sun, 19 May 2019 18:18:23 +0000 (11:18 -0700)]
Fix T64579: Failure to honor anamorphic display

Restore stretching of sequencer preview removed in rB005626b8c6b4

Reviewed By: brecht

Differential Revision:

2 months agoUI: Icons update
William Reynish [Sun, 19 May 2019 18:23:58 +0000 (20:23 +0200)]
UI: Icons update

A few icons were missed in the last update.

  - Added dedicated icon for showing hidden objects in the Graph Editor
  - Added new, more descriptive icon for F-Curve snapshots
  - Tweaks for Toggle Full Screen and Collections icons

This should be the final set for 2.80.

Thanks to Andrzej Ambro┼╝ for contributing this icon set.

2 months agoUI: expand more image editor scope panels by default
Brecht Van Lommel [Sun, 19 May 2019 17:33:01 +0000 (19:33 +0200)]
UI: expand more image editor scope panels by default

Better to show all information about the image at once, there is enough space
since they are in their own category.

2 months agoUI: don't ask for confirmation to save or revert to saved preferences
Brecht Van Lommel [Sun, 19 May 2019 17:02:21 +0000 (19:02 +0200)]
UI: don't ask for confirmation to save or revert to saved preferences

2 months agoUI: minor tweaks to image editor panels
Brecht Van Lommel [Sun, 19 May 2019 16:56:17 +0000 (18:56 +0200)]
UI: minor tweaks to image editor panels

2 months agoUI: Use "Viewport" instead of View in Subdivision Modifier.
Pablo Vazquez [Sun, 19 May 2019 15:19:30 +0000 (17:19 +0200)]
UI: Use "Viewport" instead of View in Subdivision Modifier.

Cosmetic change for consistency according to the naming guidelines in 2.80.

Also place Render first, Viewport later to match other areas in Blender
such as the sampling panel in EEVEE/Cycles.

2 months agoUI: Align Render and Viewport samples properties for EEVEE.
Pablo Vazquez [Sun, 19 May 2019 15:09:55 +0000 (17:09 +0200)]
UI: Align Render and Viewport samples properties for EEVEE.

Matches Cycles and other areas in Blender.

2 months agoUI: use single column layout for image settings panels
Brecht Van Lommel [Sun, 19 May 2019 12:51:21 +0000 (14:51 +0200)]
UI: use single column layout for image settings panels

2 months agoImages: change alpha settings to support channel packing
Brecht Van Lommel [Sat, 18 May 2019 18:52:20 +0000 (20:52 +0200)]
Images: change alpha settings to support channel packing

This also replaces the Use Alpha setting. We now have these alpha modes:

* Straight: store RGB and alpha channels separately with alpha acting as a
  mask, also known as unassociated alpha.
* Premultiplied: transparent RGB pixels are multiplied by the alpha channel.
  The natural format for renders.
* Channel Packed: different images are packed in the RGB and alpha channels,
  and they should not influence each other. Channel packing is commonly used
  by game engines to save memory.
* None: ignore alpha channel from the file and make image fully opaque.

Cycles OSL does not correctly support Channel Packed and None yet, we are
missing fine control over the OpenImageIO texture cache to do that.

Fixes T53672

2 months agoImages: don't (un)premultipy non-color data
Brecht Van Lommel [Sun, 19 May 2019 00:56:12 +0000 (02:56 +0200)]
Images: don't (un)premultipy non-color data

The previous behavior here was wrong for some specific combinations of
settings, non-color RGB channels should never be affected by the alpha

2 months agoCleanup: refactor image texture node code for coming changes
Brecht Van Lommel [Sun, 19 May 2019 00:46:24 +0000 (02:46 +0200)]
Cleanup: refactor image texture node code for coming changes

2 months agoCleanup: remove unused image buffer code
Brecht Van Lommel [Sat, 18 May 2019 17:14:59 +0000 (19:14 +0200)]
Cleanup: remove unused image buffer code