[{"data":1,"prerenderedAt":422},["ShallowReactive",2],{"navigation":3,"/experiments/portal-journey":126,"authors":304},[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":86,"author":128,"body":129,"date":289,"description":290,"extension":291,"featured":125,"lastUpdated":292,"meta":293,"navigation":294,"path":87,"seo":295,"stem":88,"tags":296,"thumbnail":302,"__hash__":303},"experiments/experiments/portal-journey.md","alvarosabu",{"type":130,"value":131,"toc":281},"minimark",[132,149,154,157,197,201,204,242,246,278],[133,134,135,136,140,141,148],"p",{},"This experiment recreates the iconic ",[137,138,139],"strong",{},"portal scene"," from ",[142,143,147],"a",{"href":144,"rel":145},"https://threejs-journey.com/",[146],"nofollow","Bruno Simon's famous Three.js Journey course",", featuring a magical portal surrounded by floating fireflies. The scene demonstrates advanced lighting techniques, custom shaders, and atmospheric effects creating an enchanting fantasy environment.",[150,151,153],"h3",{"id":152},"what-youll-see","What You'll See",[133,155,156],{},"A captivating magical scene featuring:",[158,159,160,167,173,179,185,191],"ul",{},[161,162,163,166],"li",{},[137,164,165],{},"Mystical Portal",": Glowing circular portal with swirling energy effects",[161,168,169,172],{},[137,170,171],{},"Floating Fireflies",": Hundreds of animated fireflies with custom particle shaders",[161,174,175,178],{},[137,176,177],{},"Baked Lighting",": Pre-computed lighting for realistic illumination and shadows",[161,180,181,184],{},[137,182,183],{},"Fantasy Environment",": Detailed 3D environment with rocks, grass, and mystical elements",[161,186,187,190],{},[137,188,189],{},"Shader Effects",": Custom GLSL shaders for portal energy and firefly glow",[161,192,193,196],{},[137,194,195],{},"Atmospheric Lighting",": Carefully crafted lighting creating magical ambiance",[150,198,200],{"id":199},"technical-implementation","Technical Implementation",[133,202,203],{},"This experiment showcases advanced 3D rendering techniques:",[158,205,206,212,218,224,230,236],{},[161,207,208,211],{},[137,209,210],{},"Baked Lighting Pipeline",": Pre-calculated lighting stored in textures for performance",[161,213,214,217],{},[137,215,216],{},"Custom Particle Shaders",": GLSL shaders for firefly animation and glow effects",[161,219,220,223],{},[137,221,222],{},"Portal Shader Effects",": Swirling energy patterns using time-based animations",[161,225,226,229],{},[137,227,228],{},"GLTF Scene Loading",": Complex 3D environment loaded efficiently",[161,231,232,235],{},[137,233,234],{},"Texture Management",": Multiple textures for different scene elements",[161,237,238,241],{},[137,239,240],{},"Performance Optimization",": Balanced visual quality with smooth performance",[150,243,245],{"id":244},"visual-design","Visual Design",[158,247,248,254,260,266,272],{},[161,249,250,253],{},[137,251,252],{},"Fantasy Atmosphere",": Magical lighting and effects creating otherworldly mood",[161,255,256,259],{},[137,257,258],{},"Color Harmony",": Warm and cool tones creating visual depth and interest",[161,261,262,265],{},[137,263,264],{},"Particle Animation",": Realistic firefly movement with natural randomness",[161,267,268,271],{},[137,269,270],{},"Environmental Detail",": Rich 3D environment with varied textures and materials",[161,273,274,277],{},[137,275,276],{},"Lighting Drama",": Strategic light placement highlighting key scene elements",[133,279,280],{},"This experiment serves as an excellent reference for creating magical environments and demonstrates how proper lighting and shader effects can transform a simple scene into a captivating fantasy world.",{"title":282,"searchDepth":283,"depth":283,"links":284},"",2,[285,287,288],{"id":152,"depth":286,"text":153},3,{"id":199,"depth":286,"text":200},{"id":244,"depth":286,"text":245},"2023-03-27","Famous Bruno Simon's ThreeJS Journey Portal.","md","2025-06-26",{},true,{"title":86,"description":290},[297,298,299,300,301],"gltf","shaders","useTexture","useGLTF","baked","/experiments/portal-journey.webp","CsEEFjfr3jK1dm9NovXNc6nPJJPFKC2r4rxAwB4U8Ro",[305,321,336,353,369,387,404],{"id":306,"title":307,"avatar":308,"body":309,"description":282,"email":313,"extension":291,"github":128,"meta":314,"name":315,"navigation":294,"path":316,"seo":317,"slug":128,"stem":318,"twitter":128,"website":319,"__hash__":320},"authors/authors/alvarosabu.md","Alvarosabu","/avatars/alvarosabu.jpg",{"type":130,"value":310,"toc":311},[],{"title":282,"searchDepth":283,"depth":283,"links":312},[],"hola@alvarosaburido.dev",{},"Alvaro Saburido","/authors/alvarosabu",{"description":282},"authors/alvarosabu","https://alvarosaburido.dev","FWpr6-OcVRzMvvsjRaD8icRidgpKVLCtrKy9-l_5GZM",{"id":322,"title":323,"avatar":324,"body":325,"description":282,"email":329,"extension":291,"github":330,"meta":331,"name":330,"navigation":294,"path":332,"seo":333,"slug":330,"stem":334,"twitter":329,"website":329,"__hash__":335},"authors/authors/andretchen0.md","Andretchen0","/avatars/andretchen0.jpg",{"type":130,"value":326,"toc":327},[],{"title":282,"searchDepth":283,"depth":283,"links":328},[],null,"andretchen0",{},"/authors/andretchen0",{"description":282},"authors/andretchen0","rztGS5YNlU7jYv1laE9f863gZy-WUFK5r3uuycyiMLY",{"id":337,"title":338,"avatar":339,"body":340,"description":282,"email":344,"extension":291,"github":345,"meta":346,"name":347,"navigation":294,"path":348,"seo":349,"slug":345,"stem":350,"twitter":351,"website":329,"__hash__":352},"authors/authors/damienmontastier.md","Damienmontastier","/avatars/damienmontastier.jpg",{"type":130,"value":341,"toc":342},[],{"title":282,"searchDepth":283,"depth":283,"links":343},[],"montastier.damien@gmail.com","damienmontastier",{},"Damien Montastier","/authors/damienmontastier",{"description":282},"authors/damienmontastier","dammontastier","FqtKh6r8pBEM29DE6GhT098-LIpM3BL7RXSxFjrcwwY",{"id":354,"title":355,"avatar":356,"body":357,"description":282,"email":329,"extension":291,"github":361,"meta":362,"name":363,"navigation":294,"path":364,"seo":365,"slug":361,"stem":366,"twitter":367,"website":329,"__hash__":368},"authors/authors/franciscohermida.md","Franciscohermida","/avatars/franciscohermida.jpg",{"type":130,"value":358,"toc":359},[],{"title":282,"searchDepth":283,"depth":283,"links":360},[],"franciscohermida",{},"Francisco Hermida","/authors/franciscohermida",{"description":282},"authors/franciscohermida","chicohermida","2dGmaA2uS0w2CaErMR8BexRzx0pCgoEowV5tZcITkus",{"id":370,"title":371,"avatar":372,"body":373,"description":282,"email":377,"extension":291,"github":378,"meta":379,"name":371,"navigation":294,"path":380,"seo":381,"slug":382,"stem":383,"twitter":384,"website":385,"__hash__":386},"authors/authors/jaime-torrealba.md","Jaime Torrealba","/avatars/jaime-torrealba.jpg",{"type":130,"value":374,"toc":375},[],{"title":282,"searchDepth":283,"depth":283,"links":376},[],"solucionesinformaticasjtc@gmail.com","JaimeTorrealba",{},"/authors/jaime-torrealba",{"description":282},"jaime-bboyjt","authors/jaime-torrealba","jaimebboyjt","https://jaimetorrealba.com/","WhkdXnej1NkT__thyZfYEil3qYn8wi7qVoQSMzyfrs4",{"id":388,"title":389,"avatar":390,"body":391,"description":282,"email":395,"extension":291,"github":396,"meta":397,"name":398,"navigation":294,"path":399,"seo":400,"slug":398,"stem":401,"twitter":395,"website":402,"__hash__":403},"authors/authors/luckystriike.md","Luckystriike","/avatars/luckystriike.jpg",{"type":130,"value":392,"toc":393},[],{"title":282,"searchDepth":283,"depth":283,"links":394},[],"none","luckystriike22",{},"luckystriike","/authors/luckystriike",{"description":282},"authors/luckystriike","https://github.com/luckystriike22","vmVaU8HAY_jbVnlvpUQiwh3uPcKxGGr6B5PF9xo17X8",{"id":405,"title":406,"avatar":407,"body":408,"description":282,"email":412,"extension":291,"github":413,"meta":414,"name":415,"navigation":294,"path":416,"seo":417,"slug":413,"stem":418,"twitter":419,"website":420,"__hash__":421},"authors/authors/neoprint3d.md","Neoprint3d","/avatars/neoprint3d.jpg",{"type":130,"value":409,"toc":410},[],{"title":282,"searchDepth":283,"depth":283,"links":411},[],"drew@neoprint3d.dev","neoprint3d",{},"Drew Ronsman","/authors/neoprint3d",{"description":282},"authors/neoprint3d","drew_ronsman","https://dronsman.com","w-8rauWEJDRmX_QOi4s2PI7n9EABybGURQ-R_ss9tzo",1776554393531]