6 weeks agoCycles: support loading images from arbitrary OpenColorIO color space
Lukas Stockner [Thu, 2 May 2019 13:45:31 +0000 (15:45 +0200)]
Cycles: support loading images from arbitrary OpenColorIO color space

These are the internal changes to Cycles, for Blender integration there are no
functional changes in this commit.

Images are converted to scene linear color space on file load, and on reading
from the OpenImageIO texture cache. 8-bit images are compressed with the sRGB
transfer function to avoid precision loss while keeping memory usages low. This
also means that for common cases of 8-bit sRGB images no conversion happens at
all on image loading.

Initial patch by Lukas, completed by Brecht.

Differential Revision:

6 weeks agoCycles: add colorspace manager class and utilities based on OpenColorIO
Lukas Stockner [Fri, 3 May 2019 09:23:16 +0000 (11:23 +0200)]
Cycles: add colorspace manager class and utilities based on OpenColorIO

This is the groundwork for supporting loading image textures with arbitrary
color spaces through OpenColorIO.

Initial patch by Lukas, completed by Brecht.

Differential Revision:

6 weeks agoCleanup: refactor Cycles OSL texture handling
Brecht Van Lommel [Thu, 2 May 2019 10:40:24 +0000 (12:40 +0200)]
Cleanup: refactor Cycles OSL texture handling

This adds our own OSL texture handle, that has info for OIIO textures or our
own custom texture types. A filename to handle hash map is used for lookups.
This is efficient because it happens at OSL compile time, because the optimizer
can figure out constant strings and replace them with texture handles.

6 weeks agoCleanup: refactor passing of OSL kernel globals for upcoming changes
Brecht Van Lommel [Thu, 2 May 2019 13:39:23 +0000 (15:39 +0200)]
Cleanup: refactor passing of OSL kernel globals for upcoming changes

6 weeks agoUI: Pass color id into view2d text drawing
Jacques Lucke [Fri, 3 May 2019 13:09:28 +0000 (15:09 +0200)]
UI: Pass color id into view2d text drawing

6 weeks agoIndustry Compat Keymap: Fix box selecting keys in the Graph Editor
William Reynish [Fri, 3 May 2019 12:35:44 +0000 (14:35 +0200)]
Industry Compat Keymap: Fix box selecting keys in the Graph Editor

It was not selecting the handles, causing a skewed offset when transforming

6 weeks agoFix missiong collection move line in outliner after recent changes
Harley Acheson [Fri, 3 May 2019 12:19:26 +0000 (14:19 +0200)]
Fix missiong collection move line in outliner after recent changes

Differential Revision:

6 weeks agoICK: Missed one line in last commit
William Reynish [Fri, 3 May 2019 11:55:01 +0000 (13:55 +0200)]
ICK: Missed one line in last commit

6 weeks agoIndustry Compat Keymap: Fix Return key in the File Browser
William Reynish [Fri, 3 May 2019 11:53:41 +0000 (13:53 +0200)]
Industry Compat Keymap: Fix Return key in the File Browser

Return was set to Rename in all editors. Now set it per editor and exclude File Browser

6 weeks agoRefactor: Support arbitrary y offset for channel list
Jacques Lucke [Fri, 3 May 2019 11:00:18 +0000 (13:00 +0200)]
Refactor: Support arbitrary y offset for channel list

At first you could think that this refactor would not be
necessary, because `ACHANNEL_FIRST` exists already.
It contained the small y offset that all channels had.

Unfortunately, a lot of code assumed that
define pretty much useless. This refactor fixes that
for the action and nla editor.

As a nice side effect, this patch fixes channel box select.
Before there was always have a half-channel offset.

Reviewers: brecht

Differential Revision:

6 weeks agoDepsgraph: Remove filtering API
Sergey Sharybin [Fri, 3 May 2019 10:39:12 +0000 (12:39 +0200)]
Depsgraph: Remove filtering API

This was an attempt to speed up motion path calculation, which didn't
really work in real world animation files, where animators already
hide and disable all the heavy collections. Filtering approach also
doesn't allow to have multiple frames evaluated in multiple threads

Filtering also adds extra complexity on keeping the graph in a correct
and consistent state.

