blender.git
22 months agoDopesheet-Timeline: Channels list now gets hidden automatically when switching to...
Joshua Leung [Fri, 20 Apr 2018 10:20:09 +0000 (12:20 +0200)]
Dopesheet-Timeline: Channels list now gets hidden automatically when switching to dopesheet-timeline

22 months agoAdd utility to make it easier to get editors/regions to redraw after changing visibil...
Joshua Leung [Fri, 20 Apr 2018 10:14:07 +0000 (12:14 +0200)]
Add utility to make it easier to get editors/regions to redraw after changing visibility of regions

Previously, there was only an API method to toggle and update, but sometimes you
want to explicitly hide instead of just toggling.

22 months agoDopesheet-Timeline: Collapse summary channel by default (so that it's more like defau...
Joshua Leung [Thu, 19 Apr 2018 16:51:42 +0000 (18:51 +0200)]
Dopesheet-Timeline: Collapse summary channel by default (so that it's more like default timeline)

TODO: Still can't figure out a way to get the channels region to hide

22 months agoFix: Toggling preview range from timeline button didn't update animation editors
Joshua Leung [Thu, 19 Apr 2018 16:44:57 +0000 (18:44 +0200)]
Fix: Toggling preview range from timeline button didn't update animation editors

Most of these were missing the message bus stuff that now handles the update flushing.

22 months agoPreview Range: Show preview range using a different color (based on ANIM_ACTIVE)
Joshua Leung [Thu, 19 Apr 2018 16:21:05 +0000 (18:21 +0200)]
Preview Range: Show preview range using a different color (based on ANIM_ACTIVE)
instead of using "black" curtains

With most editors now showing the start/end range by default, we need a way of
easily distinguishing when preview range is now enabled. By using a different color
(the exact color used is something we can change/adjust later), there is a more distinct
visual difference between them, making it easier to see what's happening.

22 months agoAnimEditors: Draw start/end frame ranges on all timelines by default
Joshua Leung [Thu, 19 Apr 2018 16:03:15 +0000 (18:03 +0200)]
AnimEditors: Draw start/end frame ranges on all timelines by default

This uses the global scene range, with styling matching the sequencer's start/end
frame drawing.

(The graph editor's "drivers" mode is exempt, as that doesn't really display time
in a linear way, so the start/end frames don't apply)

22 months agoMove the set start/end frame operators from Timeline to Animation module
Joshua Leung [Thu, 19 Apr 2018 14:51:16 +0000 (16:51 +0200)]
Move the set start/end frame operators from Timeline to Animation module

Eventually the idea is that they'll get remapped to some more global/generic hotkey
that can get used across all animation editors (see T54728). However, to facilitate
the removal of the timeline editor, it's better we do this now.

22 months agoDopesheet-Timeline: Ported over all (missing) notifiers/listeners/etc. from timeline...
Joshua Leung [Thu, 19 Apr 2018 14:31:19 +0000 (16:31 +0200)]
Dopesheet-Timeline: Ported over all (missing) notifiers/listeners/etc. from timeline to dopesheet

We already had most of these, but some of these were missing (e.g. pointcache and animplay)
as well as messagebus stuff. Hopefully I didn't miss any!

22 months agoCleanup: Remove the "SpaceTime->caches" and "SpaceTimeCache" stuff
Joshua Leung [Thu, 19 Apr 2018 14:28:27 +0000 (16:28 +0200)]
Cleanup: Remove the "SpaceTime->caches" and "SpaceTimeCache" stuff

These were runtime only data, used in pre 2.8 Blender to make use of GL vertex arrays
to draw these more efficiently. Maybe we might restore these sometime as an optimisation
step, but for now, they're not needing and were confusing.

22 months agoDopesheet-Timeline: Ported over cache indicator drawing + settings used to control...
Joshua Leung [Thu, 19 Apr 2018 14:04:26 +0000 (16:04 +0200)]
Dopesheet-Timeline: Ported over cache indicator drawing + settings used to control their visibility

These now live in the action editor/dopesheet related files.

Apart from these, the timeline didn't actually have other settings
of its own that were of any interest to anyone.

22 months agoDopesheet-Timeline: First steps towards making the Timeline a mode of the DopeSheet...
Joshua Leung [Thu, 19 Apr 2018 12:41:20 +0000 (14:41 +0200)]
Dopesheet-Timeline: First steps towards making the Timeline a mode of the DopeSheet Editor

For many years, animators have been requesting the ability to edit keyframes in the
timeline. However, implementing such tools in the timeline quickly becomes a slippery
slope, where we'll eventually end up having to duplicate all the functionality from the
dopesheet editor.

Discussing with William and Pablo this morning, we realised that perhaps it might be possible
to just make the Timeline a mode of the Dopesheet Editor (and kill off the old standalone
Timeline), meaning that we essentially get all the Dopesheet Editor goodness for free!
Also, with some proposed UI updates (i.e. allowing "submodes" of editors to be part of the
the main editors selector), it might not even matter that there isn't an "actual" timeline
editor anymore.

This commit implements the following changes (which are actually sufficient for supporting
most basic workflows):
* Timeline mode in Dopesheet Editor
* Tweaks to UI code to make the Timeline header/menus show up in Dopesheet editor

TODO:
* Hide channels list when switching to timeline mode
* Port over cache-file indicators
* Add missing timeline-only settings that need a new home in the dopesheet
* Go through fixing all timeline editor operators (e.g. Bind to camera)
* Port over start/end frame shading (and adjust preview range rendering to make the
  distinction between these clear)
* Remove old timeline editor, and transfer over any leftover code

22 months agoEevee: TAA Reprojection: Initial implementation
Clément Foucault [Fri, 20 Apr 2018 16:24:14 +0000 (18:24 +0200)]
Eevee: TAA Reprojection: Initial implementation

This "improve" the viewport experience by reducing the noise from random
sampling effects (SSAO, Contact Shadows, SSR) when moving the viewport or
during playback.

This does not do Anti Aliasing because this would conflict with the outline
pass. We could enable AA jittering in "only render" mode though.

There are many things to improve but this is a solid basis to build upon.

22 months agoEevee: TAA Reprojection: Add layer property.
Clément Foucault [Fri, 20 Apr 2018 16:20:39 +0000 (18:20 +0200)]
Eevee: TAA Reprojection: Add layer property.

22 months agoEevee: Add Velocity pass.
Clément Foucault [Fri, 20 Apr 2018 16:18:33 +0000 (18:18 +0200)]
Eevee: Add Velocity pass.

This pass create a velocity buffer which is basically a 2D motion vector
texture. This is not yet used for rendering but will be usefull for motion
blur and temporal reprojection.

22 months agoDRW: Cleanup: Make DRW_shgroup_uniform_mat4 uniform expect float (*)[4]
Clément Foucault [Fri, 20 Apr 2018 16:10:00 +0000 (18:10 +0200)]
DRW: Cleanup: Make DRW_shgroup_uniform_mat4 uniform expect float (*)[4]

Same thing for mat3.

22 months agoEevee: Contact Shadows: Fix blue noise correlation.
Clément Foucault [Thu, 19 Apr 2018 16:05:25 +0000 (18:05 +0200)]
Eevee: Contact Shadows: Fix blue noise correlation.

22 months agoUI: New Global Top-Bar (WIP)
Julian Eisel [Fri, 20 Apr 2018 15:14:03 +0000 (17:14 +0200)]
UI: New Global Top-Bar (WIP)

== Main Features/Changes for Users

* Add horizontal bar at top of all non-temp windows, consisting out of two horizontal sub-bars.
* Upper sub-bar contains global menus (File, Render, etc.), tabs for workspaces and scene selector.
* Lower sub-bar contains object mode selector, screen-layout and render-layer selector. Later operator and/or tool settings will be placed here.
* Individual sections of the topbar are individually scrollable.
* Workspace tabs can be double- or ctrl-clicked for renaming and contain 'x' icon for deleting.
* Top-bar should scale nicely with DPI.
* The lower half of the top-bar can be hided by dragging the lower top-bar edge up. Better hiding options are planned (e.g. hide in fullscreen modes).
* Info editors at the top of the window and using the full window width with be replaced by the top-bar.
* In fullscreen modes, no more info editor is added on top, the top-bar replaces it.

== Technical Features/Changes

* Adds initial support for global areas

  A global area is part of the window, not part of the regular screen-layout.
  I've added a macro iterator to iterate over both, global and screen-layout level areas. When iterating over areas, from now on developers should always consider if they have to include global areas.
* Adds a TOPBAR editor type

  The editor type is hidden in the UI editor type menu.
* Adds a variation of the ID template to display IDs as tab buttons (template_ID_tabs in BPY)
* Does various changes to RNA button creation code to improve their appearance in the horizontal top-bar.
* Adds support for dynamically sized regions. That is, regions that scale automatically to the layout bounds.

  The code for this is currently a big hack (it's based on drawing the UI multiple times). This should definitely be improved.
* Adds a template for displaying operator properties optimized for the top-bar. This will probably change a lot still and is in fact disabled in code.

Since the final top-bar design depends a lot on other 2.8 designs (mainly tool-system and workspaces), we decided to not show the operator or tool settings in the top-bar for now. That means most of the lower sub-bar is empty for the time being.

NOTE: Top-bar or global area data is not written to files or SDNA. They are simply added to the window when opening Blender or reading a file. This allows us doing changes to the top-bar without having to care for compatibility.

== ToDo's

It's a bit hard to predict all the ToDo's here are the known main ones:
* Add options for the new active-tool system and for operator redo to the topbar.
* Automatically hide the top-bar in fullscreen modes.
* General visual polish.
* Top-bar drag & drop support (WIP in temp-tab_drag_drop).
* Improve dynamic regions (should also fix some layout glitches).
* Make internal terminology consistent.
* Enable topbar file writing once design is more advanced.
* Address TODO's and XXX's in code :)

Thanks @brecht for the review! And @sergey for the complaining ;)

Differential Revision: D2758

22 months agoMerge branch 'blender2.8' of git.blender.org:blender into blender2.8
Jeroen Bakker [Fri, 20 Apr 2018 14:42:33 +0000 (16:42 +0200)]
Merge branch 'blender2.8' of git.blender.org:blender into blender2.8

22 months agoWorkbench: Removed Clay engine draw mode
Jeroen Bakker [Fri, 20 Apr 2018 14:40:08 +0000 (16:40 +0200)]
Workbench: Removed Clay engine draw mode

- need a draw mode in workbench engine.
- reorganized render engine retrieval in 3d view. There are 2 places
where this happenes 1. 3d view draw code and 2. draw manager.
the draw manager code is not used for external engines, currently added
an exception in for cycles. will need to have a better solution in
place.

22 months agoMore debug timing info from main RNA diffing func.
Bastien Montagne [Fri, 20 Apr 2018 14:04:27 +0000 (16:04 +0200)]
More debug timing info from main RNA diffing func.

22 months agoUI: move manipulator to tool-system
Campbell Barton [Fri, 20 Apr 2018 13:59:42 +0000 (15:59 +0200)]
UI: move manipulator to tool-system

Current manipulator now follows active tool.

22 months agoUI: Python API defining dynamic icons
Campbell Barton [Fri, 20 Apr 2018 13:25:18 +0000 (15:25 +0200)]
UI: Python API defining dynamic icons

Currently only able to define geometry icons.

22 months agoUI: Support for runtime geometry icons
Campbell Barton [Fri, 20 Apr 2018 13:15:10 +0000 (15:15 +0200)]
UI: Support for runtime geometry icons

22 months agoFix building w/o clay
Campbell Barton [Fri, 20 Apr 2018 13:24:57 +0000 (15:24 +0200)]
Fix building w/o clay

22 months agoMerge remote-tracking branch 'origin/master' into blender2.8
Gaia Clary [Fri, 20 Apr 2018 13:13:06 +0000 (15:13 +0200)]
Merge remote-tracking branch 'origin/master' into blender2.8

22 months agoCleanup (followup commit for D3160)
Gaia Clary [Fri, 20 Apr 2018 13:09:56 +0000 (15:09 +0200)]
Cleanup (followup commit for D3160)

Added some spaces to keep the eInsertKeyFlags enumeration proper

22 months agoMerge remote-tracking branch 'origin/master' into blender2.8
Gaia Clary [Fri, 20 Apr 2018 13:05:22 +0000 (15:05 +0200)]
Merge remote-tracking branch 'origin/master' into blender2.8

22 months agoFix: D3160 Propose to use proper typedefs to avoid confusion
Gaia Clary [Wed, 18 Apr 2018 16:21:27 +0000 (18:21 +0200)]
Fix: D3160 Propose to use proper typedefs to avoid confusion

Differential Revision: https://developer.blender.org/D3160

22 months agoWorkbench: Clay renderer was not accessible anymore
Jeroen Bakker [Fri, 20 Apr 2018 12:52:16 +0000 (14:52 +0200)]
Workbench: Clay renderer was not accessible anymore

issue was the factoring of the workspace engine that was removed. the logic implied that the clay could not be rendered as clay will be a draw mode we placed it already there so it is accessible in any engine. Should eventually fix the clay engine by migrating it to the workbench engine.

22 months agoWorkbench: Draw random object colors
Jeroen Bakker [Fri, 20 Apr 2018 12:38:55 +0000 (14:38 +0200)]
Workbench: Draw random object colors

Basic implementation hashes the ob->id.name. In the future we should use
an golden ratio offset algorithm as it can make a better random
palettte.

22 months agoWorkbench: drawtype_* => drawtype_options, drawtype_lighting
Jeroen Bakker [Fri, 20 Apr 2018 11:40:18 +0000 (13:40 +0200)]
Workbench: drawtype_* => drawtype_options, drawtype_lighting

In the new design the lighting is shared across the drawtypes.
the drawtype_options will be used for viewport draw engine settings

22 months agoWorkbench: Face orientation blending
Jeroen Bakker [Fri, 20 Apr 2018 11:01:16 +0000 (13:01 +0200)]
Workbench: Face orientation blending

22 months agoMerge branch 'blender2.8' into blender2.8-workbench
Jeroen Bakker [Fri, 20 Apr 2018 10:49:02 +0000 (12:49 +0200)]
Merge branch 'blender2.8' into blender2.8-workbench

22 months agoWorkbench: Face orientation overlay
Jeroen Bakker [Fri, 20 Apr 2018 10:46:37 +0000 (12:46 +0200)]
Workbench: Face orientation overlay

- Removed the depth pass as it will reuse the depth pass of the render
engine
- Used gl_FrontFacing to determine the facing
- Blender the result with the render engine result

22 months agoStatic overrides optimization: 30% quicker.
Bastien Montagne [Fri, 20 Apr 2018 10:19:14 +0000 (12:19 +0200)]
Static overrides optimization: 30% quicker.

use stack instead of always allocating memory for RNA paths of checked
properties! From average 167ms to 118ms here with Autumn rig... Still a
lot to improve, but that's already much better.

22 months agoEdit Mesh: multi-object support for 'Symmetrize'
Thomas Beck [Fri, 20 Apr 2018 09:02:19 +0000 (11:02 +0200)]
Edit Mesh: multi-object support for 'Symmetrize'

22 months agoDepsgraph: Add utility functions to go from evaluated to original datablock
Sergey Sharybin [Fri, 20 Apr 2018 09:01:43 +0000 (11:01 +0200)]
Depsgraph: Add utility functions to go from evaluated to original datablock

22 months agoMerge branch 'master' into blender2.8
Bastien Montagne [Fri, 20 Apr 2018 09:01:29 +0000 (11:01 +0200)]
Merge branch 'master' into blender2.8

22 months agoFix usage of lib filepath in previous own commit...
Bastien Montagne [Fri, 20 Apr 2018 09:00:12 +0000 (11:00 +0200)]
Fix usage of lib filepath in previous own commit...

22 months agoMerge branch 'master' into blender2.8
Bastien Montagne [Fri, 20 Apr 2018 08:49:14 +0000 (10:49 +0200)]
Merge branch 'master' into blender2.8

22 months agoAdd debug tool to check validity of current file *before* saving.
Bastien Montagne [Wed, 18 Apr 2018 16:22:18 +0000 (18:22 +0200)]
Add debug tool to check validity of current file *before* saving.

It is hidden behind the --debug-io flag for now.

Idea is to try to catch broken libraries state in current Main before we
actually write the file on disk, should help catching and understanding
what happens in Spring corruption cases.

22 months agoWorkbench: Added the basics for the OverlayMode
Jeroen Bakker [Fri, 20 Apr 2018 08:45:46 +0000 (10:45 +0200)]
Workbench: Added the basics for the OverlayMode

Implemented the face orientation overlay for testing.
Overlay mode is only drawn when there are overlays to be rendered.
The overlay mode is rendered before the object mode.

22 months agoRemove Armature Sketching & Retarget
Campbell Barton [Fri, 20 Apr 2018 08:18:25 +0000 (10:18 +0200)]
Remove Armature Sketching & Retarget

While the feature is interesting, it's not much from what we can tell.

Retargeting is an important feature but needs
to fit in better with typical animation work-flows.

See: T52809

22 months agoEdit Mesh: use a single report for remove doubles
Campbell Barton [Fri, 20 Apr 2018 08:29:28 +0000 (10:29 +0200)]
Edit Mesh: use a single report for remove doubles

Report all doubles removed instead of report per-object.

Also correct use_unselected check.

22 months agoEdit Mesh: Correction to previous commit
Thomas Beck [Fri, 20 Apr 2018 08:22:05 +0000 (10:22 +0200)]
Edit Mesh: Correction to previous commit

The operation is based on faces, not vertices

22 months agoEdit Mesh: multi-object support for 'Make Planar Faces'
Thomas Beck [Fri, 20 Apr 2018 08:15:51 +0000 (10:15 +0200)]
Edit Mesh: multi-object support for 'Make Planar Faces'

22 months agoLimit updates to active view layer only
Sergey Sharybin [Fri, 20 Apr 2018 07:56:55 +0000 (09:56 +0200)]
Limit updates to active view layer only

This is rather uncommon when operator will operate on a non-active view layer,
so there is no need to do full scene update.

This change solves lag first time using Extrude operator in edit mode.

22 months agoVSE Effects: Wipe box: fix compilation errors
Aaron Carlisle [Thu, 19 Apr 2018 22:41:06 +0000 (18:41 -0400)]
VSE Effects: Wipe box: fix compilation errors

This is still broken I cant tell if it is the fact that the in_band
funtion does not work properally or an issue in the box algorithm, or
both.

It seems like the calculation of the size of the box while roatated
needs to be fixed also.

22 months agoEdit Mesh: multi-object support for 'Remove Doubles'
Thomas Beck [Thu, 19 Apr 2018 22:25:10 +0000 (00:25 +0200)]
Edit Mesh: multi-object support for 'Remove Doubles'

@campbellbarton: This operator works (as intended) on an object level, wich means that it won't remove doubles for vertices that are close to each other but contained in different objects - is that really helpful?

22 months agoFix mistake in previous GLSL cleanup commit.
Brecht Van Lommel [Thu, 19 Apr 2018 17:35:36 +0000 (19:35 +0200)]
Fix mistake in previous GLSL cleanup commit.

22 months agoTriangulate operator: Free memleak
Dalai Felinto [Thu, 19 Apr 2018 17:20:18 +0000 (19:20 +0200)]
Triangulate operator: Free memleak

The leak was introduced in the recent changes to
support multiple-object editing.

22 months agoFix build error with Windows / MSVC.
Brecht Van Lommel [Thu, 19 Apr 2018 17:03:54 +0000 (19:03 +0200)]
Fix build error with Windows / MSVC.

22 months agoCleanup: removed unused GLSL shader functions.
Brecht Van Lommel [Thu, 19 Apr 2018 16:15:55 +0000 (18:15 +0200)]
Cleanup: removed unused GLSL shader functions.

22 months agoCleanup: unused functions
Campbell Barton [Thu, 19 Apr 2018 16:14:01 +0000 (18:14 +0200)]
Cleanup: unused functions

22 months agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 19 Apr 2018 16:11:49 +0000 (18:11 +0200)]
Merge branch 'master' into blender2.8

22 months agoCleanup: make variable name English
Campbell Barton [Thu, 19 Apr 2018 16:10:51 +0000 (18:10 +0200)]
Cleanup: make variable name English

22 months agoCleanup: rename vlak -> poly
Campbell Barton [Thu, 19 Apr 2018 16:08:55 +0000 (18:08 +0200)]
Cleanup: rename vlak -> poly

22 months agoCleanup: warnings
Campbell Barton [Thu, 19 Apr 2018 16:07:06 +0000 (18:07 +0200)]
Cleanup: warnings

22 months agoRemove Blender Internal and legacy viewport from Blender 2.8.
Ton Roosendaal [Thu, 19 Apr 2018 15:34:44 +0000 (17:34 +0200)]
Remove Blender Internal and legacy viewport from Blender 2.8.

Brecht authored this commit, but he gave me the honours to actually
do it. Here it goes; Blender Internal. Bye bye, you did great!

* Point density, voxel data, ocean, environment map textures were removed,
  as these only worked within BI rendering. Note that the ocean modifier
  and the Cycles point density shader node continue to work.
* Dynamic paint using material shading was removed, as this only worked
  with BI. If we ever wanted to support this again probably it should go
  through the baking API.
* GPU shader export through the Python API was removed. This only worked
  for the old BI GLSL shaders, which no longer exists. Doing something
  similar for Eevee would be significantly more complicated because it
  uses a lot of multiplass rendering and logic outside the shader, it's
  probably impractical.
* Collada material import / export code is mostly gone, as it only worked
  for BI materials. We need to add Cycles / Eevee material support at some
  point.
* The mesh noise operator was removed since it only worked with BI
  material texture slots. A displacement modifier can be used instead.
* The delete texture paint slot operator was removed since it only worked
  for BI material texture slots. Could be added back with node support.

* Not all legacy viewport features are supported in the new viewport, but
  their code was removed. If we need to bring anything back we can look at
  older git revisions.
* There is some legacy viewport code that I could not remove yet, and some
  that I probably missed.
* Shader node execution code was left mostly intact, even though it is not
  used anywhere now. We may eventually use this to replace the texture
  nodes with Cycles / Eevee shader nodes.

* The Cycles Bake panel now includes settings for baking multires normal
  and displacement maps. The underlying code needs to be merged properly,
  and we plan to add back support for multires AO baking and add support
  to Cycles baking for features like vertex color, displacement, and other
  missing baking features.

* This commit removes DNA and the Python API for BI material, lamp, world
  and scene settings. This breaks a lot of addons.
* There is more DNA that can be removed or renamed, where Cycles or Eevee
  are reusing some old BI properties but the names are not really correct
  anymore.
* Texture slots for materials, lamps and world were removed. They remain
  for brushes, particles and freestyle linestyles.
* 'BLENDER_RENDER' remains in the COMPAT_ENGINES of UI panels. Cycles and
  other renderers use this to find all panels to show, minus a few panels
  that they have their own replacement for.

22 months agoGHOST: Fix `processEvents` not notifying events handled by the system if the window...
Germano [Thu, 19 Apr 2018 14:26:33 +0000 (11:26 -0300)]
GHOST: Fix `processEvents` not notifying events handled by the system if the window is hidden.

Reviewed By: @LazyDodo
Differential Revision: https://developer.blender.org/D3154

22 months agoGWN Immediate: use GWN_BATCH_OWNS_VBO for created with imm immBeginBatch.
Germano [Thu, 19 Apr 2018 14:24:10 +0000 (11:24 -0300)]
GWN Immediate: use GWN_BATCH_OWNS_VBO for created with imm immBeginBatch.

22 months agoUV Editor: Fix memleak with loop_vbo and loop_batch.
Germano [Thu, 19 Apr 2018 14:22:16 +0000 (11:22 -0300)]
UV Editor: Fix memleak with loop_vbo and loop_batch.

22 months agoUV Editor: Style: rename variables to match others.
Germano [Thu, 19 Apr 2018 14:20:13 +0000 (11:20 -0300)]
UV Editor: Style: rename variables to match others.

22 months agoUV Editor: Fix memleak from recent changes.
Clément Foucault [Thu, 19 Apr 2018 13:38:37 +0000 (15:38 +0200)]
UV Editor: Fix memleak from recent changes.

22 months agoWorkbench: removed per collection object color
Jeroen Bakker [Thu, 19 Apr 2018 13:22:30 +0000 (15:22 +0200)]
Workbench: removed per collection object color

Will be part of the collection manager where per collection the
ob->col can be set. This currently depends on DepsGraph +
CollectionManager.

I removed it for now so the code won't influence development

22 months agoMerge branch 'blender2.8' of git.blender.org:blender into blender2.8
Jeroen Bakker [Thu, 19 Apr 2018 12:49:34 +0000 (14:49 +0200)]
Merge branch 'blender2.8' of git.blender.org:blender into blender2.8

22 months agoWorkbench: Diffuse studio lighting
Jeroen Bakker [Thu, 19 Apr 2018 12:48:53 +0000 (14:48 +0200)]
Workbench: Diffuse studio lighting

22 months agoUV Editor: Fix overflow issue with IMM usage.
Clément Foucault [Thu, 19 Apr 2018 12:22:32 +0000 (14:22 +0200)]
UV Editor: Fix overflow issue with IMM usage.

Use batch API in this case.

It's not the ideal solution (slow) but it works.

22 months agoUV Editor: Fix imm assert about program still bound.
Clément Foucault [Thu, 19 Apr 2018 09:22:25 +0000 (11:22 +0200)]
UV Editor: Fix imm assert about program still bound.

22 months agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 19 Apr 2018 10:53:21 +0000 (12:53 +0200)]
Merge branch 'master' into blender2.8

