Rezmason
b6570de106
Fixed some major bugs: the WebGPU cache should store loaded images and text, never GPU resource handles; renamed renderer "formulate" to "configure"; WebGPU renderer's configure function needs early returns after each major await, in case there's a new config; the render loops are now locally stored closures; renderers now have start and stop functions; fixed bugs in the REGL and WebGPU mirror passes; WebGPU bloom pass now enforces texture dimensions are greater than zero; the react component now stores the renderer type in a useRef and returns early from renderer init awaits to prevent multiple renderers from instantiating.
2025-05-25 03:30:26 -07:00
Rezmason
3b837c6f06
Massive overhaul: the renderers are now classes that implement Renderer; replaced webpack and rollup with vite; converted bundle-contents to "core" and "full" bundle profiles; renamed "inclusions" to "staticAssets", which are "url" base64-encoded images and "raw" text strings; renamed the Matrix component module to the JSX extension; built out a test scaffold at tools/test/index.html to manually test the various deploy options.
2025-05-23 12:49:10 -07:00
Rezmason
eea341f50c
Exploring ways to preserve the vanilla JS browser demo without compromising on the bundle. Experimenting with embedding images in the bundle as data URIs
2025-05-06 12:59:02 -07:00
Rezmason
237990b44c
Ran the format script
2025-05-05 08:52:35 -07:00
Rezmason
91201830f8
You can now suppress warnings with suppressWarnings. This should be used for any warning that may appear in the future. Also, clicking the button to proceed in the warning notice appends suppressWarnings to the URL parameters.
2022-11-30 19:56:55 -08:00
Rezmason
95b67d1dad
Detect and advise against running through SwiftShader
2022-10-02 13:20:50 -07:00
Rezmason
0475f05029
Switching the default renderer to regl for now, since some folks are seeing issues with the WebGPU renderer and I'm actively investigating its "bloom issues" (which seem to involve bloomStrength and texture/sampler differences)
2022-09-26 09:37:38 -07:00
Rezmason
aee790bf4b
Making supportsWebGPU more stringent
2022-08-28 23:04:38 -07: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
9896e2da84
Fixing a Firefox Nightly issue in the rain pass.
2021-12-05 22:58:32 -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
f0f422e933
Only load one solution— regl, or webgpu, not both. This requires dynamic import.
2021-11-09 18:26:00 -08:00
Rezmason
335ff5ddb7
The main module can now pick a renderer based on the "renderer" URL parameter.
2021-11-06 05:03:38 -07:00
Rezmason
94f5f1e5ec
Rearranging the shaders and scripts to hopefully make the project easier to work on
2021-10-29 09:27:28 -07:00
Rezmason
6b317af0bb
Broke ground on webgpu version.
...
Split regl_main.js off of main.js, which now detects navigator.gpu. If it exists, it initializes webgpu_main instead.
2021-10-27 19:04:02 -07:00
Rezmason
4c6ff879fd
Added some documentation, cleaned up some code, fleshed out the remaining work to make the project a little easier for newcomers to approach
2021-10-20 21:01:32 -07:00
Rezmason
f6e12ad795
Renaming renderer to rainPass, renaming its shaders, and cleaning up the main code a little.
2021-10-20 09:58:03 -07:00
Rezmason
28d38b032f
More code cleanup. Replacing Neapolitan ice cream stripes with trans flag stripes.
2021-10-20 09:19:06 -07:00
Rezmason
91deea34d6
Ran all the JS through prettier.
2021-10-20 03:25:04 -07:00
Rezmason
d8a1409907
Pushed virtually all the shader source into shader files that load as assets.
2021-10-20 03:20:46 -07:00
Rezmason
80f5aea2a3
Adding support for "resurrecting" volumetric code, which is rendered to a separate channel and can be given separate colors.
2021-09-19 21:52:04 -07:00
Rezmason
6708ab03a7
Came up with some performance improvements. Hopefully this will help it run better on more machines leading up to the sequel coming out.
2021-07-11 18:18:13 -07:00
Rezmason
d094f7e0b7
Added resolution parameter to config.
2021-07-11 16:34:36 -07:00
Rezmason
021ade45e1
Passes now accept as input and provide as output Objects with FBOs as values. This allows passes to work with more than one input texture.
2020-06-26 12:46:28 -07:00
Rezmason
a48b8dffbe
Cleaned up config by moving its responsibilities into the passes
2020-01-26 13:53:19 -08:00
Rezmason
99ef8bbf0a
Separated color passes into separate modules.
...
Moved main JS into its own module.
Main module now builds passes into a pipeline, based on the value of config.effect.
The passes no longer make stubs when they're not meant to be active.
Asset loading has been moved into the passes, which resolve their ready promise when they've finished loading.
2020-01-25 23:05:54 -08:00