Fixes T64057: Blender crash when use motion paths

6 weeks agoIndustry Compat Keymap: Set Tab to use Add Search in node editors
William Reynish [Fri, 3 May 2019 10:08:01 +0000 (12:08 +0200)]
Industry Compat Keymap: Set Tab to use Add Search in node editors

More useful than operator search here, and more like some other apps.

6 weeks agoIndustry Compat Keymap: Use Alt-key navigation in the Image Editor
William Reynish [Fri, 3 May 2019 09:41:56 +0000 (11:41 +0200)]
Industry Compat Keymap: Use Alt-key navigation in the Image Editor

Was missing this by mistake

6 weeks agoUI: Display panel tweaks
William Reynish [Fri, 3 May 2019 08:26:24 +0000 (10:26 +0200)]
UI: Display panel tweaks

  - Use Display As rather than Draw Type, following naming conventions
  - Rename Advanced subpanel to Stretching, since that more accurately describes what it's for

6 weeks agoRevert "Cleanup: add semicolon after PyObject_VAR_HEAD"
Campbell Barton [Fri, 3 May 2019 08:09:04 +0000 (18:09 +1000)]
Revert "Cleanup: add semicolon after PyObject_VAR_HEAD"

This reverts commit a01bcfa6366f893fbc8fdbf537d91ece4832ea03.

This causes MSVC2019 build to fail with error C2059

Unfortunately this means we have to put up with bad formatting
in Python structs.

6 weeks agoUI: Add Annotate tool to Sculpt and Paint mode toolbars
William Reynish [Fri, 3 May 2019 07:41:34 +0000 (09:41 +0200)]
UI: Add Annotate tool to Sculpt and Paint mode toolbars

Users have requested to have the Annotate tool added to Sculpt Mode. It can be useful for annotating while sculpting.

  - Remove Measure tool from the tools_annotate group
  - Add Measure tool to object and edit mode toolbar
  - Add Annotate tools to Sculpt and Paint modes

Differential Revision:

6 weeks agoFix T59474: Crash assign shortcuts
Campbell Barton [Fri, 3 May 2019 07:08:47 +0000 (17:08 +1000)]
Fix T59474: Crash assign shortcuts

6 weeks agoFix active tool side-bar redrawing on tool change
Campbell Barton [Fri, 3 May 2019 04:15:38 +0000 (14:15 +1000)]
Fix active tool side-bar redrawing on tool change

6 weeks agoFix tool header message subscriber
Campbell Barton [Fri, 3 May 2019 03:58:22 +0000 (13:58 +1000)]
Fix tool header message subscriber

6 weeks agoCleanup: replace RGN_ALIGN_ENUM_MASK
Campbell Barton [Fri, 3 May 2019 03:04:37 +0000 (13:04 +1000)]
Cleanup: replace RGN_ALIGN_ENUM_MASK

This was only used once, other checks were masking out
RGN_SPLIT_PREV which isn't future proof (if other flags are added).

Add RGN_ALIGN_ENUM_FROM_MASK macro, use it everywhere we need to
check the alignment enum.

6 weeks agoCleanup: add semicolon after PyObject_VAR_HEAD
Campbell Barton [Fri, 3 May 2019 02:26:29 +0000 (12:26 +1000)]
Cleanup: add semicolon after PyObject_VAR_HEAD

clang-format doesn't expand macros,
add semicolon to prevent misleading formatting.

6 weeks agoCleanup: warnings
Campbell Barton [Fri, 3 May 2019 02:41:06 +0000 (12:41 +1000)]
Cleanup: warnings

Quiet extra-semi-stmt & missing-variable-declarations

6 weeks agoDefaults: disable developer extras
Campbell Barton [Fri, 3 May 2019 02:15:25 +0000 (12:15 +1000)]
Defaults: disable developer extras

Was enabled by accident when updating startup.blend.

6 weeks agoDNA: remove unused 'osa' member
Campbell Barton [Fri, 3 May 2019 02:03:06 +0000 (12:03 +1000)]
DNA: remove unused 'osa' member

Also correct unused flag comment, use doxy cross references.

