Commit Graph

64350 Commits

Author SHA1 Message Date
2f7279a413 Fix T60204: Crash when opening a File
Missing code from 3d083f37. Need to ensure that ID properties
are properly allocated and restored on read.
2019-01-25 15:20:30 +01:00
71e3002824 Workbench: Depth Of Field: Optimisation
- Compute samples positions on CPU.
- Use 3x3 Box blur instead of 2x2.
- Implement bokeh parameters.

With this commit, dof performance is almost negligeable.
The quality is a bit lower than before but can be improve. Also now big
Circle of confusion are supported (up to 200px).
Cost is ~1.25ms on AMD Vega with a 2560p viewport than full HD and
pretty shallow depth of field.

Coc downsampling and dilation is not used anymore for now (commented).
2019-01-25 15:04:18 +01:00
3f6e14e667 Workbench: Depth Of Field: Initial Commit
The algorithm used is borrowed from :
http://tuxedolabs.blogspot.com/2018/05/bokeh-depth-of-field-in-single-pass.html

This makes it possible to have a decent blur for foreground over defocused
background in one pass only.

The algorithm is using a gather approach that is much faster
than the scatter approach used in Eevee. This makes it possible to have
custom bokeh shapes (not implemented yet) which would be impossible with
a separable gaussian technique.

The blur is done in 2 steps. The first one define the shape of the bokeh
and the second that fill the undersampling.

A downsample max-CoC tile texture speed up the gathering process.
2019-01-25 15:02:49 +01:00
aae2bf7735 T60745: GPU texture alloc failed when opening Preference Windows
Was generating INVALID_FRAMEBUFFER here instead of failled texture alloc.

Add safety asserts in gpu_texture.c and clamp minimum size to 1 inside
GPU_offscreen_create.
2019-01-25 15:02:30 +01:00
3fb72a5432 GP: Use Fill color when drawing strokes for no stroke materials
Artists requested to show the stroke while drawing a new stroke using a material with fill color only, because it's very difficult to see the stroke.

Now the stroke shows always but using the fill color, not the stroke color because maybe is not set.
2019-01-25 14:34:56 +01:00
e198c5a175 Fix crash happening with hair step
The issue was caused by the hair step checking whether
particle system needs to have path cache. This was done
in a way which was traversing an entire scene and was
checking every object for particle instance modifier.

Ideally, path cache should be an own operation in the
dependency graph. Or at least, this flag should be set
by dependency graph builder, similar to curve's path.

Since the code was broken already (it was only checking
first particle instance modifier), it is easier to
remove the buggy code, solve the crash and move on for
now.

If this causes an issue, simply set particle system to
be rendered as path.

Fixes crash with playback of Spring scenes.
2019-01-25 14:02:31 +01:00
da13a3bdee Fix texture paint accessing freed memory
Part of T60660
2019-01-25 23:53:53 +11:00
a761233261 Correct last commit, wire xray is supported 2019-01-25 23:36:31 +11:00
30762a0b39 DRW: disable clipping background drawing w/ xray mode
This interfered with drawing the mesh.
2019-01-25 23:30:27 +11:00
8e8fb1520c Depsgraph: use specific tag to update shading 2019-01-25 23:11:58 +11:00
ea5326df86 Fix T59958: Blender 2.80 - Removing second Particle System cache causes crash.
Usual DEG tag missing.

Also do not tag/send notifiers when we do not change anything!
2019-01-25 12:32:19 +01:00
bfa8fcc542 Fix T60839: Deleting bevel object for curve will not update
Was missing conversion of ID_RECALC_GEOEMTRY to curve's operation.
2019-01-25 11:22:22 +01:00
d87e7af1ec T60748 Second try to fix start extreme in Noise modifier
The first point was moving inverted because first vector was inverted. Now, the vector is changed for the first point to get the same direction.
2019-01-25 10:44:46 +01:00
05ebdc2b71 Fix texture paint showing pink texture on load 2019-01-25 17:25:49 +11:00
3d8cbb534f Fix T60777: Grid fill fails when run via Repeat Last 2019-01-25 11:40:22 +11:00
e63c360bcd WM: don't set repeat flag w/ interactive repeat
This allows operators to distinguish between redo and executing
repeat last operator, needed for T60777 fix.
2019-01-25 11:29:41 +11:00
b5a2dc16fc Revert "WM: Repeat Last no longer reuses skip-save properties"
This reverts commit 1d908bffdd.

