Rezmason
503c97adeb
Ripples pass now supports five simultaneous clicks; the ripples are circular, accounting for the aspect ratio; click event is handled within the ripples pass module.
2022-08-02 03:42:36 -07:00
Rezmason
f0ffa6fce2
Changing back glyph edge crop, taste is subjective but symbols are getting cut off
2022-08-02 03:41:29 -07:00
serge
d910e2e49d
animation length
2022-08-01 19:05:51 +10:00
serge
ed2fff88a8
onclick ripple
2022-07-30 17:37:34 +10:00
serge
65d0380bde
2/3
2022-07-29 19:54:52 +10:00
serge
c2eb3d0602
not bad for first time
2022-07-05 05:24:38 +10:00
Rezmason
a4a0406826
Ran prettier.
2022-05-04 17:42:50 -07:00
Rezmason
a6c88913f5
A pipeline is now an object with a build method and a run method. The build method returns the last step's outputs object.
2022-05-03 12:07:54 -07:00
Rezmason
b09887ba0f
GPUComputePassEnncoder::dispatch got renamed to dispatchWorkgroups
2022-05-03 12:00:25 -07:00
Rezmason
f72d5450e8
Replacing the deprecated loadValue property in the render pass config descriptors' color attachments
2022-04-30 18:16:33 -07:00
Rezmason
e39c26a95a
The delimiter between WGSL struct fields is now a comma, which is also the delimiter between parameters in angle brackets, so gpu-buffer needs to be a little cleverer with the lines it separates.
2022-04-30 18:16:33 -07:00
Rezmason
4118faca27
Pass::endPass --> Pass:end
2022-04-30 18:16:33 -07:00
Rezmason
33497270a8
Fleshing out the megacity version, and adding it to the readme
2022-04-28 18:27:01 -07:00
Rezmason
b56f63b74b
Fixing the asterisk glyph in the font and glyph sets.
...
Adding the megacity glyph to the font and added a megacity glyph set.
Fixed a bug in the rain pass's fragment shader that caused glyphs in the last column to go missing
2022-04-28 18:18:15 -07:00
Rezmason
d3905387fb
Adding the Game Theory ARG cipher fonts.
2021-12-26 00:20:48 -08: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
adada69cdf
Fixes to the font configuration logic.
2021-12-21 15:13:54 -08:00
Rezmason
22f3ab4092
You can now specify the glyph font by name in the URL.
2021-12-21 15:00:15 -08:00
Rezmason
38f29ad21b
You can now loop the effect. It's not super great, but it ought to make it easier to create repeating backgrounds or something.
2021-12-21 02:22:20 -08:00
Rezmason
62e9bfea82
Click-to-fullscreen now works with Safari as well.
2021-12-19 23:24:15 -08:00
Rezmason
bdd8782619
The lkg object shouldn't be retrieved from the device or spoofed unless holoplay is enabled.
2021-12-19 22:41:10 -08:00
Rezmason
1a7043a986
Moved looking glass context logic into an "lkgHelper" module. Fixed math issues.
2021-12-19 22:02:19 -08:00
Rezmason
87fa3462ea
Add error handling if the holoplay service cannot be reached.
2021-12-19 12:33:29 -08:00
Rezmason
2364bbc8bc
rainPass now renders multiple cameras and viewports, using data from the hardware.
...
Added quiltPass (which uses holoplay’s quilting shader).
Added a holoplay effect version. (Versions can also now specify a preferred renderer.)
2021-12-19 12:08:31 -08:00
Rezmason
68ad689e1e
They removed [[block]] from WGSL struct declarations.
2021-12-14 23:01:53 -08:00
Rezmason
25e9f10f69
Adding "updated" glyph set from The Matrix Resurrections, and a corresponding effect version.
2021-12-11 22:21:24 -08:00
Rezmason
508c941fcd
The glyph textures can now be rectangular, I think.
2021-12-06 22:44:18 -08:00
Rezmason
577e94c7d1
Moving bloomPass's pyramids off of mipmaps fixes its appearance in Firefox Nightly
2021-12-06 07:34:04 -08:00
Rezmason
9896e2da84
Fixing a Firefox Nightly issue in the rain pass.
2021-12-05 22:58:32 -08:00
Rezmason
d19f78319b
Rewrite loadTexture, for now, to use GPUQueue::writeTexture (from data supplied by a CanvasContext2D) instead of GPUQueue::copyExternalToTexture (from createImageBitmap).
2021-12-04 15:40:33 -08:00
Rezmason
b540ef4620
Explicitly using rgba8unorm format for rain pass render targets
2021-11-17 18:27:10 -08:00
Rezmason
c0bd6945ed
The twilight version flickered an unhealthy amount, so I lengthened its raindrops.
2021-11-15 23:52:39 -08:00
Rezmason
e95d826fb3
Adding huberfish A and D glyph sets; adding palimpsest and twilight versions.
2021-11-15 23:49:19 -08:00
Rezmason
b39ae896b5
A temporary fix for the WebGPU detector. Also, Firefox doesn't support GPUQueue::copyExternalImageToTexture yet, so they'll fall back to regl until I work out a temporary alternative for that, too.
2021-11-15 09:19:00 -08:00
Rezmason
d273573348
Non-module scripts are now imported through the JS. It's not pretty, but it keeps the WebGPU project from loading regl unnecessarily.
2021-11-15 08:05:31 -08:00
Rezmason
aa56cc4256
Changed the gpu-buffer imports to use a relative path.
2021-11-15 07:41:33 -08:00
Rezmason
b5d9e106fb
prettier has some opinions about bloomPass.
2021-11-15 07:41:18 -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
b0a4acdfdb
Rewrote the WebGPU bloom pass based on the classic Unreal solution of blurring and combining the levels of an image pyramid. Fixed the regl bloom pass to use the downscaled blurred mipmap levels to build the first pyramid.
2021-11-14 23:09:29 -08:00
Rezmason
7eecace634
My friend recommended a much simpler blur that doesn't build any image pyramids. Unfortunately my work towards an implementation isn't very promising— it doesn't pack the same wollop as the WebGL version— but I can built my pyramids on top of it.
2021-11-13 21:25:27 -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
9c861fd50b
Replacing the final copyToTexture call with a tiny render pass, so that the postprocessing passes can be compute shaders working off of storage textures instead.
2021-11-11 08:24:30 -08:00
Rezmason
9813e76ffb
The stripe pass wasn't properly handling custom colors.
2021-11-11 08:01:43 -08:00
Rezmason
159e205019
Planning out the bloom pass.
2021-11-10 18:10:57 -08:00
Rezmason
dc4032e42a
A little reorganization of methods in the passes.
2021-11-10 18:10:26 -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
f0f422e933
Only load one solution— regl, or webgpu, not both. This requires dynamic import.
2021-11-09 18:26:00 -08:00