6 weeks agoIndustry Compat Kerymap: Add Pick Shortest Path to keymap
William Reynish [Thu, 2 May 2019 17:03:15 +0000 (19:03 +0200)]
Industry Compat Kerymap: Add Pick Shortest Path to keymap

Use Ctrl-Shift-Click for this.

6 weeks agoFix T64072: DynamicPaint: Bake failed: Canvas mesh not updated
Sergey Sharybin [Thu, 2 May 2019 15:46:08 +0000 (17:46 +0200)]
Fix T64072:  DynamicPaint: Bake failed: Canvas mesh not updated

Baking is to happen form within an evaluated scene.

6 weeks agoFix T63997 Weird z-fight during weight paint
Clément Foucault [Thu, 2 May 2019 14:51:17 +0000 (16:51 +0200)]
Fix T63997 Weird z-fight during weight paint

PBVH drawing was used even in weightpaint/vertexpaint because both uses
the sculpt session.

6 weeks agoCleanup: Draw Manager: remove DRW_state_invert_facing
Clément Foucault [Thu, 2 May 2019 14:49:48 +0000 (16:49 +0200)]
Cleanup: Draw Manager: remove DRW_state_invert_facing

6 weeks agoIndustry Compat Keymap: Suppurt MMB for translating nodes
William Reynish [Thu, 2 May 2019 14:28:13 +0000 (16:28 +0200)]
Industry Compat Keymap: Suppurt MMB for translating nodes

Consistent with 3D View and animation editors.

6 weeks agoGPencil: New API to remove grease pencil material settings
Antonioya [Thu, 2 May 2019 14:26:57 +0000 (16:26 +0200)]
GPencil: New API to remove grease pencil material settings

This is required for some add-ons

Example use:
ma =[0]
# create settings
# remove settings

Related to T63707

6 weeks agoWorkbench,EEVEE: Viewport Render Samples
Jeroen Bakker [Thu, 2 May 2019 13:18:53 +0000 (15:18 +0200)]
Workbench,EEVEE: Viewport Render Samples

 - Add `render_aa` and `viewport_aa` sampling setting for workbench. 0
   samples means no AA, 1 sample uses FXAA and more samples will use
   The viewport `gpu_viewport_quality` can still limit viewport anti-aliasing
 - Use TAA when rendering images. (this used to be CPU based FSAA)
 - Removed `R_OSA` related settings.

Reviewers: fclem, brecht

Maniphest Tasks: T60847

Differential Revision:

6 weeks agoIndustry Compat Keymap: Sequencer and NLA
William Reynish [Thu, 2 May 2019 14:18:23 +0000 (16:18 +0200)]
Industry Compat Keymap: Sequencer and NLA

Same changes as for Dopesheet and Graph editor:

  - Dragging in empty area starts a box selection
  - Hold Shift to expand or Ctrl to remove
  - LMB Dragging on keyframe moves key
  - MMB Dragging anywhere moves selection

6 weeks agoPose slide / relax: fix various issues
Brecht Van Lommel [Wed, 1 May 2019 17:27:05 +0000 (19:27 +0200)]
Pose slide / relax: fix various issues

* Fix operator adjust settings not working.
* Fix modal operator not working when invoked from search menu.
* Fix tagging to be correct for new depsgraph.
* Fix pose relax doing nothing when start and end frames match
  even if the current frame value is different.
* Remove odd 0.3..0.7 limit in adjust operator settings panel.

6 weeks agoFix T64059: Crash in shader when using other object's texture space
Sergey Sharybin [Thu, 2 May 2019 13:54:03 +0000 (15:54 +0200)]
Fix T64059: Crash in shader when using other object's texture space

Can not use evaluated datablock to localize since that could point to
another evaluated datablock, which can not become part of another
dependency graph.

The original code needed to have unkeyed changes preserved, but now
we do have a flush of animation to an active dependency graph, so this
code is not needed anymore.

6 weeks agoIndustry Compat Keymap: Tweak keymap for Graph Editor and Dopesheet
William Reynish [Thu, 2 May 2019 13:54:48 +0000 (15:54 +0200)]
Industry Compat Keymap: Tweak keymap for Graph Editor and Dopesheet

  - Dragging in empty area starts a box selection
  - Hold Shift to expand or Ctrl to remove
  - LMB Dragging on keyframe moves key
  - MMB Dragging anywhere moves selection