22 months agoCleanup: rename Icon.type -> id_type
Campbell Barton [Thu, 19 Apr 2018 10:52:32 +0000 (12:52 +0200)]
Cleanup: rename Icon.type -> id_type

Confusing when adding non-id icons.

22 months agoMerge branch 'blender2.8' of git.blender.org:blender into blender2.8
Jeroen Bakker [Thu, 19 Apr 2018 10:47:11 +0000 (12:47 +0200)]
Merge branch 'blender2.8' of git.blender.org:blender into blender2.8

22 months agoWorkbench: drawtype object color from collection to v3d
Jeroen Bakker [Thu, 19 Apr 2018 10:44:37 +0000 (12:44 +0200)]
Workbench: drawtype object color from collection to v3d

Now every 3d view can have its own solid draw color setting

22 months agoFix: Armature display settings (names, axes, shapes, etc.) didn't refresh view with...
Joshua Leung [Thu, 19 Apr 2018 10:36:44 +0000 (12:36 +0200)]
Fix: Armature display settings (names, axes, shapes, etc.) didn't refresh view with Copy on Write enabled

Now we need to tag the depsgraph to inform all copies that stuff changed.

22 months agoDepsgraph: Fix crash with copy-on-write enabled
Sergey Sharybin [Thu, 19 Apr 2018 10:03:02 +0000 (12:03 +0200)]
Depsgraph: Fix crash with copy-on-write enabled

