Commit graph

356 commits

Author SHA1 Message Date
RaveYard
4605f06308 Move line portal to its own function 2022-10-29 16:13:09 +02:00
RaveYard
38916e7f75 Implement basic linedef sunlight portal support 2022-10-29 15:16:27 +02:00
Magnus Norddahl
1427ca5f35
Merge pull request #49 from MrRaveYard/pr_renderdoc
Add RenderDoc support
2022-10-26 17:57:06 +02:00
RaveYard
525365637c Fix Linux/macOS build 2022-10-26 12:07:24 +02:00
RaveYard
bfbf97c2f6 Add RenderDoc support 2022-10-26 11:52:10 +02:00
Magnus Norddahl
ee0740b0eb
Merge pull request #48 from MrRaveYard/pr_flush_cmd_buffer
Flush scene buffers if next surface is out of space
2022-10-25 23:42:10 +02:00
RaveYard
7aff36dfb4 Flush scene buffers if next surface is out of space 2022-10-15 19:11:38 +02:00
RaveYard
8fb35aca7f Use default member initializers in IntThing 2022-10-15 13:59:26 +02:00
Magnus Norddahl
207352f0c5
Merge pull request #47 from MrRaveYard/pr_negative_lights
Allow use of negative color values for lights
2022-10-15 12:36:43 +02:00
RaveYard
0a53030010 Fix non-rtx version of TraceFirstHitTriangleT
This fixes sunlight
2022-10-15 11:24:21 +02:00
RaveYard
67bd6c62ab Support negative light intensities on pointlights 2022-10-14 20:27:28 +02:00
dpjudas
4b05dccb8a Fix include error 2022-09-01 02:16:30 +02:00
Magnus Norddahl
1e62255b28 Update the vulkan support classes and enable runtime detection for falling back to non-rayquery rendering if the device does not support it 2022-09-01 01:04:17 +02:00
Magnus Norddahl
0c6954a767 Add --no-rtx option for testing the non-rayquery path on hardware that can do RTX 2022-09-01 00:10:33 +02:00
Magnus Norddahl
3202713eee Implement TraceFirstHitTriangle for the non-rayquery path 2022-09-01 00:03:29 +02:00
Magnus Norddahl
d347464597 Implement TraceAnyHit for the non-rayquery variant 2022-08-31 23:07:31 +02:00
Magnus Norddahl
83153c9e45 Implement the C++ side of not using ray queries 2022-08-31 21:40:07 +02:00
Magnus Norddahl
c80f611924 Some initial support for doing GPU ray tracing without RTX 2022-08-31 09:54:08 +02:00
Magnus Norddahl
e225118e8e Remove light probes
Remove emissive surface code
Change default sample count to 16
2022-08-31 08:48:10 +02:00
Magnus Norddahl
8dcd37691c Remove the CPU raytracer 2022-08-31 08:09:12 +02:00
Magnus Norddahl
8ed96484c2 Remove the old GPU raytracer 2022-08-31 06:22:02 +02:00
Magnus Norddahl
59c58b75f1 Clean up some code by moving it into functions 2022-08-31 06:15:37 +02:00
Magnus Norddahl
66124477b2 Some stats code for knowing how many lights are touching surfaces 2022-08-28 21:57:42 +02:00
Magnus Norddahl
941cf6228a Sort surfaces into smoothing groups and render the entire group into a surface tile
Extend the raytracing of a surface tile by one to get better transitions
Fix Plane.Distance(point) not actually returning the distance to the point!
2022-08-28 21:04:41 +02:00
Magnus Norddahl
9c43d0336d Add multisampling 2022-08-27 05:38:40 +02:00
Magnus Norddahl
c53ebe8121 Only process lights within range of a surface 2022-08-17 16:10:10 +02:00
Magnus Norddahl
f6f11af04a Make the fragment shader a little more readable 2022-08-17 02:38:05 +02:00
Magnus Norddahl
0ca74c2e42 Speed up rayquery raytracer by using an atlas 2022-08-17 01:35:12 +02:00
Magnus Norddahl
89a3927a66 Clean up some variables 2022-08-16 23:59:06 +02:00
Magnus Norddahl
034bcd9b7e
Merge pull request #46 from alexey-lysiuk/fix-no-sse
Fix building for architectures without SSE
2022-08-04 15:08:03 +02:00
alexey.lysiuk
2000829d82 Fix building for architectures without SSE
Tested compilation of ARM64 target on macOS
2022-08-04 12:55:41 +03:00
Magnus Norddahl
9bd66835bf
Merge pull request #45 from alexey-lysiuk/ci
Add continuous integration
2022-07-25 13:10:17 +02:00
alexey.lysiuk
5bc1dd3a2a Add continuous integration via GitHub Actions 2022-07-25 10:53:00 +03:00
alexey.lysiuk
d3220278cc Fix compilation error on Linux
src/framework/tarray.h:386:46: error: ‘intptr_t’ was not declared in this scope
2022-07-25 10:52:16 +03:00
RaveYard
c3ab08c4af Fix blur code but keep it inactive 2022-07-17 14:46:19 +02:00
RaveYard
8e6c4b98ec Remove use of DelauneyTriangulator 2022-07-09 14:25:04 +02:00
Magnus Norddahl
ee272c7ee8
Merge pull request #44 from MrRaveYard/pr_rectangle_pack
Use library to improve lightmap texture packing
2022-07-09 09:54:29 +02:00
RaveYard
baba15b9b5 Use library to improve lightmap texture packing 2022-07-08 22:51:41 +02:00
Magnus Norddahl
9b510f3e84
Merge pull request #43 from MrRaveYard/pr_preview_switch
Add --preview switch that significantly reduces sample count
2022-07-06 14:31:20 +02:00
RaveYard
48430fb306 Add --preview switch that significantly reduces sample count 2022-07-06 11:45:36 +02:00
RaveYard
e97babc617 Fix bad control flow in GPU sunlight normal test 2022-07-05 14:56:50 +02:00
RaveYard
4675ab5b81 Fix GPURayTracer::CreateTask accidentally creating useless tasks
and reserve task size in CPU for lightprobes
2022-07-05 09:33:44 +02:00
RaveYard
00ae64b79d Discard traces via dot product for every light in GPU/CPU 2022-07-05 09:32:13 +02:00
Magnus Norddahl
42c1258fc9
Merge pull request #42 from MrRaveYard/pr_old_gpu_task_discarding
Discard trace tasks for GPURaytracer
2022-07-04 16:18:53 +02:00
RaveYard
866d02fc4a Discard GPU trace tasks that are out of surface bounds 2022-07-04 12:26:52 +02:00
RaveYard
020b053398 Move task discard test from CPU tracer to surfaceclip.h 2022-07-04 12:26:05 +02:00
RaveYard
3a53ffeca9 Discard CPU sun traces via normal dot product test 2022-07-03 23:06:40 +02:00
Magnus Norddahl
ff4d4fe56d
Merge pull request #41 from MrRaveYard/pr_cull_tasks
Discard tasks for CPURaytracer that are not on the surface
2022-07-03 22:25:08 +02:00
RaveYard
00a4e6a73e Discard trace tasks for CPURaytracer that are outside of any real geometry 2022-07-03 21:32:42 +02:00
Magnus Norddahl
bc0f419fff Add ambient occlusion 2022-07-03 13:22:17 +02:00