Commit graph

228 commits

Author SHA1 Message Date
Kevin Caccamo
9ae145358f
Fix GCC compilation errors 2022-01-25 10:19:17 -05:00
Magnus Norddahl
0772f148c4 Improve the AO pass 2021-11-25 01:13:53 +01:00
Magnus Norddahl
bde4c60f82 Add an ambient occlusion pass 2021-11-24 03:37:46 +01:00
Magnus Norddahl
583f720007 Limit the number of lights per trace to 50 2021-11-16 02:15:14 +01:00
Magnus Norddahl
95232aedf4 Add progress dots for CPU tracer and streamline how they look 2021-11-16 00:57:06 +01:00
Magnus Norddahl
4cb0f59f66 Minor file structure cleanup 2021-11-16 00:30:54 +01:00
Magnus Norddahl
8b26826cee Replace zlib with miniz as that is much easier to link with and removes a linker warning 2021-11-16 00:04:05 +01:00
Magnus Norddahl
955632f1f8 Remove worker class 2021-11-15 23:36:29 +01:00
Magnus Norddahl
e61f10af24 Flip surface sort order for better lightmap packing and add some border between the surfaces 2021-11-14 19:54:44 +01:00
Magnus Norddahl
346f71e60a Improve lightmap atlas and add some more error checks 2021-11-13 04:52:13 +01:00
Magnus Norddahl
5d0fe12221 Align the uniforms as the Nvidia 10 series requires that 2021-11-13 01:06:36 +01:00
Magnus Norddahl
fc56a552fd Remove the KHR_RAY_QUERY requirement as it isn't being used anyway 2021-11-13 00:43:53 +01:00
Magnus Norddahl
cb42f82bfc Replace the vector/matrix classes with something behaving a bit more like glsl 2021-11-12 22:40:29 +01:00
Magnus Norddahl
6b4fef6a2b Fix missing normalization of the first plane vector after cross product 2021-11-12 17:00:07 +01:00
Magnus Norddahl
2a91f530c9 Fix some more compile errors 2021-11-12 16:24:27 +01:00
Magnus Norddahl
e54477cb93 Fix linux compile errors 2021-11-12 17:08:15 +01:00
Magnus Norddahl
edc22ed06f Fix the include error 2021-11-12 16:49:11 +01:00
Magnus Norddahl
581b87a745 Merge branch 'master' of https://github.com/dpjudas/ZDRay 2021-11-12 16:17:52 +01:00
Magnus Norddahl
04b01426e6 Add automatic fallback to CPU ray tracing if no vulkan device supports the ray tracing extension 2021-11-12 16:17:44 +01:00
dpjudas
d407d73c36 Remove unused code 2021-11-12 05:11:19 +01:00
dpjudas
f44e73d8d0 Fix error when baking a map with no lights in it 2021-11-12 05:07:57 +01:00
Magnus Norddahl
5035f3671f Adjust usage print slightly 2021-11-11 05:52:40 +01:00
Magnus Norddahl
031dc4a4db Move sample distance, bounces and light probe grid size settings to the zdrayinfo actor as they affect map visuals 2021-11-11 05:51:00 +01:00
Magnus Norddahl
cd3563759c Rewrite the CPU ray tracer 2021-11-11 05:04:33 +01:00
Magnus Norddahl
96b31d8a69 Implement light probe tracing on the GPU 2021-11-10 02:25:03 +01:00
Magnus Norddahl
43bdb1cbca Improve performance by tracing all lights in one shader 2021-11-10 00:37:56 +01:00
Magnus Norddahl
be1a94931b Improve tracing times and remove the map size limitation 2021-11-09 19:53:45 +01:00
Magnus Norddahl
0c4199b281 Implement bounces and emissive surfaces 2021-11-07 23:52:44 +01:00
Magnus Norddahl
8df36944eb Split shaders into three types (light, sun, bounce) 2021-11-07 04:05:19 +01:00
Magnus Norddahl
9ce4c027bd Remove unused SurfaceLight class 2021-11-06 03:03:07 +01:00
Magnus Norddahl
ca5c48836f Trace sunlight on the GPU 2021-11-06 02:51:36 +01:00
Magnus Norddahl
b12f31f182 Minor code clean up 2021-11-05 23:50:19 +01:00
Magnus Norddahl
9ebe31ee72 Remove the old dlight based ray tracer and add an option to choose between the CPU and GPU ray tracers 2021-11-05 23:42:01 +01:00
Magnus Norddahl
c7b220c2ba Add surface and sunlight to the new CPU ray tracer 2021-11-05 23:31:23 +01:00
Magnus Norddahl
75798fae9b Move glsl shader code to files 2021-11-05 18:23:31 +01:00
Magnus Norddahl
973a5b28b7 Improve direct light sampling quality
Fix command line argument bug
2021-11-05 03:17:06 +01:00
Magnus Norddahl
2efd031fa2 Raytrace direct light sources on the GPU 2021-11-05 00:19:38 +01:00
Magnus Norddahl
178c918af6 Fix closest hit and miss shaders not working 2021-11-04 20:24:38 +01:00
Magnus Norddahl
ef4b67ea04 Setup images for ray tracing and hook up renderdoc 2021-11-04 18:38:33 +01:00
Magnus Norddahl
f42c515b16 Oops, this wasn't meant to be committed 2021-11-03 23:31:24 +01:00
Magnus Norddahl
b1a06fda5e Successfully call vkCmdTraceRaysKHR without validation errors 2021-11-03 23:30:57 +01:00
Magnus Norddahl
0b9705a1d8 Minor adjustments 2021-11-01 02:55:58 +01:00
Magnus Norddahl
d573f9e907 Create the pipeline 2021-11-01 02:20:57 +01:00
Magnus Norddahl
df1172346d Remove old NV ray tracing builders 2021-11-01 02:20:41 +01:00
Magnus Norddahl
fb86b2054c Move stack trace capture out of gpuraytracer.cpp 2021-10-31 19:20:23 +01:00
Magnus Norddahl
5d514f8c4b Compile a rgen shader 2021-10-31 18:32:55 +01:00
Magnus Norddahl
edc4b159d0 Update shader builder to latest shader compiler version 2021-10-31 18:32:33 +01:00
Magnus Norddahl
b06f1b6128 Fix vulkan validation errors 2021-10-31 03:05:43 +01:00
Magnus Norddahl
1b29ef02b9 Create top level acceleration structure 2021-10-31 01:15:49 +02:00
Magnus Norddahl
0065d91f44 Build the bottom level acceleration structure using the KHR raytracing extension 2021-10-30 03:21:27 +02:00
Magnus Norddahl
3e11f81d5a Add first steps in using the GPU for the ray tracing 2021-10-28 23:27:25 +02:00
Magnus Norddahl
47494dd3b2 Add a new raytracer that bounces using path tracing 2021-10-21 06:31:58 +02:00
Magnus Norddahl
f0c7e5fb9a Merge branch 'master' of https://github.com/dpjudas/ZDRay 2021-10-20 05:28:51 +02:00
Magnus Norddahl
fa1d2fb215 Prepare the code for writing a new ray tracer 2021-10-20 05:28:41 +02:00
dpjudas
fb6cf06771 Fix compile error 2021-10-17 03:26:48 +02:00
Magnus Norddahl
e5816c7df4 Apply a 3x3 blur on the lightmap 2021-10-16 04:46:53 +02:00
Magnus Norddahl
c76bf98834 Remove sorting light probes by subsector 2021-10-15 04:22:04 +02:00
Magnus Norddahl
539bd9fd1d Only create 3 probe layers per sector (covering the entire volume is too many probes) 2021-10-15 01:26:32 +02:00
Magnus Norddahl
199d5d7043 Remove unused function 2021-10-14 17:20:44 +02:00
Magnus Norddahl
a647f21501 Add the gzdoom model loaders 2021-10-14 17:12:05 +02:00
Magnus Norddahl
8f097378d5 Add the delauney triangulator (not used, but I don't want to lose this code in case I decide to use it after all) 2021-10-14 15:49:27 +02:00
nashmuhandes
f67852c9a8 Allow auto-probe grid size to be set on the command line 2021-10-14 16:56:04 +08:00
Magnus Norddahl
af83883b40 Merge branch 'master' of https://github.com/dpjudas/ZDRay 2021-10-14 06:13:40 +02:00
Magnus Norddahl
4f3005de9e Add automatically generating a grid of light probes 2021-10-14 06:13:31 +02:00
nashmuhandes
6fa8bf706e Change the sunlight DoomEdNum to 9890, to prevent clash with PointLightStatic 2021-10-05 13:11:12 +08:00
Magnus Norddahl
2f7b97854a Update docs 2021-10-04 23:56:55 +02:00
Magnus Norddahl
3a1968782d Add SunLight thing support 2021-10-04 23:47:19 +02:00
Magnus Norddahl
d8bf0bafc4 Add some code exporting the lit level mesh to .obj for debugging (helps figuring out if a problem is in GZDoom or ZDRay) 2021-10-02 22:15:57 +02:00
Magnus Norddahl
5f23b75c10 Fix some UDMF properties getting lost after merging the code with dlight 2021-10-02 04:26:26 +02:00
Magnus Norddahl
ef7caddb2c Fix light probe Z coordinate 2021-09-25 19:55:17 +02:00
Magnus Norddahl
ba36819da9 Seems thing.height is not a reliable value in zdray? 2021-09-25 19:39:42 +02:00
Magnus Norddahl
53328e8f65 Don't try link the baked light probes with the original actors as that's problematic on the gzdoom end of things 2021-09-25 18:38:12 +02:00
Magnus Norddahl
3b57fa7f79 Merge remote-tracking branch 'nash/master' 2021-09-25 18:36:53 +02:00
nashmuhandes
d28ed6b9c8 Fixed spotlight math to match GZDoom's 2021-09-25 23:55:29 +08:00
Magnus Norddahl
fe282e6f6d Add light probes 2021-09-25 17:47:21 +02:00
Rachael Alexanderson
c0aff53de5 - fix building in GCC-10 2021-09-25 06:11:38 -04:00
Magnus Norddahl
aebcfe4342 Remove light cells 2021-09-24 17:02:40 +02:00
Magnus Norddahl
82c0837928 Some mesh export functionality and name size changes, supposedly 2021-09-24 16:54:33 +02:00
Magnus Norddahl
28d7bb586f - remove some code duplication 2018-12-31 17:37:19 +01:00
Magnus Norddahl
d03ded7f94 - move allocBlocks to LightmapTexture 2018-12-31 17:23:54 +01:00
Magnus Norddahl
79d0b257e1 - remove some old broken debug code 2018-12-31 16:53:16 +01:00
Magnus Norddahl
8f564c9210 - improve distribution of work between worker threads 2018-12-31 16:43:50 +01:00
Magnus Norddahl
96d705fbef - change the multisample option to sample in a more predictable manner 2018-12-31 15:03:16 +01:00
Magnus Norddahl
78a3da5b8c - make indirect light bounces optional (--bounce=1 to enable) 2018-12-30 22:24:20 +01:00
Christoph Oelckers
4dd0edbd3a - also create 3D floor references if the tag is defined through 'moreIDs'. 2018-12-30 10:37:52 +01:00
Christoph Oelckers
72ad99fe96 - parse all data from the map to allow complete slope creation. 2018-12-30 10:18:35 +01:00
Christoph Oelckers
bb488236d1 - parse all needed fields from things for slope definition. 2018-12-30 09:27:28 +01:00
Christoph Oelckers
03a95e090f - changed UDMF plane parser to use the same rules as GZDoom, namely to accept the plane only if all 4 parameters are present. 2018-12-30 09:04:23 +01:00
Magnus Norddahl
2555eec131 - simplify outer interface slightly 2018-11-10 00:47:20 +01:00
Magnus Norddahl
ce7074f646 - rename surfacelight file 2018-11-09 22:20:31 +01:00
Magnus Norddahl
b3250f4bac - rename LightSurface to SurfaceLight 2018-11-09 22:17:36 +01:00
Magnus Norddahl
908c048464 - rename classes and enums that used the _t typedef convention 2018-11-09 21:55:07 +01:00
Magnus Norddahl
75e18b10e1 - normalize some whitespace and remove useless "documentation" comments 2018-11-09 21:46:34 +01:00
Magnus Norddahl
7756bba61f - remove unused Pluecker and Rand classes 2018-11-09 21:28:03 +01:00
Magnus Norddahl
4ceab7cec7 - remove kex prefix from classes 2018-11-09 21:26:00 +01:00
Magnus Norddahl
9a84d487dc - split map loading code from surface mesh code 2018-11-09 08:42:37 +01:00
Magnus Norddahl
73724c111c - minor adjustments 2018-11-09 06:47:54 +01:00
Magnus Norddahl
b55a9671e5 - use the cheaper any hit test when possible 2018-11-09 06:21:25 +01:00
Magnus Norddahl
63715b855d - add indirect light pass 2018-11-08 21:15:29 +01:00
Magnus Norddahl
ef3257e062 - Write light cells into the lump 2018-11-07 04:20:11 +01:00