Commit graph

290 commits

Author SHA1 Message Date
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
Magnus Norddahl
2d970672e8 - add support for tracing light cells 2018-11-07 01:31:50 +01:00
Magnus Norddahl
639bc29085 - minor adjustments 2018-11-06 23:04:29 +01:00
Magnus Norddahl
57b39458f0 - spread light surface sample points evenly across walls 2018-11-06 14:58:05 +01:00
Magnus Norddahl
c3494a045d - Fix the light surface math so the correct angles are being used 2018-11-06 12:50:58 +01:00
Magnus Norddahl
e046e7a508 - fix floor light surfaces not working 2018-11-06 11:08:02 +01:00
Magnus Norddahl
58f2411002 Merge branch 'master' of https://github.com/dpjudas/ZDRay 2018-11-06 10:18:25 +01:00
Magnus Norddahl
d6c3b7e8ef - removed explicit keyword 2018-11-06 10:18:16 +01:00
Kevin Caccamo
61378b1fef Fix compilation error on Ubuntu 16.04 2018-11-05 08:24:32 -05:00
Magnus Norddahl
1c1a4a3bc0 Merge branch 'master' of https://github.com/dpjudas/ZDRay 2018-11-05 12:52:28 +01:00
Magnus Norddahl
440b4d0b3c - don't waste time ray tracing surfaces out of range 2018-11-05 12:52:19 +01:00
Magnus Norddahl
1165ef26d7
Merge pull request #2 from Talon1024/master
Add comment option to zdray help
2018-11-05 02:43:08 +01:00
Magnus Norddahl
ce518820ff - add SSE implementation for the most time critical function 2018-11-05 01:40:12 +01:00
Magnus Norddahl
e21679a4d7 - improve speed by saving some calculations 2018-11-05 00:54:25 +01:00
Kevin Caccamo
b010e00e24 Add comment option to zdray help 2018-11-04 18:46:08 -05:00
Magnus Norddahl
d3d7174c77 - inline kexBBox::Center and kexBBox::Extents as they are also time critical 2018-11-04 23:20:33 +01:00
Magnus Norddahl
be5b3a79db - inline the vector classes as they are so time critical 2018-11-04 23:14:20 +01:00
Magnus Norddahl
5cbe1e18e7 - fix compile error when SSE is enabled 2018-11-04 18:12:05 +01:00
Kevin Caccamo
8d930df8fd Fix compilation errors on Ubuntu 16.04 2018-11-04 05:19:16 -05:00
Magnus Norddahl
0ac4781d5e - fix 3d floor sides 2018-11-04 03:37:36 +01:00
Magnus Norddahl
6baa8a47d2 - VS2017 needs more QA 2018-11-04 03:37:01 +01:00
Magnus Norddahl
5ea89ac1b6 - add 3d floor ceiling and floor surfaces 2018-11-03 22:43:00 +01:00
Magnus Norddahl
0f6da0df5d - make the LIGHTMAP_MAX_SIZE define actually work if someone changes it 2018-11-03 19:37:50 +01:00
Magnus Norddahl
ed983935ec - class Init functions are so 1995 2018-11-03 19:35:46 +01:00
Magnus Norddahl
cf61394714 - get rid of the naked new and deletes 2018-11-03 19:33:59 +01:00
Magnus Norddahl
e89aa8a5d4 - remove kexTrace class 2018-11-03 19:01:47 +01:00
Magnus Norddahl
e5dbc83bc9 - remove zdbsp viewer 2018-11-03 18:25:41 +01:00
Magnus Norddahl
a66ec939fb - move mapdata to level 2018-11-03 18:22:04 +01:00
Magnus Norddahl
fde3e5f3b6 - moved binfile and halffloat to framework 2018-11-03 18:16:14 +01:00
Magnus Norddahl
265da537ab - remove common.h
- move math classes
2018-11-03 18:08:45 +01:00
Magnus Norddahl
8fac445226 - Switch from NULL to nullptr 2018-11-03 17:47:29 +01:00
Magnus Norddahl
627098b671 - use the standardized typedefs for sized integers 2018-11-03 17:43:42 +01:00
Magnus Norddahl
ef8dfe3744 - remove d_inline 2018-11-03 17:35:02 +01:00
Magnus Norddahl
6400fd1597 - clean up common.h 2018-11-03 17:31:57 +01:00
Magnus Norddahl
e37ea126ce - remove memheap 2018-11-03 17:12:39 +01:00
Magnus Norddahl
de8983a382 - remove kexStr 2018-11-03 16:49:51 +01:00
Magnus Norddahl
dcb4f083a3 - remove kexArray 2018-11-03 16:43:58 +01:00
Magnus Norddahl
f86358daf5 - reduce executable size by 12 megabytes! 2018-11-03 03:50:14 +01:00
Magnus Norddahl
dce5c510e3 - use subdivide on line surface lights as well
- removed some dead code
2018-11-03 00:45:29 +01:00
Magnus Norddahl
a034992280 - make the closest sample still decide the distance 2018-11-03 00:25:42 +01:00
Magnus Norddahl
664be1eca5 - implement the correct math for area lights 2018-11-02 23:34:38 +01:00
Magnus Norddahl
b588b809ea - reformat files 2018-11-02 23:17:46 +01:00
Magnus Norddahl
8eee053896 - remove some junk 2018-11-02 23:03:57 +01:00
Magnus Norddahl
7efc998f6e - remove unused stuff 2018-11-02 22:57:03 +01:00
Magnus Norddahl
5399e988c7 - changed the output to be one lump using a compressed rgb16f format with 3d floors support 2018-11-02 22:21:32 +01:00
Magnus Norddahl
d95a8707cc - adjust light radius to match what gzdoom does 2018-10-31 20:14:30 +01:00
Magnus Norddahl
8b290752c6 - add spotlight support 2018-10-31 20:08:01 +01:00
Magnus Norddahl
8bea68f6af - link the 3d floors to their sectors and mark the control sectors 2018-10-31 02:33:04 +01:00
Magnus Norddahl
2bdf48bbcc - add support for slopes 2018-10-31 01:20:20 +01:00
Magnus Norddahl
b0f846e200 - remove the dlight config file and switch to using UDMF properties on lines, sectors and things 2018-10-30 19:10:50 +01:00
Magnus Norddahl
a51f51ff94 - fix include case sensitivity 2018-10-30 18:34:56 +01:00
Magnus Norddahl
1b25024e1d - fix thing positioning 2018-10-30 16:56:30 +01:00
Magnus Norddahl
4fd952e7bb - add --multisample argument for tracing multiple times per texel 2018-10-30 14:33:16 +01:00
Magnus Norddahl
453a4cc8b1 - fix null pointer crash 2018-10-30 13:35:15 +01:00
Magnus Norddahl
f0ec4a6838 - split long rays into shorter rays to speed up collision detection 2018-10-30 13:25:37 +01:00
Magnus Norddahl
0e17412b23 - fix buffer overrun when using 1024 sized lightmaps
- don't output progress unless the numbers changed
2018-10-30 13:05:25 +01:00
Magnus Norddahl
81a70d7c96 - fix race condition crash
- rewrote kexWorker to use std::function
- added --threads, --samples, --size command line arguments
- changed the default threading to be what the processor supports (64 threads on my Threadripper, muhahaha!)
2018-10-30 12:37:22 +01:00
Magnus Norddahl
6459b10724 - fix misc light surfaces not working outside their own subsector 2018-10-30 00:59:10 +01:00
Magnus Norddahl
8958790fed - Switch the raytrace function to use different collision routines 2018-10-30 00:25:01 +01:00
Magnus Norddahl
99a4ffa69f - add some mesh collision classes 2018-10-29 18:33:22 +01:00
Magnus Norddahl
6acea159f7 - change the light math and some defaults 2018-10-29 18:32:50 +01:00
Magnus Norddahl
2539d137a3 - fix include errors when SSE is enabled 2018-10-29 13:05:07 +01:00
Magnus Norddahl
8716182c99 - fix tag for udmf maps
- fix the default surface color
2018-10-28 21:01:51 +01:00
Magnus Norddahl
9e1a9d7d75 - include case sensibility fixes 2018-10-28 19:03:08 +01:00
Magnus Norddahl
16ba8f8619 - Misc UDMF fixes 2018-10-28 18:59:55 +01:00
Magnus Norddahl
fde2a69ce6 - fix wrong nodes version being built and disable multithreading 2018-10-27 20:18:23 +02:00
Magnus Norddahl
9fa22d96f7 Fix bug with linedefs having same sidedef on both sides 2018-10-27 20:16:55 +02:00
Magnus Norddahl
54e3e461c5 - output dlight lumps 2018-10-27 12:58:05 +02:00
Magnus Norddahl
dcf8fbae0a - restore the old main from zdbsp 2018-10-27 12:08:49 +02:00
Magnus Norddahl
484737bb66 - add back support for writing a level 2018-10-27 11:34:18 +02:00
Magnus Norddahl
5a8927506a - add support for outputting a debug mesh of the entire map 2018-10-27 02:07:34 +02:00
Magnus Norddahl
e84795cf99 - Fixed misc bugs caused by the merger 2018-10-27 00:03:23 +02:00
Magnus Norddahl
f9960ee12c - hook up lightmap builder 2018-10-26 13:16:44 +02:00
Magnus Norddahl
fe9368b048 - Finish the merge of kexDoomMap into FLevel 2018-10-26 13:00:35 +02:00
Magnus Norddahl
be1ada81a6 - Change dlight to consume FLevel data 2018-10-26 11:31:11 +02:00
Magnus Norddahl
0aa918dcea - remove anti-patterns 2018-10-26 10:06:17 +02:00
Magnus Norddahl
405bb743a0 Add dlight codebase to zdray 2018-10-26 09:15:14 +02:00
Magnus Norddahl
b4f22e7959 Remove level writing code as it isn't needed 2017-08-03 22:13:30 +02:00
Magnus Norddahl
e9356ea255 Initial import 2017-08-03 20:25:54 +02:00