[{"data":1,"prerenderedAt":308},["ShallowReactive",2],{"navigation":3,"/experiments/fireworks-shader":126,"authors":190},[4],{"title":5,"path":6,"stem":7,"children":8,"page":125},"Experiments","/experiments","experiments",[9,13,17,21,25,29,33,37,41,45,49,53,57,61,65,69,73,77,81,85,89,93,97,101,105,109,113,117,121],{"title":10,"path":11,"stem":12},"Array of cameras","/experiments/array-cameras","experiments/array-cameras",{"title":14,"path":15,"stem":16},"Brickelangelo David","/experiments/brickelangelo-david","experiments/brickelangelo-david",{"title":18,"path":19,"stem":20},"Basic Brownian distribution","/experiments/brownian-distribution","experiments/brownian-distribution",{"title":22,"path":23,"stem":24},"Porsche 911 Car Showcase","/experiments/car-showcase","experiments/car-showcase",{"title":26,"path":27,"stem":28},"Coffee Smoke","/experiments/coffee-smoke","experiments/coffee-smoke",{"title":30,"path":31,"stem":32},"Cube Boy Dancefloor","/experiments/cube-boy-dancefloor","experiments/cube-boy-dancefloor",{"title":34,"path":35,"stem":36},"Cult of the lamb 🐑","/experiments/cult-of-the-lamb","experiments/cult-of-the-lamb",{"title":38,"path":39,"stem":40},"Dancing blob","/experiments/dancing-blob","experiments/dancing-blob",{"title":42,"path":43,"stem":44},"Fireworks Shader","/experiments/fireworks-shader","experiments/fireworks-shader",{"title":46,"path":47,"stem":48},"Galaxy Generator 🪐","/experiments/galaxy-generator","experiments/galaxy-generator",{"title":50,"path":51,"stem":52},"Glass/Plastic Material","/experiments/glass-material","experiments/glass-material",{"title":54,"path":55,"stem":56},"Grainy Liquid Blobs","/experiments/grainy-liquid","experiments/grainy-liquid",{"title":58,"path":59,"stem":60},"Haunted House","/experiments/haunted-house","experiments/haunted-house",{"title":62,"path":63,"stem":64},"Phone with HTML inside","/experiments/html-phone","experiments/html-phone",{"title":66,"path":67,"stem":68},"Low Poly Planet","/experiments/lowpoly-planet","experiments/lowpoly-planet",{"title":70,"path":71,"stem":72},"Magical Marbles","/experiments/magical-marbles","experiments/magical-marbles",{"title":74,"path":75,"stem":76},"Nuxt Stones","/experiments/nuxt-stones","experiments/nuxt-stones",{"title":78,"path":79,"stem":80},"Particle Pumpkin Shader","/experiments/particle-pumpkin","experiments/particle-pumpkin",{"title":82,"path":83,"stem":84},"Particles Morphing","/experiments/particles-morphing","experiments/particles-morphing",{"title":86,"path":87,"stem":88},"Portal Journey","/experiments/portal-journey","experiments/portal-journey",{"title":90,"path":91,"stem":92},"Wizard's Potion Classroom","/experiments/potions-classroom","experiments/potions-classroom",{"title":94,"path":95,"stem":96},"Rapier Object Clump","/experiments/rapier-object-clump","experiments/rapier-object-clump",{"title":98,"path":99,"stem":100},"Repulsion Effect","/experiments/repulsion-effect","experiments/repulsion-effect",{"title":102,"path":103,"stem":104},"Shadertoy Museum","/experiments/shadertoy-museum","experiments/shadertoy-museum",{"title":106,"path":107,"stem":108},"Space Game","/experiments/space-game","experiments/space-game",{"title":110,"path":111,"stem":112},"Halloween Spooky-saur 🎃","/experiments/spooky-saur","experiments/spooky-saur",{"title":114,"path":115,"stem":116},"Synthwave Landscape","/experiments/synthwave-landscape","experiments/synthwave-landscape",{"title":118,"path":119,"stem":120},"Texture Particle Cursor","/experiments/texture-particle-cursor","experiments/texture-particle-cursor",{"title":122,"path":123,"stem":124},"WebGPU","/experiments/webgpu","experiments/webgpu",false,{"id":127,"title":42,"author":128,"body":129,"date":177,"description":178,"extension":179,"featured":125,"lastUpdated":180,"meta":181,"navigation":182,"path":43,"seo":183,"stem":44,"tags":184,"thumbnail":188,"__hash__":189},"experiments/experiments/fireworks-shader.md","alvarosabu",{"type":130,"value":131,"toc":172},"minimark",[132,149,154,163],[133,134,135,136,140,141,148],"p",{},"This experiment recreates the stunning ",[137,138,139],"strong",{},"fireworks shader effect"," from ",[142,143,147],"a",{"href":144,"rel":145},"https://threejs-journey.com/",[146],"nofollow","Bruno Simon's Three.js Journey course",", adapted for TresJS. Experience dynamic particle explosions with custom GLSL shaders that create realistic fireworks bursts complete with physics-based motion and vibrant color variations.",[150,151,153],"h2",{"id":152},"assets","Assets",[133,155,156,157,162],{},"Particle textures downloaded from ",[142,158,161],{"href":159,"rel":160},"https://kenney.nl/assets/particle-pack",[146],"Kenney.nl Particle Pack"," - Creative Commons CC0 (Public Domain).",[133,164,165,166,171],{},"Thanks to ",[142,167,170],{"href":168,"rel":169},"https://kenney.nl",[146],"Kenney.nl"," for so many great free assets!",{"title":173,"searchDepth":174,"depth":174,"links":175},"",2,[176],{"id":152,"depth":174,"text":153},"2025-11-21","Fireworks shader with particles and shaders","md","2025-12-17",{},true,{"title":42,"description":178},[185,186,187],"shaders","glsl","particles","/experiments/fireworks-shader.webp","1ENW13gymSoXwDKKP3KEf7YIDJwZlkdU0Xrqt3MyNLI",[191,207,222,239,255,273,290],{"id":192,"title":193,"avatar":194,"body":195,"description":173,"email":199,"extension":179,"github":128,"meta":200,"name":201,"navigation":182,"path":202,"seo":203,"slug":128,"stem":204,"twitter":128,"website":205,"__hash__":206},"authors/authors/alvarosabu.md","Alvarosabu","/avatars/alvarosabu.jpg",{"type":130,"value":196,"toc":197},[],{"title":173,"searchDepth":174,"depth":174,"links":198},[],"hola@alvarosaburido.dev",{},"Alvaro Saburido","/authors/alvarosabu",{"description":173},"authors/alvarosabu","https://alvarosaburido.dev","FWpr6-OcVRzMvvsjRaD8icRidgpKVLCtrKy9-l_5GZM",{"id":208,"title":209,"avatar":210,"body":211,"description":173,"email":215,"extension":179,"github":216,"meta":217,"name":216,"navigation":182,"path":218,"seo":219,"slug":216,"stem":220,"twitter":215,"website":215,"__hash__":221},"authors/authors/andretchen0.md","Andretchen0","/avatars/andretchen0.jpg",{"type":130,"value":212,"toc":213},[],{"title":173,"searchDepth":174,"depth":174,"links":214},[],null,"andretchen0",{},"/authors/andretchen0",{"description":173},"authors/andretchen0","rztGS5YNlU7jYv1laE9f863gZy-WUFK5r3uuycyiMLY",{"id":223,"title":224,"avatar":225,"body":226,"description":173,"email":230,"extension":179,"github":231,"meta":232,"name":233,"navigation":182,"path":234,"seo":235,"slug":231,"stem":236,"twitter":237,"website":215,"__hash__":238},"authors/authors/damienmontastier.md","Damienmontastier","/avatars/damienmontastier.jpg",{"type":130,"value":227,"toc":228},[],{"title":173,"searchDepth":174,"depth":174,"links":229},[],"montastier.damien@gmail.com","damienmontastier",{},"Damien Montastier","/authors/damienmontastier",{"description":173},"authors/damienmontastier","dammontastier","FqtKh6r8pBEM29DE6GhT098-LIpM3BL7RXSxFjrcwwY",{"id":240,"title":241,"avatar":242,"body":243,"description":173,"email":215,"extension":179,"github":247,"meta":248,"name":249,"navigation":182,"path":250,"seo":251,"slug":247,"stem":252,"twitter":253,"website":215,"__hash__":254},"authors/authors/franciscohermida.md","Franciscohermida","/avatars/franciscohermida.jpg",{"type":130,"value":244,"toc":245},[],{"title":173,"searchDepth":174,"depth":174,"links":246},[],"franciscohermida",{},"Francisco Hermida","/authors/franciscohermida",{"description":173},"authors/franciscohermida","chicohermida","2dGmaA2uS0w2CaErMR8BexRzx0pCgoEowV5tZcITkus",{"id":256,"title":257,"avatar":258,"body":259,"description":173,"email":263,"extension":179,"github":264,"meta":265,"name":257,"navigation":182,"path":266,"seo":267,"slug":268,"stem":269,"twitter":270,"website":271,"__hash__":272},"authors/authors/jaime-torrealba.md","Jaime Torrealba","/avatars/jaime-torrealba.jpg",{"type":130,"value":260,"toc":261},[],{"title":173,"searchDepth":174,"depth":174,"links":262},[],"solucionesinformaticasjtc@gmail.com","JaimeTorrealba",{},"/authors/jaime-torrealba",{"description":173},"jaime-bboyjt","authors/jaime-torrealba","jaimebboyjt","https://jaimetorrealba.com/","WhkdXnej1NkT__thyZfYEil3qYn8wi7qVoQSMzyfrs4",{"id":274,"title":275,"avatar":276,"body":277,"description":173,"email":281,"extension":179,"github":282,"meta":283,"name":284,"navigation":182,"path":285,"seo":286,"slug":284,"stem":287,"twitter":281,"website":288,"__hash__":289},"authors/authors/luckystriike.md","Luckystriike","/avatars/luckystriike.jpg",{"type":130,"value":278,"toc":279},[],{"title":173,"searchDepth":174,"depth":174,"links":280},[],"none","luckystriike22",{},"luckystriike","/authors/luckystriike",{"description":173},"authors/luckystriike","https://github.com/luckystriike22","vmVaU8HAY_jbVnlvpUQiwh3uPcKxGGr6B5PF9xo17X8",{"id":291,"title":292,"avatar":293,"body":294,"description":173,"email":298,"extension":179,"github":299,"meta":300,"name":301,"navigation":182,"path":302,"seo":303,"slug":299,"stem":304,"twitter":305,"website":306,"__hash__":307},"authors/authors/neoprint3d.md","Neoprint3d","/avatars/neoprint3d.jpg",{"type":130,"value":295,"toc":296},[],{"title":173,"searchDepth":174,"depth":174,"links":297},[],"drew@neoprint3d.dev","neoprint3d",{},"Drew Ronsman","/authors/neoprint3d",{"description":173},"authors/neoprint3d","drew_ronsman","https://dronsman.com","w-8rauWEJDRmX_QOi4s2PI7n9EABybGURQ-R_ss9tzo",1776253346776]