Rezmason
00805c884e
Ran formatter.
2025-05-29 20:33:16 -07:00
Rezmason
0884c6a4de
WebGPU Renderer now awaits the submitted work in the old device's queue before destroying it
2025-05-26 12:03:52 -07:00
Jeremy Sachs
83f1eb07c3
Update renderer.js
...
"rain instance" --> "renderer" in error message
2025-05-25 09:36:59 -07:00
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
658f07c6ab
Code intended to leverage imports in the load functions.
2025-05-20 07:59:20 -07:00
Rezmason
f61a4e29c9
Added cache check to WebGPU renderer's loadShader method. Un-commented entries into config.js. Inclusions are now explicit dynamic import lambdas, so the cache functions can detect and call them; however, webpack and rollup seem to use them differently.
2025-05-20 07:57:27 -07:00
Rezmason
24e939008e
Added some other basic inputs to see how continuous changes of various values affect the component render
2025-05-15 03:06:19 -07:00
Rezmason
45059c4e29
Removing unnecessary trick in inclusions.js that was meant to prevent tree shaking of the imported resources.
2025-05-15 01:39:39 -07:00
Rezmason
b7085c5bf7
Implementing and verifying the integrity of the cleanup function on the core useEffect
2025-05-15 01:36:28 -07:00
Rezmason
22241924c9
regl's destroy function destroys all resources created with it; so does GPUDevice::destroy.
2025-05-08 18:11:06 -07:00
Rezmason
319b53919b
Testing hot-swapping renderers, which requires destroying and rebuilding the canvas after all. Fixed a few other related bugs and moved the imports into "bundle-contents.js".
2025-05-08 12:52:48 -07:00
Rezmason
a1332d8f1a
Separating the resource imports from the Matrix.js module
2025-05-07 18:06:15 -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
6663c92f99
Removing holoplay for now.
2025-05-06 08:15:57 -07:00
Rezmason
f3cd449c7d
Added WebGPU support and added caching to the WebGPU version.
2025-05-05 19:07:36 -07:00
Rezmason
664f484723
Component now reuses its canvas. regl implementation reuses its regl instance, and caches resources that already loaded.
2025-05-05 18:59:18 -07:00
Rezmason
237990b44c
Ran the format script
2025-05-05 08:52:35 -07:00
Rezmason
6183accac5
Repairing the bloom
2025-05-04 22:00:53 -07:00
nohren
3bc0d5d346
Matrix React component 1.0.0
2025-04-24 08:54:03 -07:00
Rezmason
cee10bb1de
Adding glyphFlip and glyphRotation parameters.
2024-09-10 21:41:59 -07:00
Rezmason
f14651c2b2
Initializing the regl double buffer with an array of zeroes, to overwrite any garbage values that a browser may have left in there.
2024-06-27 12:48:11 -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
4cc4d9191e
Removing some unused code from bloom
2022-11-01 08:07:34 -07:00
Rezmason
acc21ef1f4
Separated cursor and glint intensities from their colors, which can now safely reside in their color spaces.
2022-11-01 08:05:48 -07:00
Rezmason
c7fafcdb13
Adding neomatrixology's glyphs and version
2022-10-13 19:50:35 -07:00
Rezmason
f0898e7ecf
All non-trivial shaders are now loaded from files.
2022-10-11 21:27:46 -07:00
Rezmason
e8be232e9b
Fixing several embarrassing bugs.
...
WebGPU and REGL projects now flipY again, and they properly flip the symbolY glyph coordinate in the rain pass's fragment shader.
Switching on some older code that was disabled for FF Nightly support— it makes more sense to wait for that support as implementations finalize.
Added mipmap to images loaded into REGL project.
2022-10-11 09:25:24 -07:00
Rezmason
3843dd90d1
Moving bloom strength math to the combine steps, and fixing a redundant multiply issue in the REGL based renderer
2022-10-04 21:53:53 -07:00
Rezmason
507f907096
Fixing the resize logic
2022-10-04 21:52:44 -07:00
Rezmason
6986ed45f5
Removed flipY from REGL renderer's texture load function, to increase similarity between renderer implementations and rule out a sampling discrepancy
2022-10-04 21:48:21 -07:00
Rezmason
4f257b87f7
Fixed SDF math; texture dimensions were accessed before they loaded in the REGL-based renderer
2022-10-04 21:46:26 -07:00
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
51faabfbe6
Corrected the MSDF logic in the GLSL and WGSL shaders, which fixed the rendering in Chrome's software renderer.
2022-10-02 20:35:12 -07:00
Rezmason
95b67d1dad
Detect and advise against running through SwiftShader
2022-10-02 13:20:50 -07:00
Rezmason
87bd6c1681
Adding a "testFix" URL variable to help test potential fixes to open bugs in production.
2022-10-01 21:01:06 -07:00
Rezmason
dd7692dfc5
Left in a console log by mistake
2022-09-30 00:12:48 -07:00
Rezmason
7e2acde979
Fixing the transPride and pride stripe colors in the regl code
2022-09-29 22:44:49 -07:00
Rezmason
2ab9699b4e
Adding palette URL variable support, HSL URL variables, and RGB aliases for the existing color URL variables.
2022-09-29 22:15:01 -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
67cfdcb132
Palette pass now accepts colors regardless of their color space
2022-09-29 22:15:01 -07:00
Rezmason
cde709b044
Renaming paletteEntries to palette
2022-09-29 22:15:01 -07:00
Rezmason
44ce50b6d5
Updating pride and trans pride stripe colors to match what's on Wikipedia
2022-09-27 12:18:32 -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
beb70473aa
Fixed a WebGPU sequencing issue when skipIntro=true&once=false, caused by updating the cells and intro cells in the same compute pass. The WebGPU and REGL projects are now also slightly more alike.
2022-09-25 19:43:51 -07:00
Rezmason
965e21d3ba
Adding intro and skipIntro option
2022-09-24 07:27:26 -07:00
Rezmason
fb16a9b855
Adjusting the textures, still not super happy with them but they can be replaced later
2022-09-19 20:41:23 -07:00
Rezmason
5f544091a9
Deferring the holoplay import until it's determined that it's needed. Changing the holoplay effect version a little.
2022-09-18 22:30:10 -07:00
Rezmason
b0406978d7
It's hard to tune the glint brightness and contrast
2022-09-18 19:46:26 -07:00