6 weeks agoFix T63697: correct stuck R_NO_CAMERA_SWITCH in scene->r.mode.
Alexander Gavrilov [Thu, 2 May 2019 13:01:00 +0000 (16:01 +0300)]
Fix T63697: correct stuck R_NO_CAMERA_SWITCH in scene->r.mode.

This flag becomes stuck in certain situations, causing the marker
camera switch feature to not work.

To fix old files with the problem, clear the flag on file load.

Also, the line that is supposed to clear it has wrong bit math,
causing seq_render_scene_strip to effectively toggle the flag on or
off every time it's run, instead of restoring to original state.

The flag and code were added in 001789d7337a by @campbellbarton.

6 weeks agoDrawManager: External Engine Depth Buffer
Jeroen Bakker [Wed, 1 May 2019 10:31:59 +0000 (12:31 +0200)]
DrawManager: External Engine Depth Buffer

Only draw the depth buffer when overlays are enabled and scene
or view has changed.

When using Cycles in the viewport for every viewport draw call
the depth buffer was renewed. Draw calls happened when a sample
was finished or the status report was updated.

This could waist some CPU/GPU cycles. This change will check when
the depth buffer needs to be updated or when the last known depth
buffer could be reused.

Reviewers: brecht, fclem

Maniphest Tasks: T63525

Differential Revision:

6 weeks agoUI: Open 'Passes' panel by default in Cycles.
Pablo Vazquez [Thu, 2 May 2019 12:37:33 +0000 (14:37 +0200)]
UI: Open 'Passes' panel by default in Cycles.

This panel is arguably the most important in the ViewLayer properties, so
the concept of "1 panel open per context" doesn't work. Especially since
the first panel (View Layer) contains only two settings.

This also registers the Passes panels before filter/override so it's sorted in the same way as EEVEE.

6 weeks agoUI: Open 'Passes' panel by default in EEVEE.
Pablo Vazquez [Thu, 2 May 2019 12:36:14 +0000 (14:36 +0200)]
UI: Open 'Passes' panel by default in EEVEE.

This panel is arguably the most important in the ViewLayer properties, so
the concept of "1 panel open per context" doesn't work. Especially since
the first panel (View Layer) contains only two settings.

6 weeks agoFix T63435 Incorrect fresnel and normals for hair strands on EEVEE
Clément Foucault [Thu, 2 May 2019 12:32:12 +0000 (14:32 +0200)]
Fix T63435 Incorrect fresnel and normals for hair strands on EEVEE

6 weeks agoUI: rename 'Remove Doubles' to 'Merge by Distance'
William Reynish [Thu, 2 May 2019 11:50:54 +0000 (21:50 +1000)]
UI: rename 'Remove Doubles' to 'Merge by Distance'

Also add into the "Merge" menu.

6 weeks agoFix T63904: Remove Animation should remove empty actions from objects.
Alexander Gavrilov [Thu, 2 May 2019 11:51:43 +0000 (14:51 +0300)]
Fix T63904: Remove Animation should remove empty actions from objects.

6 weeks agoRefactor grid and scale indicator text drawing
Jacques Lucke [Thu, 2 May 2019 10:00:12 +0000 (12:00 +0200)]
Refactor grid and scale indicator text drawing

This affects the timeline, dopesheet, graph editor, sequencer,
clip editor and nla editor.

Removed structs and enums: `V2D_ARG_DUMMY`, `eView2D_Units`,
`eView2D_Clamp`, `eView2D_Gridlines`, `View2DGrid`.

A main goal of this refactor is to get rid of the very generic
`View2DGrid` struct. The drawing code became very complex
because there were many different combinations of settings.

This refactor implements a different approach.
Instead of one very generic API, there are many slighly
different functions that do exactly, what we need in the
different editors. Only very little code is duplicated,
because the API functions compose some shared low level code.

This structure makes the code much easier to debug and change,
because every function has much fewer responsibilities.

