Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-09-25Cleanup: replace C-style casts with functional casts for numeric typesCampbell Barton
2022-09-02EEVEE-Next: Port to new Draw ManagerClément Foucault
2022-08-16Cleanup: formatCampbell Barton
2022-08-05EEVEE-Next: Depth Of Field: Avoid Framebuffer setup cost for each redrawClément Foucault
Using 2 framebuffer, if the temp textures are the same across redraws, we can avoid the setup cost.
2022-08-05EEVEE-Next: Depth Of Field: Fix black tiles when max blur radius is lowClément Foucault
There was a missing clamp in `dof_slight_focus_coc_tile_get()` and a couple of wrongly handled corner cases.
2022-08-05EEVEE-Next: Depth Of Field: Use random sampling in slight focus gatherClément Foucault
This replace the previous square rings approach by sampling a disk the footprint of the search area. This avoids sampling in areas in corners where there isn't any weight. This results in much less samples needed to acheive a good enough result. The max number of samples for an area of 11x11 px is hard coded to 16 and still gives good results with the final clamp. The number of samples is adaptative and is scaled by the search area (max CoC). The High Quality Slight Defocus is not required anymore. If there is a quality parameter to add, it would be sample count option. But I consider the temporal stability enough for viewport work and render can still render many full scene samples. So I don't see a need for that yet.
2022-08-05EEVEE-Next: Depth Of Field: Improve image stabilityClément Foucault
This adds anti-flicker pass to the slight focus region by using the temporaly stable output from stabilize pass. This also fixes the bilateral weight factor which was reversed.
2022-08-05EEVEE-Next: Depth Of Field: Fix glitch on foreground scattered bokehClément Foucault
This was caused by a missing synchronization. The background gather pass was writting to the same occlusion texture before the end of the scatter draw.
2022-08-05EEVEE-Next: Depth Of Field: Improve Temporal stabilityClément Foucault
This implement a full TAA pass on the depth of field input. An history buffer is kept for each view needing Depth of field. This uses a swap with a `TextureFromPool` in order to not always 2 textures allocated. Since this uses luma weighting without any input, the firefly parameter is now obsolete and has been removed. There is some tiny difference with the Film TAA so the implementation is mostly copy pasted. Also this implementation uses a LDS cache to speedup the TAA computations.
2022-08-05EEVEE-Next: Depth Of Field: Make slight focus max coc more accurateClément Foucault
This moves the slight focus max in tile from the setup pass to the resolve pass. This reduces complexity as there is no need for an extra component in the tile textures. This also avoids skipping any pixels and makes sure the local max matches the dispatched local group size. This should make the resolve pass a little bit faster.
2022-08-02EEVEE-Next: Depth Of Field: Port implementation to compute shaderClément Foucault
This is a port of the previous implementation but using compute shaders instead of using the raster pipeline for every steps. Only the scatter passes is kept as a raster pass for obvious performance reasons. Many steps have been rewritten to take advantage of LDS which allows faster and simpler downsampling and filtering for some passes. A new stabilize phase has been separated from another setup pass in order to improve it in the future with better stabilization. The scatter pass shaders and pipeline also changed. We now use indirect drawcall to draw quads using triangle strips primitives. This reduces fragment shader invocation count & overdraw compared to a bounding triangle. This also reduces the amount of vertex shader invocation drastically to the bare minimum instead of having always 3 verts per 4 pixels (for each ground).