Rezmason
b86b97fde9
Adding an FPS argument. The renderers now determine whether the current frame should be rendered, and passes use that to determine whether to render or not. The rain pass, however, will still update the simulation at full speed.
2022-10-03 23:45:56 -07:00
Rezmason
3828203876
All colors are now color objects
2022-09-29 22:15:01 -07:00
Rezmason
22dd5e8678
RGBs in config are no longer flat
2022-09-29 22:15:01 -07:00
Rezmason
9c2d6d7ed8
Adding "glint", the shapes that appear on top of the glyphs in the Resurrections opening titles.
2022-09-17 01:24:23 -07:00
Rezmason
9ab9924294
Migrated changes to WebGPU
2022-09-16 21:08:00 -07:00
Rezmason
ec831ce6f1
Adding named debug groups to the WebGPU passes, and switching the pipeline create calls to the async methods
2022-09-11 20:09:32 -07:00
Rezmason
b09887ba0f
GPUComputePassEnncoder::dispatch got renamed to dispatchWorkgroups
2022-05-03 12:00:25 -07:00
Rezmason
4118faca27
Pass::endPass --> Pass:end
2022-04-30 18:16:33 -07:00
Rezmason
928067996d
The primary and bloom textures are now combined with a weight so that fainter bloom doesn't create a fainter overall effect.
2021-12-24 21:44:16 -08:00
Rezmason
a962a6128d
Expose dither magnitude and bloom strength through URL parameters.
2021-12-24 20:02:40 -08:00
Rezmason
aa56cc4256
Changed the gpu-buffer imports to use a relative path.
2021-11-15 07:41:33 -08:00
Rezmason
b26155d20e
Adding some more comments. Destructuring the context object in the pass modules. A little code cleanup in bloomPass. Changing the endPass sampler to be cheaper.
2021-11-15 01:05:05 -08:00
Rezmason
1b61e304a5
Refactoring the pass and pipeline, so that inputs and size are handed to and returned from the build function (formerly setSize). This is now the earliest place to build bind groups, which makes sense, because it's also the earliest place to create textures that are proportional to the size of the canvas.
2021-11-15 00:30:09 -08:00
Rezmason
db928bbe7a
All the post processing passes are now based on compute pipelines instead of render pipelines.
2021-11-11 21:50:27 -08:00
Rezmason
9ad655ca2e
Created a pass-through post processing compute pass. The other post-processing passes will be changed over to this kind of thing.
...
makePassFBO has now been split into makeRenderTarget and makeComputeTarget.
2021-11-11 09:18:32 -08:00
Rezmason
9813e76ffb
The stripe pass wasn't properly handling custom colors.
2021-11-11 08:01:43 -08:00
Rezmason
f4130013f4
Moved the makePyramid and resizePyramid methods from the regl solution's util module to bloomPass.
...
Adding the canvas context's preferred format to the shared pass context (named "canvasFormat").
Added a placeholder bloomPass, which the existing passes now receive input from.
2021-11-09 20:06:59 -08:00
Rezmason
87c2093281
Unifying the interfaces of regl and webgpu makePass and makePipeline.
2021-11-09 09:17:01 -08:00
Rezmason
a143e3fc03
Renamed gpu-uniforms to gpu-buffer, and messed around with its API.
...
I believe all the align, size, stride and byteOffset values are now in the proper units, ie. bytes.
2021-11-08 22:56:00 -08:00
Rezmason
bbe3d62331
Wrote another utility method for cramming an array of resources into a bind group.
2021-11-08 08:05:56 -08:00
Rezmason
415ffa77ee
Driving more uniforms.read calls from the actual shaders.
2021-11-08 03:01:46 -08:00
Rezmason
61a3a6d783
Moved the WebGPU code off of "std140" and onto gpu-uniforms.
2021-11-08 02:23:33 -08:00
Rezmason
bd3d0c76d2
Fixing the names of shaders in the passes. The loadShader utility function now returns the code and the module, since I'm hoping to parse uniform buffer layouts from the code.
2021-11-07 00:41:25 -07:00
Rezmason
89b9f4e363
Ported all the post processing regl passes to WebGPU. Fixed the CORS stuff in loadTexture. Renamed createRenderTargetTexture to makePassFBO, to conform with the regl project. Added make1DTexture, which stripePass uses.
2021-11-06 05:03:16 -07:00