Commit Graph

600 Commits

Author SHA1 Message Date
Ivan 'provod' Avdeev
9f6fa0a8cb rt: make lights data more private 2022-08-15 09:31:13 -07:00
Ivan 'provod' Avdeev
0f0a58d1aa rt: add debug markers to see that uploading lights takes >35ms 2022-08-15 09:31:13 -07:00
Ivan 'provod' Avdeev
1d2e763baf rt: add staging buffer for light grid, fix #368 2022-08-15 09:31:13 -07:00
Ivan 'provod' Avdeev
1d25b718dd rt: split light metadata/grid bindings back in shader
for some reason joining them leads to "invalid spirv" validation errors (and broken lights).
split the bindings back making shaders essentially unchanged, while still keeping a single physical buffer
2022-08-15 09:31:13 -07:00
Ivan 'provod' Avdeev
01d4764cf4 vk: do not compile dumbspter 2022-08-15 09:31:13 -07:00
Ivan 'provod' Avdeev
1b834f37be rt: join metadata and grid buffers together (breaks validation) 2022-08-15 09:31:13 -07:00
Ivan 'provod' Avdeev
608bf020c4 rt: move light metadata uploading to vk_light.c 2022-08-15 09:31:13 -07:00
Ivan 'provod' Avdeev
1f741a48a3 rt: hide emissive_textures info 2022-08-15 09:31:13 -07:00
Ivan 'provod' Avdeev
a5efa71ecb rt: clean vk_light a bit 2022-08-15 09:31:13 -07:00
Ivan Avdeev
202f2b8462 rt: print material load stats 2022-08-13 14:17:43 -07:00
Ivan Avdeev
8ee68935d0 rt: do not print each material texture lookup 2022-08-13 14:17:43 -07:00
NightFox
91df117998
new material paths (#382) 2022-08-12 10:27:41 -07:00
Ivan Avdeev
85c55a7fc9 update after merge, make it build and run with rasterizer
have not checked ray tracing, or playing longer than a couple of minutes
2022-08-08 00:23:38 -07:00
Ivan 'provod' Avdeev
0d0241d088 vk: recreate swapchain on all errors except fatal
Unless we know the error is unrecoverable, try to recreate swapchain anyway.
2022-07-23 14:17:20 -07:00
Ivan 'provod' Avdeev
8291efd08b rt: fix polygon light clusters on missing pvs 2022-07-23 13:39:37 -07:00
Ivan 'provod' Avdeev
af594203f8 rt: fix point light cluster crash on missing pvs
will still crash for polygon lights
2022-07-23 13:39:37 -07:00
Ivan 'provod' Avdeev
9b76f3acb4 rt: fix missing moving polygon lights 2022-07-23 12:06:43 -07:00
NightFox
8baf34768a correct environment light power 2022-07-23 11:34:57 -07:00
Ivan 'provod' Avdeev
ceea3a614e vk: do not forget to upload staging without rays 2022-07-23 11:33:15 -07:00
Ivan 'provod' Avdeev
aaab09fd38 vk: remove old ring buffer helper 2022-07-15 00:50:29 -07:00
Ivan Avdeev
394587adbf vk: remove geometry print stats func 2022-07-09 13:37:09 -07:00
Ivan 'provod' Avdeev
118bdd9985 vk: use debuffer for geometry mem management 2022-07-09 13:37:09 -07:00
Ivan 'provod' Avdeev
a2b083300c vk: move geometry buffer handling to separate files 2022-07-09 13:37:09 -07:00
Ivan 'provod' Avdeev
da97f664d7 vk: recreate swapchain on exclusive mode lost, fix #365 2022-07-09 12:47:45 -07:00
Ivan 'provod' Avdeev
23ad2096a9 rt: remove old single-pipeline raytracer 2022-07-09 11:54:47 -07:00
Ivan 'provod' Avdeev
0fcd05554a implement debuffer on top of flipping buffer 2022-07-09 10:41:59 -07:00
Ivan 'provod' Avdeev
b634d6251e replace debuffer with flipping one where possible 2022-07-09 10:41:59 -07:00
Ivan 'provod' Avdeev
c299ac9ccd do not overwrite ubo buffers being used 2022-07-09 10:41:59 -07:00
Ivan 'provod' Avdeev
f8ea93656f do not overwrite staging data until we know it's been uploaded 2022-07-09 10:41:59 -07:00
Ivan 'provod' Avdeev
be20ae2fb0 vk: coalesce same buffer dest staging regions uploading 2022-07-09 10:41:59 -07:00
Ivan 'provod' Avdeev
f390591647 vk: fix texture mips uploading 2022-07-09 10:41:59 -07:00
Ivan 'provod' Avdeev
88f8aabf8e vk: fix linux build 2022-07-09 10:41:59 -07:00
Ivan 'provod' Avdeev
1d48982e7b vk: refactor staging api a bit 2022-07-09 10:41:59 -07:00
Ivan 'provod' Avdeev
eda34ee9db vk: explicitly synchronize adjacent command buffer submissions 2022-07-09 10:41:59 -07:00
Ivan 'provod' Avdeev
ebcee75c0b vk: silence offset prints in render 2022-07-09 10:41:59 -07:00
Ivan 'provod' Avdeev
4ef261a0b0 vk: print devmem allocation failure reason 2022-07-09 10:41:59 -07:00
Ivan 'provod' Avdeev
09112bedef vk: slightly refactor s/2d/overlay/ 2022-07-09 10:41:59 -07:00
Ivan 'provod' Avdeev
b0f1b60f62 vk: supposedly fix menu glitches
had to ringify 2d buffer too
2022-07-09 10:41:59 -07:00
Ivan 'provod' Avdeev
dc129475bd vk: fix synchronization on resize/swapchain recreation 2022-07-09 10:41:59 -07:00
Ivan 'provod' Avdeev
2c667bdc60 fix func declaration 2022-07-09 10:41:59 -07:00
Ivan 'provod' Avdeev
31c35a4c82 rt: ringify tlas geom buffer 2022-07-09 10:41:59 -07:00
Ivan 'provod' Avdeev
aca2849c5a rt: make kusochki use double-ended buffers 2022-07-09 10:41:59 -07:00
NightFox
4809fc5d02 more correct base_color processing 2022-05-30 18:04:59 -07:00
Ivan 'provod' Avdeev
d2bb972930 rt: assoc dyn polylights w/ render model
fix #355
2022-05-27 11:28:45 -07:00
NightFox
4e1982815c correct payload.emissive.rgb 2022-05-27 11:28:26 -07:00
NightFox
c713c7fc59 correct lighting and gamma-correction improvement 2022-05-27 11:28:26 -07:00
Ivan 'provod' Avdeev
cb427d0839 vk: ring-based dynamic geometry buf alloc
- Clear split between static and dynamic geometry within the same buffer
- Store previous frame geometry data longer
- Use simpler ring buffer for allocation
- Add waf unit tests for alolcator

Known issues:
- ray tracing still glitches a lot
2022-05-14 14:00:13 -07:00
Ivan 'provod' Avdeev
fed12884dc vk: ne sri v log 2022-05-04 09:55:13 -07:00
Ivan 'provod' Avdeev
608aa4137d vk: use staging for uploading geometry 2022-05-04 09:23:37 -07:00
Ivan 'provod' Avdeev
c5012328d6 vk: pick device memory slot based on type index 2022-04-30 00:28:52 -07:00