Commit graph

119 commits

Author SHA1 Message Date
nashmuhandes
7f822dd250 Use ZDRayInfo's angle and pitch to determine the sun direction 2022-02-16 06:42:33 +08:00
nashmuhandes
3f191651aa For static light things, have ZDRay use args instead of UDMF keys. This aligns them with dynamic lights, and will help with UDB integration.
Only 'lightintensity' remains as a UDMF key, because there is no more free arg slots for it.

Also made constants for the various thing types to reduce coding mistakes.
2022-02-16 02:14:21 +08:00
nashmuhandes
15b31f0526 Only create lights for the actual static light things 2022-02-15 22:10:32 +08: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
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
cb42f82bfc Replace the vector/matrix classes with something behaving a bit more like glsl 2021-11-12 22:40:29 +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
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
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
973a5b28b7 Improve direct light sampling quality
Fix command line argument bug
2021-11-05 03:17:06 +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
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
fa1d2fb215 Prepare the code for writing a new ray tracer 2021-10-20 05:28:41 +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
fe282e6f6d Add light probes 2021-09-25 17:47:21 +02:00
Magnus Norddahl
82c0837928 Some mesh export functionality and name size changes, supposedly 2021-09-24 16:54:33 +02: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
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
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
e046e7a508 - fix floor light surfaces not working 2018-11-06 11:08:02 +01:00
Kevin Caccamo
8d930df8fd Fix compilation errors on Ubuntu 16.04 2018-11-04 05:19:16 -05:00
Magnus Norddahl
6baa8a47d2 - VS2017 needs more QA 2018-11-04 03:37:01 +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
a66ec939fb - move mapdata to level 2018-11-03 18:22:04 +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
e37ea126ce - remove memheap 2018-11-03 17:12:39 +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
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
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
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
8958790fed - Switch the raytrace function to use different collision routines 2018-10-30 00:25:01 +01:00
Magnus Norddahl
6acea159f7 - change the light math and some defaults 2018-10-29 18:32:50 +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
16ba8f8619 - Misc UDMF fixes 2018-10-28 18:59:55 +01:00
Magnus Norddahl
54e3e461c5 - output dlight lumps 2018-10-27 12:58:05 +02:00
Magnus Norddahl
484737bb66 - add back support for writing a level 2018-10-27 11:34:18 +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
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