Age | Commit message (Collapse) | Author |
|
Done using:
source/tools/utils_maintenance/c_sort_blocks.py
|
|
|
|
|
|
|
|
|
|
Comment or remove unused defines.
|
|
|
|
|
|
Pretty straight forward. Just an option to turn the DoF per viewport.
Default is off as in 2.79.
|
|
|
|
The particles were using the scale of the original object and the thickness of the stroke was not correct. Now, the scale is applied by particle.
|
|
- 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.
|
|
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.
|
|
|
|
This interfered with drawing the mesh.
|
|
|
|
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 geometry shader uses varying _I;gl_PerVertex;gl_ClipDistance, but previous shader does not write to it."
|
|
typo in rBdc7e49298940
Reviewers: fclem
Maniphest Tasks: T60810
Differential Revision: https://developer.blender.org/D4244
|
|
The problem was related to cache data that was removed from memory before the FX finished. This could affect to any FX.
Now all the information is saved in the FX itself in runtime struct to keep memory safe when cache memory is released.
|
|
|
|
|
|
|
|
|
|
Object selection now supports clipping.
|
|
|
|
DRW_shader_get_builtin_shader can replace GPU_shader_get_builtin_shader
when we need to support clipping.
Use this for loose point & wire drawing in object mode,
clips edges in lattice edit mode.
|
|
Color needed to be converted to linear in the engine,
not the theme.
|
|
Avoid using pointer to pointer when building shader groups.
|
|
Only for workbench solid/wire modes.
|
|
|
|
Each engine was doing this on its own.
Move to DRWContextState, use an enum.
|
|
Split out shader struct, no function changes.
|
|
|
|
Information taken from related files committed at the time.
|
|
Matches 2.7x behavior.
|
|
Addition of clipping from 7467049055a7
didn't account for non viewport display.
|
|
|
|
We'll need to replace built-in shaders to add support for clipping.
|
|
Add 'G_draw' for all draw manager globals,
avoids adding extern to each file.
Connection between `ts` and `globals_ubo` wasn't obvious,
now called `G_draw.block` & `G_draw.block_ubo`.
|
|
|
|
|
|
Avoids messy conditional defines and inline lib allocation.
|
|
While verbose, this is a more flexible way to construct shaders.
Libs & defines can be optionally included for each shader type
which was previously done with inline string creation.
|
|
|
|
These only contain shaders, so name Shaders instead of ShaderData.
|
|
Fix T60667: Eevee: reflection plane bug in rendered view.
|