Age | Commit message (Collapse) | Author |
|
Missing code from 3d083f37. Need to ensure that ID properties
are properly allocated and restored on read.
|
|
- 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).
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
Part of T60660
|
|
|
|
This interfered with drawing the mesh.
|
|
|
|
Usual DEG tag missing.
Also do not tag/send notifiers when we do not change anything!
|
|
Was missing conversion of ID_RECALC_GEOEMTRY to curve's operation.
|
|
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.
|
|
|
|
App-templates & keymap names had their extensions removed twice.
Confusing for filenames containing dots.
|
|
|
|
This allows operators to distinguish between redo and executing
repeat last operator, needed for T60777 fix.
|
|
This reverts commit 1d908bffddb4c9815a986305ad4588032b81deee.
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.
|
|
|
|
This abbreviation isn't used anywhere else in Blender's UI.
|
|
Shouldn't cause issues, but better safe than sorry.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
The value worked in 2.7, but not with copy-on-write in 2.8.
|
|
|
|
|
|
The integrator maximum number of closures was not set properly for the CPU/mega
kernels to match the actual available memory. Before relatively recent code
refactoring we did not use this value in those kernels so it worked fine.
|
|
We need to force UI to fully redraw, BKE_id_delete & co won't do that
for us.
|
|
|
|
Reviewers: brecht
Differential Revision: https://developer.blender.org/D4248
|
|
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
|
|
Replace legacy view matrix access with same one used by Eevee.
|
|
Freestyle Python scripts need to get the evaluated view layer and scene,
not the original one.
|
|
|
|
To match Cycles we can hide freestyle lines for these.
|
|
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.
|
|
"The geometry shader uses varying _I;gl_PerVertex;gl_ClipDistance, but previous shader does not write to it."
|
|
|
|
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.
|
|
|
|
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.
|
|
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
|
|
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
|
|
Packing was not being called after multi-object editing changes. Includes code
refactoring to make function parameters more clear.
|
|
|