Enough uses of repeat last expect skip-save properties to be set,
transform being the most obvious example T60777#605681.

I wanted to avoid operators having account for two kinds of 'skip-save'
but this may be unavoidable.
2019-01-25 11:11:07 +11:00
d4433b1bb3 Missed last commit 2019-01-25 11:04:00 +11:00
5632e1b525 Cleanup: replace VSE /w Sequencer
This abbreviation isn't used anywhere else in Blender's UI.
2019-01-25 09:44:32 +11:00
2218bf02dd Cleanup: sort cmake file lists 2019-01-25 08:30:33 +11:00
e72fa714a8 Cleanup: remove duplicated shaders that only added clipping checks
Originally I wanted to avoid adding draw manager specific ifdef's all
over generic shaders however this isn't needed in so many places.

Also there are shaders that are only used by the draw manager so
duplicating them only to have the original unused doesn't make sense.
2019-01-25 08:01:07 +11:00
6d8394d38b DRW: support clipping for camera objects 2019-01-25 07:13:02 +11:00
a4fe338dd8 Cleanup: add missing braces to draw manager 2019-01-25 07:12:13 +11:00
b1f3a86d99 Cleanup: use macro to set flags 2019-01-25 06:34:02 +11:00
6d58339973 Fix smoke clipping being ignored by Cycles and not being editable after baking.
The value worked in 2.7, but not with copy-on-write in 2.8.
2019-01-24 19:47:01 +01:00
7b48e04b6e Fix T59650: adding texture paint slot image shows wrong color. 2019-01-24 19:08:25 +01:00
7a353a7037 Fix T60350: Removed objects that are still in the outliner will crash Blender.
We need to force UI to fully redraw, BKE_id_delete & co won't do that
for us.
2019-01-24 17:45:09 +01:00
b33615a080 Cleanup: remove unused "guide_origin" property 2019-01-24 17:40:30 +01:00
6b5416909e Fix T60816: Specify subtype for some properties of mesh operators
Reviewers: brecht

Differential Revision: https://developer.blender.org/D4248
2019-01-24 17:40:30 +01:00
6100dc6a20 bring back possibility to override camera per view
this can now be found in the sidebar View panel

- uses existing 'lock_camera_and_layers' but renames the property to
'use_local_camera'
- uses RNA_def_property_boolean_negative_sdna to flip the value
- remove the local view code in
rna_SpaceView3D_lock_camera_and_layers_set
- update Python code
- update Addons code will be separate commit

Fixes T60756

Reviewers: billreynish, brecht

Maniphest Tasks: T60756

Differential Revision: https://developer.blender.org/D4247
2019-01-24 17:25:22 +01:00
15bae8ac00 Fix T60095: freestyle not rendering animated camera correctly.
Replace legacy view matrix access with same one used by Eevee.
2019-01-24 16:46:11 +01:00
820d1b249d Fix freestyle renders not including some types of animation.
Freestyle Python scripts need to get the evaluated view layer and scene,
not the original one.
2019-01-24 16:46:11 +01:00
391e35d5a0 Fix T60669: freestyle rendering holdout / indirect only collections.
To match Cycles we can hide freestyle lines for these.
2019-01-24 16:46:11 +01:00
95db2e8749 Fix GPU linking Error.
"The geometry shader uses varying _I;gl_PerVertex;gl_ClipDistance, but previous shader does not write to it."
2019-01-24 12:42:20 -02:00
7446c76187 Fix T59175: Compress file isn't working when Load UI is disabled.
Do not see why flags from loaded file should be skipped when we do not
load UI, this is not related to UI...

