Commit graph

265 commits

Author SHA1 Message Date
RaveYard
e8e339c8f7 Fix typo in CreatePlanePortal 2022-10-31 10:44:02 +01:00
RaveYard
0a618298a2 Fix buffer flush 2022-10-30 14:18:39 +01:00
RaveYard
e064c7a01a Fix uninitialized args in struct IntLineDef 2022-10-29 23:34:29 +02:00
RaveYard
e9bf098195 Add support for Sector_SetPortal 2022-10-29 17:23:22 +02:00
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
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
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
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
RaveYard
baba15b9b5 Use library to improve lightmap texture packing 2022-07-08 22:51:41 +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
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
Magnus Norddahl
b67f265c75 Move pipeline barrier to a more logical location 2022-07-03 03:10:39 +02:00
Magnus Norddahl
6e8757649c Trace the sun 2022-07-03 02:57:05 +02:00
Magnus Norddahl
1d51bc17de Fix triangle strip not covering the entire tile 2022-07-03 02:01:01 +02:00
Magnus Norddahl
65445a7b07 Implement enough of a ray query raytracer that it at least outputs something 2022-07-03 01:47:11 +02:00
Magnus Norddahl
12ffde80bc Minor code cleanup 2022-07-02 05:18:08 +02:00