Commit Graph

27 Commits

Author SHA1 Message Date
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