Commit Graph

17 Commits

Author SHA1 Message Date
Ivan Avdeev
dd1f58d0b7 rt: simplify polygon light sampling
do stupid first triangle sampling, w/ contrib estimation area * dot(LP) / dist^2

4.7ms all poly lights, occupancy 10, vgpr 86(96)
2022-02-04 18:38:36 -08:00
Ivan Avdeev
f9bf0aadd0 rt: add emissive color 2022-02-02 19:04:45 -08:00
Ivan Avdeev
6b381c8970 rt: flatten pass bindings a bit 2022-01-31 20:50:39 -08:00
Ivan Avdeev
b6c96ddebd rt: automate image barriers for passes 2022-01-31 20:40:41 -08:00
Ivan Avdeev
c2d8ecbf79 rt: make denoiser to be just another pass
that requires also supporting compute shaders as passes.
2022-01-30 22:24:55 -08:00
Ivan Avdeev
6c6e6e191d rt: make array of resources
this moves one step closer to fully dynamic resources and automatic
barriers.
next steps would be:
- passes declaring their bindings at creation time
- resources automatically preparing values based on that declaration
- automatic barriers
- single descriptor pool stored at resources (aware of frames in flight,
  etc)
- parsing shaders to generate binding declaration
2022-01-28 22:58:07 -08:00
Ivan Avdeev
90fa6161ac rt: add parallel direct point light pass
(look how easy that was! yay passes!
... still need to do spir-v parsing to extract bindings though)

perf (c1a0 lobby, 720p, 6900XT)
- total ray tracing time: 15.2ms
- primary: 0.7ms v:80/80 s:60/128 lds:2048 o:12/16 (-4v +1o)
- dir poly: 13.8ms v:256/256 s:98/128 lds:2048 o:4/16 (-28v +1o)
- dir point: 0.9ms v:85/96 s:68/128 lds:2048 o:10/16 (-6v +1o)

dir point and poly are not synchronized and overlap. but poly takes most
of the time, and point can only ramp up gradually at the very tail of
poly.
2022-01-27 19:14:56 -08:00
Ivan Avdeev
21ff19be83 rt: convert denoiser to use resources 2022-01-22 18:54:11 -08:00
Ivan Avdeev
460b839a64 rt: add debug labels to command buffer 2022-01-18 22:29:42 -08:00
Ivan Avdeev
f281b40e34 rt: use the same primary out list for image creation 2022-01-09 19:50:43 -08:00
Ivan Avdeev
4b540d28eb rt: pass both positions and "color" to g-buffer
vgpr is up to 57 :(
2022-01-07 22:43:27 -08:00
Ivan 'provod' Avdeev
499adafaed rtx: pass normals to denoiser 2021-11-12 10:42:56 -08:00
Ivan 'provod' Avdeev
a152fb8ac1 rtx: add specular and additive channels 2021-11-09 10:59:36 -08:00
Ivan 'provod' Avdeev
4cfe76dc40 rtx: split color into base and diffuseGI; add dumb denoiser 2021-11-07 13:49:44 -08:00
Ivan 'provod' Avdeev
f570e59961 rtx: move upscaling back from denoiser 2021-11-07 13:49:44 -08:00
Ivan 'provod' Avdeev
3abd5ee259 BROKEN rtx: add denoiser compute stub 2021-11-07 13:49:44 -08:00
Ivan 'provod' Avdeev
fca6857e51 rtx: add denoiser api stub 2021-11-07 13:49:44 -08:00