Think we can keep flags from file in both cases, should this raise some
other issue we'll just have to fine tune masked flags in each case
separately.
2019-01-24 16:13:37 +01:00
8be7ed1408 Merge branch 'blender2.7' 2019-01-24 15:44:06 +01:00
3a527357a5 Cycles: change default displacement method to bump mapping again.
Even though it makes sense logically to have displacement actually displace
the mesh, this is causing a lot of confusion for existing users that are used
to the previous behavior. Further, since Eevee does not support displacement
yet and the discrepancy between the viewport and final render is problematic.
2019-01-24 15:34:47 +01:00
5fc4214ada Fix T60133: texture paint external editing not working
Operator relys on 3DView and was failing from Topbar and Properties
Editor. Now tries to find the biggest 3DView and uses that.

Reviewers: brecht

Maniphest Tasks: T60133

Differential Revision: https://developer.blender.org/D4215
2019-01-24 15:34:44 +01:00
9eee2aa20c Animation player: tweaks for zooming in and out
Use zoom steps lower than 1. This allows to zoom out a high-res
image. For example, before it was not possible to maker 4K image
to fit on FullHD monitor.

Also, don't force zoom to be above 1. Not sure why that was done,
but this disallows zooming out.

It is still not possible to zoom in higher than the window size
allows. In order to support this the player needs to be refactored
in a way that allows to decouple zoom from window size.

Fixes T59177: Animplayer extreme zooms in when playing rendered animation
2019-01-24 15:13:23 +01:00
d011ae1e03 Fix T59972: UV live unwrap does not pack islands.
Packing was not being called after multi-object editing changes. Includes code
refactoring to make function parameters more clear.
2019-01-24 15:01:55 +01:00
bd64206e1a Fix T59933: timeline keyframe display not updating when selecting objects. 2019-01-24 15:01:54 +01:00
a4a60358b5 Fix T58502: scopes don't work in the image editor
There were two problems:
1. The scopes were only updated when the "Scopes" category is active,
   but this category has been removed in Blender 2.8.
2. The scopes moved from the TOOLS to the UI region.
   However the update-code still searched for the "Scopes" category
   in the TOOLS region.

Both problems are fixed with this commit:
1. Scopes have there own category again.
2. The update code is in the correct draw function now.

Reviewers: brecht

Differential Revision: https://developer.blender.org/D4245
2019-01-24 14:41:44 +01:00
bc32240105 Fix T60810: crash editing mesh with subdivision modifier
typo in rBdc7e49298940

Reviewers: fclem

Maniphest Tasks: T60810

Differential Revision: https://developer.blender.org/D4244
2019-01-24 14:36:01 +01:00
6ff4babfd4 Fix T60795: Crash when joining objects with shape keys.
Stupid mistake really, cannot use NO_MAIN here, temp shapekey is in
Main. Using/fully supporting out-of-main temp IDs is still a bit WIP...
2019-01-24 14:33:12 +01:00
f15a5440a1 Multires reshape: correct grids level allocation
Similar to masking grids, need to also check existing grid level.

This is because edit mode might leave allocated grid with 0 levels.
2019-01-24 14:25:06 +01:00
f172cea484 Fix T59423: Mesh deform modifier bind bug causing spiky deformations.
Same as rBac316a6526c7.
(I should have commited in 2.7 first and then merged in 2.8).
2019-01-24 10:32:28 -02:00
ac316a6526 Fix T59423: Mesh deform modifier bind bug causing spiky deformations.
The intersection was being tested between ray and tri, the correct one is segment and tri.
2019-01-24 10:20:59 -02:00
7faf0c8c2f Fix T59145: don't clamp color value in Hue Saturation Value node in eevee 2019-01-24 13:58:59 +01:00
7b35ef23a0 Fix T60807: Can't select when active pose object is hidden
Object mode locking wasn't accounting for the 3D view context
which doesn't have an active object once its hidden.
2019-01-24 23:25:18 +11:00
4162b83590 Cleanup: use braces for single line if statements 2019-01-24 23:25:18 +11:00