nashmuhandes
3a1cf7fc43
Temporarily disable surface lights too. Same reason as previous commit
2022-06-15 14:52:08 +08:00
nashmuhandes
5bb277ff31
Disable light bounces for now, after some internal discussion pertaining to future improvements
2022-06-15 14:42:02 +08:00
RaveYard
f4479a17d5
Add default auto probe grid size
2022-06-14 19:51:05 +02:00
nashmuhandes
a0935ba604
If arg0str is used for a spotlight's color, convert that string to an int and pass that value as the light color. UDB's color picker interface uses the arg0str field for spotlight color.
2022-06-03 02:55:52 +08:00
nashmuhandes
bfb23302ef
- Report sun vector
...
- Various styling fixes to the messages
2022-02-20 08:42:30 +08:00
nashmuhandes
25345c2477
Replace Thing UDMF keys for the ZDRayInfo with args instead
2022-02-20 04:46:19 +08:00
nashmuhandes
05eed4d4a2
Add "line" suffix to the surface light keywords to clearly label their intended usage
2022-02-20 04:28:28 +08:00
nashmuhandes
f38995889d
Remove 'lightintensity' UDMF key from Things, replaced it with the Thing's alpha instead
2022-02-20 04:17:45 +08:00
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
c5d09682a0
Fix threadIndex mistakenly getting captured by reference
2022-02-15 14:35:32 +01:00
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
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