Additionally, this refactor fixes some long standing bugs.
E.g. when `Show Seconds` is enabled, you zoom in and pan the view.
Or that the step size between displayed frame numbers was
always `>= 2`, no matter how close you zoom in.

Reviewers: brecht

Differential Revision:

6 weeks agoCleanup: typos in comments
Campbell Barton [Thu, 2 May 2019 08:25:13 +0000 (18:25 +1000)]
Cleanup: typos in comments

6 weeks agoCleanup: outdated comments, unused define
Campbell Barton [Thu, 2 May 2019 07:13:34 +0000 (17:13 +1000)]
Cleanup: outdated comments, unused define

6 weeks agoGPencil: Add API property to check annotations
Antonioya [Thu, 2 May 2019 08:08:59 +0000 (10:08 +0200)]
GPencil: Add API property to check annotations

This new property allows to check if the current datablock is an annotation or is used in a grease pencil object.

This property is required for some Add-ons.

6 weeks agoCleanup: Comments
Sergey Sharybin [Thu, 2 May 2019 07:53:11 +0000 (09:53 +0200)]
Cleanup: Comments

A spelling issues introduced in 5a43406e1bad. From quick look the
sequencer seems to be the only special boy. But the change is a bit
too big to carefully re-read for exact spelling mistakes.

6 weeks agoWorkspace: remove global active tool
Campbell Barton [Thu, 2 May 2019 07:02:05 +0000 (17:02 +1000)]
Workspace: remove global active tool

This was needed for a global top-bar to show a single tool,
no longer needed now the top-bar is per-space.

6 weeks agoFix T57099: Parenting between armatures crashes
Campbell Barton [Thu, 2 May 2019 03:46:57 +0000 (13:46 +1000)]
Fix T57099: Parenting between armatures crashes