Was caused by ec0756af6c7, once again, we can't pass view layer,
need to pass index.

The sad part is that currently we don't have quick way to look up
view layer by index. Can do similar thing as we do for bones and
bases.

22 months agoFix edit-bone select crash w/ multi-edit
Campbell Barton [Thu, 19 Apr 2018 09:28:47 +0000 (11:28 +0200)]
Fix edit-bone select crash w/ multi-edit

Also avoid duplicate base lookups and minor cleanup.

22 months agoFix bug with NULL context being used in undo
Campbell Barton [Thu, 19 Apr 2018 09:12:57 +0000 (11:12 +0200)]
Fix bug with NULL context being used in undo

Caused sculpt to crash.

22 months agoPort particle instance modifier changes from Gooseberry branch
Sergey Sharybin [Wed, 18 Apr 2018 10:14:28 +0000 (12:14 +0200)]
Port particle instance modifier changes from Gooseberry branch

The work is mainly from Lukas Toenne, with some modifications from myself.

Includes following obvious changes:

- Particle system selection is now name-based, with lookup menu.
- Lots of new options to control varieties.

Changes comparing to the Gooseberry branch:

- Default values and versioning code ensures same behavior as the
  old modifier.

- Custom data layers are coming from vertex color, the modifier
  does not create arbitrary layers now. The hope is to keep data
  more manageable, and maybe make it easier to select in the shader
  later on.

  This means, values are quantized to 256 values, but it should be
  enough to get varieties in practice.

