Commit graph

293 commits

Author SHA1 Message Date
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
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
Magnus Norddahl
2898242f12 Remove prototype declaration missing from last commit 2022-07-02 01:37:32 +02:00
Magnus Norddahl
1bb8408b75 Create the output framebuffer 2022-07-02 01:36:28 +02:00
Magnus Norddahl
582cd7f7c0 RunAsync serves no purpose anymore as it now doesn't actually do anything in the main thread 2022-07-02 01:35:52 +02:00
nashmuhandes
496b1cb783 Print the hex representation of the sun color, too (might be useful for user's reference) 2022-07-01 14:46:02 +08:00
nashmuhandes
e2ff176e3a Use integer for the sun color. UDB's color picker actually stores the color as an int when you save the map (despite exposing it in the UI as XXRRGGBB). 2022-07-01 14:34:55 +08:00
Magnus Norddahl
71c6552258 Prepare the vertex shader to draw without a vertex buffer 2022-06-30 23:59:37 +02:00
Magnus Norddahl
8ec576c3bd Begin work on a new GPU raytracer that uses ray queries instead of the raytracing pipeline 2022-06-30 23:26:31 +02:00
RaveYard
04d8aabc92 Fix ambient occlusion pass not considering sky as a miss 2022-06-30 15:55:44 +02:00