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