Reviewers: brecht, campbellbarton

Reviewed By: brecht

Subscribers: eyecandy

Differential Revision: https://developer.blender.org/D3157

22 months agoMerge branch 'blender2.8' of git.blender.org:blender into blender2.8
Jeroen Bakker [Thu, 19 Apr 2018 08:42:03 +0000 (10:42 +0200)]
Merge branch 'blender2.8' of git.blender.org:blender into blender2.8

22 months agoWorkbench: added draw_scene_finish to workbench_materials
Jeroen Bakker [Thu, 19 Apr 2018 08:41:24 +0000 (10:41 +0200)]
Workbench: added draw_scene_finish to workbench_materials

22 months agoFix use of missing properties in UI after game engine removal.
Brecht Van Lommel [Thu, 19 Apr 2018 08:28:29 +0000 (10:28 +0200)]
Fix use of missing properties in UI after game engine removal.

22 months agoFinish use-after-free in workbench code.
Bastien Montagne [Thu, 19 Apr 2018 08:25:52 +0000 (10:25 +0200)]
Finish use-after-free in workbench code.

GHash should probably not own the data itself, but that's other question
to be fixed later, at least this fixes the crash.

Solution by @fclem, thanks!

22 months agoCode cleanup
Jeroen Bakker [Thu, 19 Apr 2018 07:51:22 +0000 (09:51 +0200)]
Code cleanup

