Blender Git Commits

Blender Git "temp-eevee-gpencil-rewrite" branch commits.

Page: 7 / 9

April 21, 2021, 20:06 (GMT)
EEVEE: Check updates using recalc flag only an object maps.

This avoids having to reset accumulation if nothing affecting
eevee changes.
April 19, 2021, 12:29 (GMT)
EEVEE: Light: Add back LTC area lights and lighting function

I did a small optimization pass to avoid some division and
redundant computation.

Also cleans-up the Light vector usage.
April 18, 2021, 15:30 (GMT)
EEVEE: Light: 2.5D Culling: Initial implementation

This follows closely the implementation of 2.5D tiled light
culling described in the presentation:
"Improved Culling for Tiled and Clustered Rendering"
from Michal Drobot
http://advances.realtimerendering.com/s2017/2017_Sig_Improved_Culling_final.pdf

I chose the tile + Z binning approach for its high depth range support
and low CPU overhead & low memory consumption compared to the cluster
based culling. The cons is that the culling is a bit less precise in
some aspect but it is quite balanced.

The culling is done by the `Culling` object which is templated to easily
be reused for light probes cullg.

The Z-binning process is described starting from slide 20 in the
reference pdf.

I also implemented a debug pass to visualize false negative (light
culled when they shouldn't) and light evaluation density.
This is useful to detect failure case and hotspot. This could be exposed
as a developper only render pass in the future.

Some optimization of the reference implementation requires extensions
not yet added to GPU module and will be added later.
April 17, 2021, 23:15 (GMT)
GPUTexture: Fix missing cases for integer textures
April 17, 2021, 23:14 (GMT)
DRW: Fix const correctness
April 16, 2021, 00:16 (GMT)
EEVE: Lights: Implement simple culling scheme.

This has the basis of clustered light culling but does not yet do
it. The lights are only culled by frustum.

Its the same as if there was only one Cell for the entire Viewport.
April 14, 2021, 23:05 (GMT)
EEVEE: Split shading passes to eevee_shading.cc
April 14, 2021, 22:49 (GMT)
EEVEE: Refactor: Split implementation to .cc file

This also wrap GPUFrameBuffer & GPUTexture inside eevee:Framebuffer
and eevee:Texture to improve managment.

Another cleanup was to put all members of `Instance` public to
avoid much complexity in accessing the data with modules
dependencies.

Also split velocity View related data to `class Velocity` and
rename previous `Velocity` to `VelocityModule`
April 14, 2021, 14:46 (GMT)
EEVEE: Lights: Support infinite light count

Support infinite light count by dividing rendering into chucks of
LIGHT_MAX. Forward passes are just rendered again and deferred passes
(not implemented yet) will just have to have multiple light evaluation
passes.
April 14, 2021, 11:21 (GMT)
EEVEE: Lights: Initial Work in progress implementation

Only supports simple point lights for now
April 14, 2021, 11:20 (GMT)
DRW: Make draw_debug.h C++ compatible
April 14, 2021, 10:08 (GMT)
Cleanup: EEVEE: RenderPasses: Use iterator
April 13, 2021, 22:24 (GMT)
EEVEE: Add back object update and view update detection.
April 12, 2021, 21:06 (GMT)
EEVEE: Motion Blur: Fix cdf inversion and a typo
April 12, 2021, 19:34 (GMT)
EEVEE: Motion Blur: Add back post process motion blur

This is almost the same thing as old implementation.
Differences:
- We clamp the motion vectors to their maximum when sampling the velocity buffer.
- Velocity rendering (and data manager) is separated from motion blur. This allows
outputing the motion vector render pass and in the future use motion vectors to
reproject older frames.
- Vector render pass support (only if motion blur is disabled, just like cycles).
- Velocity tiles are computed in one pass (simpler code, less CPU overhead, less
VRAM usage, maybe a bit slower but imperceivable (< 0.3ms)).
- Two velocity passes are outputed, one for motion blur fx (applied per shading view)
and one for the vector pass. This could be optimized further in the future.
- No current support for deformation & hair (to come).
April 9, 2021, 23:40 (GMT)
EEVEE: Add wrapper to simplify ubo managment
April 9, 2021, 19:42 (GMT)
EEVEE: Motion Blur: Add back accumulation logic

Bonus addition, support for shutter curve.

Compared to the old implementation, the per time step sync function
is lighter and localized. Also it does not require a full engine
"reboot" in order to work.

Also modifies camera setup to be compatible with future camera motion
blur.
April 9, 2021, 19:42 (GMT)
EEVEE: Motion Blur: Add back accumulation logic

Bonus addition, support for shutter curve.

Compared to the old implementation, the per time step sync function
is lighter and localized. Also it does not require a full engine
"reboot" in order to work.
April 8, 2021, 21:13 (GMT)
EEVEE: Depth Of Field: Fix ortho factor

When will it end? Is there some UB somewhere in cycles?
April 8, 2021, 21:11 (GMT)
EEVEE: Sampling: Add UBO containing LDS random numbers

We have many dimensions to avoid correlation between effects.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021