Crafter.Graphics/interfaces
catbot 4e42d663a6 WebGPU RT: wavefront tracer core (GENERATE/PREP/TRACE/SHADE/RESOLVE)
Replace the megakernel @compute entry with five wavefront kernels sharing
one module, connected by GPU ray/hit/payload buffers and a GPU-driven
indirect bounce loop:

  GENERATE -> (PREP -> TRACE -> SHADE) x maxDepth -> RESOLVE

- TRACE contains zero user code (pure _rtwTraverseTlas/Blas, opaque-only).
- PREP publishes dispatchWorkgroupsIndirect args from the live ray count;
  the indirect-args buffer lives in its own bind group so it is never
  bound read-write in the same dispatch that consumes it as INDIRECT.
- New emit/accumulate API: rtEmitPrimaryRay / rtEmitRay / rtAccumulate,
  plus an optional user Resolve stage (tonemap hook; identity by default).
- Per-pass WfParams via a dynamic-offset uniform ring (curIsA/bounce vary
  between passes within one submit).
- Payload-typed wfPayload binding emitted in the codegen region after the
  user's struct Payload; payload travels with each ray (2*W*H slots).
- Request maxBufferSize / maxStorageBufferBindingSize / maxComputeWorkgroups
  PerDimension so the W*H-sized work buffers fit past the 128MB baseline.

VulkanTriangle ported to the new API and renders bit-identical to the
megakernel baseline at maxDepth=1.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 16:24:41 +00:00
..
Crafter.Graphics-Animation.cppm cleaned up renderer 2026-03-09 20:10:19 +01:00
Crafter.Graphics-Clipboard.cppm clipboard 2026-05-19 00:45:22 +02:00
Crafter.Graphics-ComputeShader.cppm browser DOM support 2026-05-18 02:07:48 +02:00
Crafter.Graphics-Decompress.cppm browser DOM support 2026-05-18 02:07:48 +02:00
Crafter.Graphics-DescriptorHeapVulkan.cppm browser DOM support 2026-05-18 02:07:48 +02:00
Crafter.Graphics-DescriptorHeapWebGPU.cppm webgpu improvements 2026-05-24 13:32:08 +02:00
Crafter.Graphics-Device.cppm browser DOM support 2026-05-18 02:07:48 +02:00
Crafter.Graphics-Dom.cppm browser DOM support 2026-05-18 02:07:48 +02:00
Crafter.Graphics-DomEvents.cppm browser DOM support 2026-05-18 02:07:48 +02:00
Crafter.Graphics-Font.cppm webgpu support 2026-05-18 04:58:52 +02:00
Crafter.Graphics-FontAtlas.cppm webgpu support 2026-05-18 04:58:52 +02:00
Crafter.Graphics-ForwardDeclarations.cppm rendertargetvulkan 2026-04-11 18:48:00 +02:00
Crafter.Graphics-Gamepad.cppm new input system 2026-05-12 00:24:48 +02:00
Crafter.Graphics-GraphicsTypes.cppm webgpu support 2026-05-18 04:58:52 +02:00
Crafter.Graphics-Image2D.cppm webgpu improvements 2026-05-24 13:32:08 +02:00
Crafter.Graphics-ImageVulkan.cppm browser DOM support 2026-05-18 02:07:48 +02:00
Crafter.Graphics-Input.cppm new input system 2026-05-12 00:24:48 +02:00
Crafter.Graphics-InputField.cppm webgpu improvements 2026-05-24 13:32:08 +02:00
Crafter.Graphics-Keys.cppm browser DOM support 2026-05-18 02:07:48 +02:00
Crafter.Graphics-Mesh.cppm webgpu improvements 2026-05-24 13:32:08 +02:00
Crafter.Graphics-PipelineRTVulkan.cppm browser DOM support 2026-05-18 02:07:48 +02:00
Crafter.Graphics-PipelineRTWebGPU.cppm webgpu sponza 2026-05-19 00:27:09 +02:00
Crafter.Graphics-PlainComputeShader.cppm webgpu improvements 2026-05-24 13:32:08 +02:00
Crafter.Graphics-RenderingElement3D.cppm webgpu improvements 2026-05-24 13:32:08 +02:00
Crafter.Graphics-RenderPass.cppm webgpu support 2026-05-18 04:58:52 +02:00
Crafter.Graphics-Router.cppm browser DOM support 2026-05-18 02:07:48 +02:00
Crafter.Graphics-RT.cppm webgpu triangle 2026-05-18 18:43:30 +02:00
Crafter.Graphics-RTPass.cppm WebGPU RT: wavefront tracer core (GENERATE/PREP/TRACE/SHADE/RESOLVE) 2026-05-31 16:24:41 +00:00
Crafter.Graphics-SamplerVulkan.cppm browser DOM support 2026-05-18 02:07:48 +02:00
Crafter.Graphics-ShaderBindingTableVulkan.cppm browser DOM support 2026-05-18 02:07:48 +02:00
Crafter.Graphics-ShaderBindingTableWebGPU.cppm WebGPU RT: wavefront tracer core (GENERATE/PREP/TRACE/SHADE/RESOLVE) 2026-05-31 16:24:41 +00:00
Crafter.Graphics-ShaderVulkan.cppm browser DOM support 2026-05-18 02:07:48 +02:00
Crafter.Graphics-Types.cppm browser DOM support 2026-05-18 02:07:48 +02:00
Crafter.Graphics-UI.cppm webgpu improvements 2026-05-24 13:32:08 +02:00
Crafter.Graphics-UIComponents.cppm webgpu support 2026-05-18 04:58:52 +02:00
Crafter.Graphics-VulkanBuffer.cppm browser DOM support 2026-05-18 02:07:48 +02:00
Crafter.Graphics-VulkanTransition.cppm browser DOM support 2026-05-18 02:07:48 +02:00
Crafter.Graphics-WebGPU.cppm WebGPU RT: wavefront tracer core (GENERATE/PREP/TRACE/SHADE/RESOLVE) 2026-05-31 16:24:41 +00:00
Crafter.Graphics-WebGPUBuffer.cppm webgpu improvements 2026-05-24 13:32:08 +02:00
Crafter.Graphics-WebGPUComputeShader.cppm webgpu improvements 2026-05-24 13:32:08 +02:00
Crafter.Graphics-Window.cppm webgpu support 2026-05-18 04:58:52 +02:00
Crafter.Graphics.cppm webgpu improvements 2026-05-24 13:32:08 +02:00