Multi-object selection allowed to parent edit-bones across armatures
(which isn't supported).

7 weeks agoUI: expose vertex merge as menu
Campbell Barton [Thu, 2 May 2019 01:56:24 +0000 (11:56 +1000)]
UI: expose vertex merge as menu

Avoids a pop-up after the first click.

7 weeks agoCleanup: use WM_keymap_item_* prefix
Campbell Barton [Thu, 2 May 2019 01:42:46 +0000 (11:42 +1000)]
Cleanup: use WM_keymap_item_* prefix

7 weeks agoCleanup: style
Campbell Barton [Thu, 2 May 2019 01:45:11 +0000 (11:45 +1000)]
Cleanup: style

7 weeks agoCleanup: use doxy sections in wm_keymap.c
Campbell Barton [Thu, 2 May 2019 01:32:32 +0000 (11:32 +1000)]
Cleanup: use doxy sections in wm_keymap.c

7 weeks agoBLF: pass code-point to BLF_has_glyph
Campbell Barton [Thu, 2 May 2019 00:52:53 +0000 (10:52 +1000)]
BLF: pass code-point to BLF_has_glyph

Avoid BLF having to be concerned with decoding the string
(which can fail).

Also remove redundant extra zero byte from strings.

7 weeks agoCleanup: unused warning
Campbell Barton [Thu, 2 May 2019 00:37:42 +0000 (10:37 +1000)]
Cleanup: unused warning

7 weeks agoFix T61619: Some VSE attributes with keyframes are not sensibly evaluated
Richard Antalik [Wed, 1 May 2019 16:50:12 +0000 (09:50 -0700)]
Fix T61619: Some VSE attributes with keyframes are not sensibly evaluated
when the scene is referenced as a strip from another VSE scene

Fix T49658: Evaluation / animation of f-curves does not correct
for a scene's position within another scene

Solution: Evaluate animdata before rendering scene seqbase.

Reviewed By: brecht

Differential Revision:

7 weeks agoFix T63980: only copy selected curves in Copy Keyframes from Graph Editor.
Alexander Gavrilov [Wed, 1 May 2019 16:17:59 +0000 (19:17 +0300)]
Fix T63980: only copy selected curves in Copy Keyframes from Graph Editor.

Otherwise things can become confusing due to copying unwanted curves,
especially if "Only Selected Curve Keyframes" is enabled, and thus
selected keyframes from other curves may not be visible.

Now Copy Keyframes behaves exactly like Paste Keyframes.

7 weeks agoUI: add pixel units for some theme settings
Brecht Van Lommel [Wed, 1 May 2019 15:49:15 +0000 (17:49 +0200)]
UI: add pixel units for some theme settings

7 weeks agoUI: move object origin size preference to themes
George Vogiatzis [Wed, 1 May 2019 15:42:50 +0000 (17:42 +0200)]
UI: move object origin size preference to themes

Differential Revision:

7 weeks agoUI: remove outliner vertical separators
Harley Acheson [Wed, 1 May 2019 15:39:36 +0000 (17:39 +0200)]
UI: remove outliner vertical separators

This removes the vertical bar separators between items and subitems (for closed
rows), and the vertical lines between the columns of restriction icons.

The vertical bars and lines don't really serve any useful purpose and add some
visual fuzziness and confusion. Best to concentrate the eye on the items of
content, not the separators between them.

Differential Revision:

7 weeks agoUI: remove outliner highlight selection gap
Harley Acheson [Wed, 1 May 2019 15:38:33 +0000 (17:38 +0200)]
UI: remove outliner highlight selection gap

When rows were highlighted - for selection, hover, or search - the highlighted
bar would not take up the entire vertical space but instead leave a gap.

That gap generally looks like a separator between items, adding complexity and
fuzziness for no real benefit.

Differential Revision:

7 weeks agoUI: use Mac key symbols in menus on macOS, instead of text like "Cmd"
Harley Acheson [Wed, 1 May 2019 15:22:32 +0000 (17:22 +0200)]
UI: use Mac key symbols in menus on macOS, instead of text like "Cmd"

On Windows "Cmd" is also replaced with "Win".

Differential Revision:

7 weeks agoUI: make outliner hierarchy line width take into account DPI
Harley Acheson [Wed, 1 May 2019 15:18:33 +0000 (17:18 +0200)]
UI: make outliner hierarchy line width take into account DPI

Differential Revision:

7 weeks agoUI: improve readability of Normals menu in edit mode
George Vogiatzis [Wed, 1 May 2019 13:44:26 +0000 (15:44 +0200)]
UI: improve readability of Normals menu in edit mode

Also rename operators to match names in the menu.

Differential Revision:

7 weeks agoAlembic: integrate cache file into the dependency graph
Brecht Van Lommel [Thu, 4 Apr 2019 13:07:37 +0000 (15:07 +0200)]
Alembic: integrate cache file into the dependency graph

* The cache file datablock is now evaluated as part of the dependency graph,
  creating/freeing the Alembic file handle matching the current frame.
  Modifiers and constraints depend on this evaluation.
* Cache file handles and readers now only exist on COW datablocks, never the
  original ones.
* Object data paths are flushed back to the original for the user interface.
* The cache file keeps a list of all readers associated with its handle, and
  automatically frees them when the handle is freed. This kind of sharing of
  data across datablocks is weak but we have no better mechanism for it.

Fix T62720: Alembic sequences not working and crashing

Differential Revision:

7 weeks agoEevee: Fix crash when rendering due to recent lookdev refactor
Clément Foucault [Wed, 1 May 2019 13:45:43 +0000 (15:45 +0200)]
Eevee: Fix crash when rendering due to recent lookdev refactor

7 weeks agoModifiers: support parallelism in Armature and Lattice Deform.
Alexander Gavrilov [Sun, 28 Apr 2019 12:05:13 +0000 (15:05 +0300)]
Modifiers: support parallelism in Armature and Lattice Deform.

This partially mitigates the performance drop in Spring
02_055_A.anim caused by dependency changes in D4715.

Differential Revision:

7 weeks agoFix crash on unlinking scene
Richard Antalik [Wed, 1 May 2019 12:16:55 +0000 (05:16 -0700)]
Fix crash on unlinking scene

Fix crash when unlinking scene and "Use Sequence" property is set.

Reviewed By: brecht

Differential Revision:

7 weeks agoUse cache only in current scene
Richard Antalik [Wed, 1 May 2019 12:16:29 +0000 (05:16 -0700)]
Use cache only in current scene

Disable cache use, when rendering another scene seqbase.
Now cache limit applies only to one scene, so it can be overshot.
Cache of other scenes can be filled manually still.

Reviewed By: brecht

Differential Revision:

7 weeks agoFix T49589: 2.78 VSE no longer caching Node Editor scene strips
Richard Antalik [Wed, 1 May 2019 12:16:01 +0000 (05:16 -0700)]
Fix T49589: 2.78 VSE no longer caching Node Editor scene strips

Sequencer cache was cleared when rendering compositor output.

Reviewed By: brecht

Differential Revision:

7 weeks agoClangFormat: enable ReflowComments
Campbell Barton [Wed, 1 May 2019 11:14:35 +0000 (21:14 +1000)]
ClangFormat: enable ReflowComments

7 weeks agoCleanup: comments (long lines) in cycles
Campbell Barton [Wed, 1 May 2019 11:14:11 +0000 (21:14 +1000)]
Cleanup: comments (long lines) in cycles

7 weeks agoCleanup: comments (long lines) in various intern/ libs
Campbell Barton [Wed, 1 May 2019 10:50:02 +0000 (20:50 +1000)]
Cleanup: comments (long lines) in various intern/ libs

7 weeks agoCleanup: comments (long lines) in dualcon
Campbell Barton [Wed, 1 May 2019 10:59:08 +0000 (20:59 +1000)]
Cleanup: comments (long lines) in dualcon

7 weeks agoCleanup: comments (long lines) in rigidbody
Campbell Barton [Wed, 1 May 2019 10:42:36 +0000 (20:42 +1000)]
Cleanup: comments (long lines) in rigidbody

7 weeks agoCleanup: comments (long lines) in mikktspace
Campbell Barton [Wed, 1 May 2019 10:40:58 +0000 (20:40 +1000)]
Cleanup: comments (long lines) in mikktspace

7 weeks agoCleanup: comments (long lines) in atomic
Campbell Barton [Wed, 1 May 2019 10:34:12 +0000 (20:34 +1000)]
Cleanup: comments (long lines) in atomic

7 weeks agoCleanup: comments (long lines) in string
Campbell Barton [Wed, 1 May 2019 10:31:00 +0000 (20:31 +1000)]
Cleanup: comments (long lines) in string

7 weeks agoCleanup: comments (long lines) in utfconv
Campbell Barton [Wed, 1 May 2019 10:30:17 +0000 (20:30 +1000)]
Cleanup: comments (long lines) in utfconv

7 weeks agoCleanup: comments (long lines) in ghost
Campbell Barton [Wed, 1 May 2019 10:23:13 +0000 (20:23 +1000)]
Cleanup: comments (long lines) in ghost

7 weeks agoCleanup: correct arg wrapping from recent cleanup
Campbell Barton [Wed, 1 May 2019 09:26:47 +0000 (19:26 +1000)]
Cleanup: correct arg wrapping from recent cleanup

7 weeks agoUV Sculpt: improve tool-system integration
Campbell Barton [Wed, 1 May 2019 08:10:34 +0000 (18:10 +1000)]
UV Sculpt: improve tool-system integration

In 2.7x UV sculpt was a kind of sub-mode
(a toggle with it's own key-map & drawing code).

Move this to an operator that uses the tool-system,
this simplifies internal logic, especially brush selection
which now matches sculpt and other paint modes.

- Remove toggle used to enable uv sculpt.
- Expose the brush, which was already used but there was no way to
  select different brushes.
- Make UV sculpt use paint paint tool slots
  (using brushes how all other paint mode currently do).
- Move UV Sculpt keymap to the tools keymap.
- Remove Q to toggle UV sculpt mode,
  S/P/G keys to switch tools.

7 weeks agoUI: show UV sculpt panels in the image editor
Campbell Barton [Wed, 1 May 2019 04:54:07 +0000 (14:54 +1000)]
UI: show UV sculpt panels in the image editor

7 weeks agoFix line width for image sample size display
Campbell Barton [Wed, 1 May 2019 04:32:51 +0000 (14:32 +1000)]
Fix line width for image sample size display

7 weeks agoEevee: Lookdev: Cleanup implementation & support for Bloom and TAA
Clément Foucault [Tue, 30 Apr 2019 20:23:54 +0000 (22:23 +0200)]
Eevee: Lookdev: Cleanup implementation & support for Bloom and TAA

Make Lookdev works with bloom and TAA by rendering it before TAA and fixing
the motion vectors of the lookdev balls.

Rework Lookdev to remove much of its complexity. Use simpler matrices with
more understandable setup code.

7 weeks agoEevee: Add support for alpha background in viewport
Clément Foucault [Wed, 1 May 2019 09:01:01 +0000 (11:01 +0200)]
Eevee: Add support for alpha background in viewport

Viewport now displays alpha checkerboard pattern like Cycles does when
film alpha is set to "Transparent".

Some small workarounds were necessary for Depth of Field and correct TAA

7 weeks agoDRW: Draw checkerboard alpha pattern for Cycles
Clément Foucault [Wed, 1 May 2019 08:51:27 +0000 (10:51 +0200)]
DRW: Draw checkerboard alpha pattern for Cycles

Add checkerboard alpha pattern like it was in 2.79

Clément Foucault [Wed, 1 May 2019 08:48:13 +0000 (10:48 +0200)]

Just basic alpha under operation with premultiplied source.

7 weeks agoCleanup: long function call in interface_draw.c
Clément Foucault [Wed, 1 May 2019 08:46:37 +0000 (10:46 +0200)]
Cleanup: long function call in interface_draw.c

7 weeks agoIndustry Compat Keymap: Support recent feature to deselecting by clicking in empty...
William Reynish [Wed, 1 May 2019 09:24:48 +0000 (11:24 +0200)]
Industry Compat Keymap: Support recent feature to deselecting by clicking in empty areas

Same as default keymap

7 weeks agoCleanup: Redundant struct specifier
Sergey Sharybin [Wed, 1 May 2019 08:51:19 +0000 (10:51 +0200)]
Cleanup: Redundant struct specifier

7 weeks agoCleanup: use BKE_pchan_mat3_to_rot / rot_to_mat3 utility functions
Campbell Barton [Wed, 1 May 2019 03:55:50 +0000 (13:55 +1000)]
Cleanup: use BKE_pchan_mat3_to_rot / rot_to_mat3 utility functions

7 weeks agoBKE_pchan: add BKE_pchan_rot_to_mat3
Campbell Barton [Wed, 1 May 2019 03:15:44 +0000 (13:15 +1000)]
BKE_pchan: add BKE_pchan_rot_to_mat3

Useful to get the un-scaled rotation from a pose channel.

7 weeks agoUI: move image paint panels into the image side-bar
Campbell Barton [Wed, 1 May 2019 02:35:00 +0000 (12:35 +1000)]
UI: move image paint panels into the image side-bar

- Move painting brush panels into the image side-bar.
- Add active tool panel to the image side-bar.

7 weeks agoFix T64049: Unset space type crashes
Campbell Barton [Wed, 1 May 2019 01:48:39 +0000 (11:48 +1000)]
Fix T64049: Unset space type crashes

7 weeks agoClangFormat: run with ReflowComments on source/
Campbell Barton [Wed, 1 May 2019 01:09:22 +0000 (11:09 +1000)]
ClangFormat: run with ReflowComments on source/

Prepare for enabling ReflowComments.

7 weeks agoCleanup: comments (long lines) in ikplugin
Campbell Barton [Wed, 1 May 2019 01:01:20 +0000 (11:01 +1000)]
Cleanup: comments (long lines) in ikplugin

7 weeks agoCleanup: comments (long lines) in compositor
Campbell Barton [Wed, 1 May 2019 00:50:02 +0000 (10:50 +1000)]
Cleanup: comments (long lines) in compositor

7 weeks agoCleanup: comments (long lines) in draw
Campbell Barton [Wed, 1 May 2019 00:35:46 +0000 (10:35 +1000)]
Cleanup: comments (long lines) in draw

7 weeks agoCleanup: redundant lookup
Campbell Barton [Tue, 30 Apr 2019 22:36:36 +0000 (08:36 +1000)]
Cleanup: redundant lookup