22 months agoMerge branch 'blender2.8' of git.blender.org:blender into blender2.8
Jeroen Bakker [Thu, 19 Apr 2018 07:49:44 +0000 (09:49 +0200)]
Merge branch 'blender2.8' of git.blender.org:blender into blender2.8

22 months agoWorkbench: Option to use Object color
Jeroen Bakker [Thu, 19 Apr 2018 07:45:52 +0000 (09:45 +0200)]
Workbench: Option to use Object color

- added `object_color_type` where the user can set if the collection
determines the color, or the object will be used for the color.
Implemented it as an enum as later this can have a random color option.
- moved OB_LIGHTING_* to DNA_view3d_types and renamed it.
- Fixed some DRY in workbench_materials.c. Can remove more DRY's but
will need to discuss the responsibility of the workbench engine as it
might become part of the eevee renderer.

22 months agoBMesh: Add back call to finish operator
Campbell Barton [Thu, 19 Apr 2018 07:08:46 +0000 (09:08 +0200)]
BMesh: Add back call to finish operator

Was commented in multi-edit patch, finish is needed to free memory.

22 months agoFix T54712: Undo w/ multi-edit failed
Campbell Barton [Thu, 19 Apr 2018 06:58:49 +0000 (08:58 +0200)]
Fix T54712: Undo w/ multi-edit failed

