Aaron Fenyes
f148552964
Ray-caster: only draw the top few fragments
...
This seems to increase graphics pipe use from 50--60% to 55--65%.
2024-08-29 15:01:38 -07:00
Aaron Fenyes
6db9f5be6c
Enlarge the test construction to six spheres
...
In debug mode, assign most of the color scale to even layer counts. Odd
layer counts are topologically prohibited, so we should rarely see bugs
severe enough to produce them.
2024-08-28 17:14:55 -07:00
Aaron Fenyes
3a721a4cc8
Ray-caster: enlarge the construction data uniforms
...
No noticeable effect on GPU performance.
2024-08-28 16:06:33 -07:00
Aaron Fenyes
8fde202911
Ray-caster: drop unused depth-pair array
...
This doesn't affect GPU performance noticeably, so benchmarks before and
after the change should be comparable.
2024-08-28 15:52:19 -07:00
Aaron Fenyes
4afc82034b
Ray-caster: sort fragments while shading
2024-08-28 14:37:29 -07:00
Aaron Fenyes
e80adf831d
Ray-caster: correct hit detection
2024-08-28 01:59:46 -07:00
Aaron Fenyes
3d7ee98dd6
Ray-caster: check layer count
...
In debug mode, show the layer count instead of the shaded image. This
reveals a bug: testing whether the hit depth is NaN doesn't actually
detect sphere misses, because `sphere_cast` returns -1 rather than NaN
to indicate a miss.
2024-08-28 01:55:46 -07:00
Aaron Fenyes
f62f44b5a7
Optimization: decouple internal and uniform SPHERE_MAX
2024-08-27 00:00:48 -07:00
Aaron Fenyes
bf140efaf7
Ray-caster: remove hard-coded test construction
2024-08-26 13:51:01 -07:00
Aaron Fenyes
cbec31f5df
Ray-caster: pass colors in through uniforms
2024-08-26 13:41:34 -07:00
Aaron Fenyes
85db7b9be0
Ray-caster: pass the sphere count as a uniform
...
In the process, start exploring array size limits of various kinds.
2024-08-26 00:58:20 -07:00
Aaron Fenyes
5bf23fa789
Ray-caster: pass spheres in through uniforms
...
Keep the hard-coded spheres for comparison.
2024-08-25 21:40:59 -07:00
Aaron Fenyes
206a2df480
Ray-caster: add a third test sphere
...
This helps confirm that the generalized depth-sorting is working.
2024-08-25 16:41:31 -07:00
Aaron Fenyes
c18cac642b
Ray-caster: generalize depth sorting
...
Switch from a hard-coded sorting network for four fragments to an
insertion sort, which should work for any number of fragments.
2024-08-25 00:47:36 -07:00
Aaron Fenyes
8798683d25
Ray-caster: store sphere data in arrays
...
This is a first step toward general depth sorting.
2024-08-25 00:00:28 -07:00
Aaron Fenyes
766d56027c
Ray-caster: move shaders to separate files
...
This properly reflects the modularity of the code, and it simplifies
indentation and syntax highlighting.
2024-08-24 11:27:19 -07:00