[{"data":1,"prerenderedAt":491},["ShallowReactive",2],{"navigation":3,"/experiments/galaxy-generator":130,"authors":373},[4],{"title":5,"path":6,"stem":7,"children":8,"page":129},"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,125],{"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},"Pixel Noise Shaders Sandbox","/experiments/pixel-noise-shaders-sandbox","experiments/pixel-noise-shaders-sandbox",{"title":90,"path":91,"stem":92},"Pixel Plasma Shader","/experiments/pixel-plasma-shader","experiments/pixel-plasma-shader",{"title":94,"path":95,"stem":96},"Portal Journey","/experiments/portal-journey","experiments/portal-journey",{"title":98,"path":99,"stem":100},"Wizard's Potion Classroom","/experiments/potions-classroom","experiments/potions-classroom",{"title":102,"path":103,"stem":104},"Repulsion Effect","/experiments/repulsion-effect","experiments/repulsion-effect",{"title":106,"path":107,"stem":108},"Shadertoy Museum","/experiments/shadertoy-museum","experiments/shadertoy-museum",{"title":110,"path":111,"stem":112},"Space Game","/experiments/space-game","experiments/space-game",{"title":114,"path":115,"stem":116},"Halloween Spooky-saur 🎃","/experiments/spooky-saur","experiments/spooky-saur",{"title":118,"path":119,"stem":120},"Synthwave Landscape","/experiments/synthwave-landscape","experiments/synthwave-landscape",{"title":122,"path":123,"stem":124},"Texture Particle Cursor","/experiments/texture-particle-cursor","experiments/texture-particle-cursor",{"title":126,"path":127,"stem":128},"WebGPU","/experiments/webgpu","experiments/webgpu",false,{"id":131,"title":46,"author":132,"body":133,"date":362,"description":363,"extension":364,"featured":129,"lastUpdated":362,"meta":365,"navigation":366,"path":47,"seo":367,"stem":48,"tags":368,"thumbnail":371,"__hash__":372},"experiments/experiments/galaxy-generator.md","alvarosabu",{"type":134,"value":135,"toc":352},"minimark",[136,157,162,165,199,203,206,244,248,251,289,293,319,323,349],[137,138,139,140,144,145,152,153,156],"p",{},"This experiment demonstrates ",[141,142,143],"strong",{},"procedural galaxy generation"," using particle systems and custom shaders, based on ",[146,147,151],"a",{"href":148,"rel":149},"https://threejs-journey.com/",[150],"nofollow","Bruno Simon's amazing Three.js Journey tutorial"," and ported to TresJS. Create stunning spiral galaxies with ",[141,154,155],{},"30,000 animated stars"," that respond to real-time parameter adjustments, showcasing advanced particle rendering techniques.",[158,159,161],"h3",{"id":160},"what-youll-see","What You'll See",[137,163,164],{},"An interactive cosmic experience featuring:",[166,167,168,175,181,187,193],"ul",{},[169,170,171,174],"li",{},[141,172,173],{},"30,000 Particle Stars",": Each star individually positioned using mathematical spiral algorithms",[169,176,177,180],{},[141,178,179],{},"Spiral Galaxy Structure",": Configurable number of arms creating realistic galactic formations",[169,182,183,186],{},[141,184,185],{},"Color Gradients",": Smooth transitions from bright green centers to deep blue edges",[169,188,189,192],{},[141,190,191],{},"Animated Rotation",": Time-based spinning effects creating living, breathing galaxies",[169,194,195,198],{},[141,196,197],{},"Real-Time Controls",": Interactive parameters for instant galaxy customization",[158,200,202],{"id":201},"technical-implementation","Technical Implementation",[137,204,205],{},"This experiment showcases advanced particle and shader techniques:",[166,207,208,214,220,226,232,238],{},[169,209,210,213],{},[141,211,212],{},"Custom Vertex Shader",": GLSL shaders handling individual particle transformations",[169,215,216,219],{},[141,217,218],{},"Fragment Shader",": Per-pixel coloring with smooth gradients and transparency",[169,221,222,225],{},[141,223,224],{},"BufferGeometry",": Efficient particle positioning using typed arrays",[169,227,228,231],{},[141,229,230],{},"Additive Blending",": Realistic star glow effects through blend modes",[169,233,234,237],{},[141,235,236],{},"Procedural Distribution",": Mathematical algorithms for spiral arm placement",[169,239,240,243],{},[141,241,242],{},"Real-Time Generation",": Live galaxy regeneration based on parameter changes",[158,245,247],{"id":246},"galaxy-parameters","Galaxy Parameters",[137,249,250],{},"Fully customizable galaxy characteristics:",[166,252,253,259,265,271,277,283],{},[169,254,255,258],{},[141,256,257],{},"Particle Count",": 0 to 100,000 stars for performance vs. detail balance",[169,260,261,264],{},[141,262,263],{},"Galaxy Radius",": Size control from compact to sprawling formations",[169,266,267,270],{},[141,268,269],{},"Spiral Arms",": 2 to 10 arms for varied galactic structures",[169,272,273,276],{},[141,274,275],{},"Spin Factor",": Rotation intensity affecting arm curvature",[169,278,279,282],{},[141,280,281],{},"Randomness",": Controlled chaos for natural, organic distributions",[169,284,285,288],{},[141,286,287],{},"Color Scheme",": Interior and exterior color customization",[158,290,292],{"id":291},"shader-features","Shader Features",[166,294,295,301,307,313],{},[169,296,297,300],{},[141,298,299],{},"Time-Based Animation",": Continuous rotation and movement effects",[169,302,303,306],{},[141,304,305],{},"Size Variation",": Realistic star size distribution using random scaling",[169,308,309,312],{},[141,310,311],{},"Depth Sorting",": Proper transparency rendering without artifacts",[169,314,315,318],{},[141,316,317],{},"Performance Optimization",": GPU-accelerated rendering for smooth 60fps",[158,320,322],{"id":321},"visual-design","Visual Design",[166,324,325,331,337,343],{},[169,326,327,330],{},[141,328,329],{},"Cosmic Atmosphere",": Deep space black background for maximum contrast",[169,332,333,336],{},[141,334,335],{},"Elegant Typography",": Sacramento cursive font for artistic presentation",[169,338,339,342],{},[141,340,341],{},"Smooth Animations",": GSAP-powered title animations for polished experience",[169,344,345,348],{},[141,346,347],{},"Interactive Controls",": Live parameter adjustment with immediate visual feedback",[137,350,351],{},"This experiment perfectly demonstrates how mathematical algorithms combined with modern GPU shaders can create breathtaking cosmic visualizations, making it an excellent learning tool for both particle systems and procedural generation techniques.",{"title":353,"searchDepth":354,"depth":354,"links":355},"",2,[356,358,359,360,361],{"id":160,"depth":357,"text":161},3,{"id":201,"depth":357,"text":202},{"id":246,"depth":357,"text":247},{"id":291,"depth":357,"text":292},{"id":321,"depth":357,"text":322},"2023-04-25","Animated galaxy from ThreeJS Journey done with TresJS","md",{},true,{"title":46,"description":363},[369,370],"particles","shaders","/experiments/galaxy-generator.png","IcbZYXF4ihFrq2O7EWu4xinqt74oSTQvJMotgRlS3zM",[374,390,405,422,438,456,473],{"id":375,"title":376,"avatar":377,"body":378,"description":353,"email":382,"extension":364,"github":132,"meta":383,"name":384,"navigation":366,"path":385,"seo":386,"slug":132,"stem":387,"twitter":132,"website":388,"__hash__":389},"authors/authors/alvarosabu.md","Alvarosabu","/avatars/alvarosabu.jpg",{"type":134,"value":379,"toc":380},[],{"title":353,"searchDepth":354,"depth":354,"links":381},[],"hola@alvarosaburido.dev",{},"Alvaro Saburido","/authors/alvarosabu",{"description":353},"authors/alvarosabu","https://alvarosaburido.dev","FWpr6-OcVRzMvvsjRaD8icRidgpKVLCtrKy9-l_5GZM",{"id":391,"title":392,"avatar":393,"body":394,"description":353,"email":398,"extension":364,"github":399,"meta":400,"name":399,"navigation":366,"path":401,"seo":402,"slug":399,"stem":403,"twitter":398,"website":398,"__hash__":404},"authors/authors/andretchen0.md","Andretchen0","/avatars/andretchen0.jpg",{"type":134,"value":395,"toc":396},[],{"title":353,"searchDepth":354,"depth":354,"links":397},[],null,"andretchen0",{},"/authors/andretchen0",{"description":353},"authors/andretchen0","rztGS5YNlU7jYv1laE9f863gZy-WUFK5r3uuycyiMLY",{"id":406,"title":407,"avatar":408,"body":409,"description":353,"email":413,"extension":364,"github":414,"meta":415,"name":416,"navigation":366,"path":417,"seo":418,"slug":414,"stem":419,"twitter":420,"website":398,"__hash__":421},"authors/authors/damienmontastier.md","Damienmontastier","/avatars/damienmontastier.jpg",{"type":134,"value":410,"toc":411},[],{"title":353,"searchDepth":354,"depth":354,"links":412},[],"montastier.damien@gmail.com","damienmontastier",{},"Damien Montastier","/authors/damienmontastier",{"description":353},"authors/damienmontastier","dammontastier","FqtKh6r8pBEM29DE6GhT098-LIpM3BL7RXSxFjrcwwY",{"id":423,"title":424,"avatar":425,"body":426,"description":353,"email":398,"extension":364,"github":430,"meta":431,"name":432,"navigation":366,"path":433,"seo":434,"slug":430,"stem":435,"twitter":436,"website":398,"__hash__":437},"authors/authors/franciscohermida.md","Franciscohermida","/avatars/franciscohermida.jpg",{"type":134,"value":427,"toc":428},[],{"title":353,"searchDepth":354,"depth":354,"links":429},[],"franciscohermida",{},"Francisco Hermida","/authors/franciscohermida",{"description":353},"authors/franciscohermida","chicohermida","2dGmaA2uS0w2CaErMR8BexRzx0pCgoEowV5tZcITkus",{"id":439,"title":440,"avatar":441,"body":442,"description":353,"email":446,"extension":364,"github":447,"meta":448,"name":440,"navigation":366,"path":449,"seo":450,"slug":451,"stem":452,"twitter":453,"website":454,"__hash__":455},"authors/authors/jaime-torrealba.md","Jaime Torrealba","/avatars/jaime-torrealba.jpg",{"type":134,"value":443,"toc":444},[],{"title":353,"searchDepth":354,"depth":354,"links":445},[],"solucionesinformaticasjtc@gmail.com","JaimeTorrealba",{},"/authors/jaime-torrealba",{"description":353},"jaime-bboyjt","authors/jaime-torrealba","jaimebboyjt","https://jaimetorrealba.com/","WhkdXnej1NkT__thyZfYEil3qYn8wi7qVoQSMzyfrs4",{"id":457,"title":458,"avatar":459,"body":460,"description":353,"email":464,"extension":364,"github":465,"meta":466,"name":467,"navigation":366,"path":468,"seo":469,"slug":467,"stem":470,"twitter":464,"website":471,"__hash__":472},"authors/authors/luckystriike.md","Luckystriike","/avatars/luckystriike.jpg",{"type":134,"value":461,"toc":462},[],{"title":353,"searchDepth":354,"depth":354,"links":463},[],"none","luckystriike22",{},"luckystriike","/authors/luckystriike",{"description":353},"authors/luckystriike","https://github.com/luckystriike22","vmVaU8HAY_jbVnlvpUQiwh3uPcKxGGr6B5PF9xo17X8",{"id":474,"title":475,"avatar":476,"body":477,"description":353,"email":481,"extension":364,"github":482,"meta":483,"name":484,"navigation":366,"path":485,"seo":486,"slug":482,"stem":487,"twitter":488,"website":489,"__hash__":490},"authors/authors/neoprint3d.md","Neoprint3d","/avatars/neoprint3d.jpg",{"type":134,"value":478,"toc":479},[],{"title":353,"searchDepth":354,"depth":354,"links":480},[],"drew@neoprint3d.dev","neoprint3d",{},"Drew Ronsman","/authors/neoprint3d",{"description":353},"authors/neoprint3d","drew_ronsman","https://dronsman.com","w-8rauWEJDRmX_QOi4s2PI7n9EABybGURQ-R_ss9tzo",1774953670705]