22 months agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 19 Apr 2018 06:18:42 +0000 (08:18 +0200)]
Merge branch 'master' into blender2.8

22 months agoCleanup: style
Campbell Barton [Thu, 19 Apr 2018 06:18:16 +0000 (08:18 +0200)]
Cleanup: style

22 months agoUndo: add missing flag for text delete
Campbell Barton [Thu, 19 Apr 2018 06:16:37 +0000 (08:16 +0200)]
Undo: add missing flag for text delete

22 months agoCleanup: style
Campbell Barton [Thu, 19 Apr 2018 05:47:03 +0000 (07:47 +0200)]
Cleanup: style

22 months agoEdit Mesh: multi-object support for 'Decimate Geometry'
Thomas Beck [Wed, 18 Apr 2018 22:30:05 +0000 (00:30 +0200)]
Edit Mesh: multi-object support for 'Decimate Geometry'

22 months agoEdit Mesh: multi-object support for 'Vertices Only' extrusion (Alt+E)
Thomas Beck [Wed, 18 Apr 2018 22:03:51 +0000 (00:03 +0200)]
Edit Mesh: multi-object support for 'Vertices Only' extrusion (Alt+E)

22 months agoEdit Mesh: multi-object support for 'Individual Faces' extrusion (Alt+E)
Thomas Beck [Wed, 18 Apr 2018 21:55:27 +0000 (23:55 +0200)]
Edit Mesh: multi-object support for 'Individual Faces' extrusion (Alt+E)

22 months agoEdit Mesh: multi-object support for 'Edges Only' extrusion'
Thomas Beck [Wed, 18 Apr 2018 21:53:21 +0000 (23:53 +0200)]
Edit Mesh: multi-object support for 'Edges Only' extrusion'

22 months agoEdit Mesh: multi-object duplicate_move support
Thomas Beck [Wed, 18 Apr 2018 21:17:52 +0000 (23:17 +0200)]
Edit Mesh: multi-object duplicate_move support

22 months agoCleanup: indent face poke example
Campbell Barton [Wed, 18 Apr 2018 21:16:34 +0000 (23:16 +0200)]
Cleanup: indent face poke example

22 months agoCleanup: Use BLI_layer / BLI_view_layer prefix
Campbell Barton [Wed, 18 Apr 2018 19:01:55 +0000 (21:01 +0200)]
Cleanup: Use BLI_layer / BLI_view_layer prefix

Also use doxy sections for iterators.

22 months agoCleanup: consistent changed_multi assignment
Campbell Barton [Wed, 18 Apr 2018 17:20:06 +0000 (19:20 +0200)]
Cleanup: consistent changed_multi assignment

22 months agoEdit Mesh: multi-object flip normals support
Dalai Felinto [Wed, 18 Apr 2018 17:10:02 +0000 (19:10 +0200)]
Edit Mesh: multi-object flip normals support