[{"data":1,"prerenderedAt":466},["ShallowReactive",2],{"navigation":3,"/experiments/portal-journey":154,"authors":332},[4],{"title":5,"path":6,"stem":7,"children":8,"page":153},"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,129,133,137,141,145,149],{"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},"Gelatinous Cube","/experiments/gelatinous-cube","experiments/gelatinous-cube",{"title":54,"path":55,"stem":56},"Glass/Plastic Material","/experiments/glass-material","experiments/glass-material",{"title":58,"path":59,"stem":60},"Grainy Liquid Blobs","/experiments/grainy-liquid","experiments/grainy-liquid",{"title":62,"path":63,"stem":64},"Haunted House","/experiments/haunted-house","experiments/haunted-house",{"title":66,"path":67,"stem":68},"Phone with HTML inside","/experiments/html-phone","experiments/html-phone",{"title":70,"path":71,"stem":72},"Low Poly Planet","/experiments/lowpoly-planet","experiments/lowpoly-planet",{"title":74,"path":75,"stem":76},"Magical Marbles","/experiments/magical-marbles","experiments/magical-marbles",{"title":78,"path":79,"stem":80},"Nuxt Stones","/experiments/nuxt-stones","experiments/nuxt-stones",{"title":82,"path":83,"stem":84},"Particle Pumpkin Shader","/experiments/particle-pumpkin","experiments/particle-pumpkin",{"title":86,"path":87,"stem":88},"Particles Morphing","/experiments/particles-morphing","experiments/particles-morphing",{"title":90,"path":91,"stem":92},"Plexus Particles","/experiments/plexus-particles","experiments/plexus-particles",{"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},"Rapier Basketball","/experiments/rapier-basketball","experiments/rapier-basketball",{"title":106,"path":107,"stem":108},"Rapier Vehicle","/experiments/rapier-car","experiments/rapier-car",{"title":110,"path":111,"stem":112},"Rapier Object Clump","/experiments/rapier-object-clump","experiments/rapier-object-clump",{"title":114,"path":115,"stem":116},"Rapier Wrecking Ball","/experiments/rapier-wrecking-ball","experiments/rapier-wrecking-ball",{"title":118,"path":119,"stem":120},"Repulsion Effect","/experiments/repulsion-effect","experiments/repulsion-effect",{"title":122,"path":123,"stem":124},"Shadertoy Museum","/experiments/shadertoy-museum","experiments/shadertoy-museum",{"title":126,"path":127,"stem":128},"Space Game","/experiments/space-game","experiments/space-game",{"title":130,"path":131,"stem":132},"Halloween Spooky-saur 🎃","/experiments/spooky-saur","experiments/spooky-saur",{"title":134,"path":135,"stem":136},"Synthwave Landscape","/experiments/synthwave-landscape","experiments/synthwave-landscape",{"title":138,"path":139,"stem":140},"Texture Particle Cursor","/experiments/texture-particle-cursor","experiments/texture-particle-cursor",{"title":142,"path":143,"stem":144},"Vue Fes Japan 2025","/experiments/vuefes-japan-2025","experiments/vuefes-japan-2025",{"title":146,"path":147,"stem":148},"WebGPU","/experiments/webgpu","experiments/webgpu",{"title":150,"path":151,"stem":152},"World Walker","/experiments/world-walker","experiments/world-walker",false,{"id":155,"title":94,"author":156,"body":157,"date":317,"description":318,"extension":319,"featured":153,"lastUpdated":320,"meta":321,"navigation":322,"path":95,"seo":323,"stem":96,"tags":324,"thumbnail":330,"__hash__":331},"experiments/experiments/portal-journey.md","alvarosabu",{"type":158,"value":159,"toc":309},"minimark",[160,177,182,185,225,229,232,270,274,306],[161,162,163,164,168,169,176],"p",{},"This experiment recreates the iconic ",[165,166,167],"strong",{},"portal scene"," from ",[170,171,175],"a",{"href":172,"rel":173},"https://threejs-journey.com/",[174],"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.",[178,179,181],"h3",{"id":180},"what-youll-see","What You'll See",[161,183,184],{},"A captivating magical scene featuring:",[186,187,188,195,201,207,213,219],"ul",{},[189,190,191,194],"li",{},[165,192,193],{},"Mystical Portal",": Glowing circular portal with swirling energy effects",[189,196,197,200],{},[165,198,199],{},"Floating Fireflies",": Hundreds of animated fireflies with custom particle shaders",[189,202,203,206],{},[165,204,205],{},"Baked Lighting",": Pre-computed lighting for realistic illumination and shadows",[189,208,209,212],{},[165,210,211],{},"Fantasy Environment",": Detailed 3D environment with rocks, grass, and mystical elements",[189,214,215,218],{},[165,216,217],{},"Shader Effects",": Custom GLSL shaders for portal energy and firefly glow",[189,220,221,224],{},[165,222,223],{},"Atmospheric Lighting",": Carefully crafted lighting creating magical ambiance",[178,226,228],{"id":227},"technical-implementation","Technical Implementation",[161,230,231],{},"This experiment showcases advanced 3D rendering techniques:",[186,233,234,240,246,252,258,264],{},[189,235,236,239],{},[165,237,238],{},"Baked Lighting Pipeline",": Pre-calculated lighting stored in textures for performance",[189,241,242,245],{},[165,243,244],{},"Custom Particle Shaders",": GLSL shaders for firefly animation and glow effects",[189,247,248,251],{},[165,249,250],{},"Portal Shader Effects",": Swirling energy patterns using time-based animations",[189,253,254,257],{},[165,255,256],{},"GLTF Scene Loading",": Complex 3D environment loaded efficiently",[189,259,260,263],{},[165,261,262],{},"Texture Management",": Multiple textures for different scene elements",[189,265,266,269],{},[165,267,268],{},"Performance Optimization",": Balanced visual quality with smooth performance",[178,271,273],{"id":272},"visual-design","Visual Design",[186,275,276,282,288,294,300],{},[189,277,278,281],{},[165,279,280],{},"Fantasy Atmosphere",": Magical lighting and effects creating otherworldly mood",[189,283,284,287],{},[165,285,286],{},"Color Harmony",": Warm and cool tones creating visual depth and interest",[189,289,290,293],{},[165,291,292],{},"Particle Animation",": Realistic firefly movement with natural randomness",[189,295,296,299],{},[165,297,298],{},"Environmental Detail",": Rich 3D environment with varied textures and materials",[189,301,302,305],{},[165,303,304],{},"Lighting Drama",": Strategic light placement highlighting key scene elements",[161,307,308],{},"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":310,"searchDepth":311,"depth":311,"links":312},"",2,[313,315,316],{"id":180,"depth":314,"text":181},3,{"id":227,"depth":314,"text":228},{"id":272,"depth":314,"text":273},"2023-03-27","Famous Bruno Simon's ThreeJS Journey Portal.","md","2025-06-26",{},true,{"title":94,"description":318},[325,326,327,328,329],"gltf","shaders","useTexture","useGLTF","baked","/experiments/portal-journey.webp","CsEEFjfr3jK1dm9NovXNc6nPJJPFKC2r4rxAwB4U8Ro",[333,348,363,380,396,414,431,449],{"id":334,"title":335,"avatar":336,"body":337,"description":310,"email":341,"extension":319,"github":156,"meta":342,"name":156,"navigation":322,"path":343,"seo":344,"slug":156,"stem":345,"twitter":156,"website":346,"__hash__":347},"authors/authors/alvarosabu.md","Alvarosabu","/avatars/alvarosabu.jpeg",{"type":158,"value":338,"toc":339},[],{"title":310,"searchDepth":311,"depth":311,"links":340},[],"hola@alvarosaburido.dev",{},"/authors/alvarosabu",{"description":310},"authors/alvarosabu","https://alvarosabu.dev","kfjqjiPxKR64avAeoJeNF40fMr5laisoEnPnfgFGN_U",{"id":349,"title":350,"avatar":351,"body":352,"description":310,"email":356,"extension":319,"github":357,"meta":358,"name":357,"navigation":322,"path":359,"seo":360,"slug":357,"stem":361,"twitter":356,"website":356,"__hash__":362},"authors/authors/andretchen0.md","Andretchen0","/avatars/andretchen0.jpg",{"type":158,"value":353,"toc":354},[],{"title":310,"searchDepth":311,"depth":311,"links":355},[],null,"andretchen0",{},"/authors/andretchen0",{"description":310},"authors/andretchen0","rztGS5YNlU7jYv1laE9f863gZy-WUFK5r3uuycyiMLY",{"id":364,"title":365,"avatar":366,"body":367,"description":310,"email":371,"extension":319,"github":372,"meta":373,"name":374,"navigation":322,"path":375,"seo":376,"slug":372,"stem":377,"twitter":378,"website":356,"__hash__":379},"authors/authors/damienmontastier.md","Damienmontastier","/avatars/damienmontastier.jpg",{"type":158,"value":368,"toc":369},[],{"title":310,"searchDepth":311,"depth":311,"links":370},[],"montastier.damien@gmail.com","damienmontastier",{},"Damien Montastier","/authors/damienmontastier",{"description":310},"authors/damienmontastier","dammontastier","FqtKh6r8pBEM29DE6GhT098-LIpM3BL7RXSxFjrcwwY",{"id":381,"title":382,"avatar":383,"body":384,"description":310,"email":356,"extension":319,"github":388,"meta":389,"name":390,"navigation":322,"path":391,"seo":392,"slug":388,"stem":393,"twitter":394,"website":356,"__hash__":395},"authors/authors/franciscohermida.md","Franciscohermida","/avatars/franciscohermida.jpg",{"type":158,"value":385,"toc":386},[],{"title":310,"searchDepth":311,"depth":311,"links":387},[],"franciscohermida",{},"Francisco Hermida","/authors/franciscohermida",{"description":310},"authors/franciscohermida","chicohermida","2dGmaA2uS0w2CaErMR8BexRzx0pCgoEowV5tZcITkus",{"id":397,"title":398,"avatar":399,"body":400,"description":310,"email":404,"extension":319,"github":405,"meta":406,"name":398,"navigation":322,"path":407,"seo":408,"slug":409,"stem":410,"twitter":411,"website":412,"__hash__":413},"authors/authors/jaime-torrealba.md","Jaime Torrealba","/avatars/jaime-torrealba.jpg",{"type":158,"value":401,"toc":402},[],{"title":310,"searchDepth":311,"depth":311,"links":403},[],"solucionesinformaticasjtc@gmail.com","JaimeTorrealba",{},"/authors/jaime-torrealba",{"description":310},"jaime-bboyjt","authors/jaime-torrealba","jaimebboyjt","https://jaimetorrealba.com/","WhkdXnej1NkT__thyZfYEil3qYn8wi7qVoQSMzyfrs4",{"id":415,"title":416,"avatar":417,"body":418,"description":310,"email":422,"extension":319,"github":423,"meta":424,"name":425,"navigation":322,"path":426,"seo":427,"slug":425,"stem":428,"twitter":422,"website":429,"__hash__":430},"authors/authors/luckystriike.md","Luckystriike","/avatars/luckystriike.jpg",{"type":158,"value":419,"toc":420},[],{"title":310,"searchDepth":311,"depth":311,"links":421},[],"none","luckystriike22",{},"luckystriike","/authors/luckystriike",{"description":310},"authors/luckystriike","https://github.com/luckystriike22","vmVaU8HAY_jbVnlvpUQiwh3uPcKxGGr6B5PF9xo17X8",{"id":432,"title":433,"avatar":434,"body":435,"description":310,"email":439,"extension":319,"github":440,"meta":441,"name":442,"navigation":322,"path":443,"seo":444,"slug":440,"stem":445,"twitter":446,"website":447,"__hash__":448},"authors/authors/neoprint3d.md","Neoprint3d","/avatars/neoprint3d.jpg",{"type":158,"value":436,"toc":437},[],{"title":310,"searchDepth":311,"depth":311,"links":438},[],"drew@neoprint3d.dev","neoprint3d",{},"Drew Ronsman","/authors/neoprint3d",{"description":310},"authors/neoprint3d","drew_ronsman","https://dronsman.com","w-8rauWEJDRmX_QOi4s2PI7n9EABybGURQ-R_ss9tzo",{"id":450,"title":451,"avatar":452,"body":453,"description":310,"email":457,"extension":319,"github":458,"meta":459,"name":451,"navigation":322,"path":460,"seo":461,"slug":458,"stem":462,"twitter":463,"website":464,"__hash__":465},"authors/authors/neosoulink.md","Neosoulink","/avatars/neosoulink.jpg",{"type":158,"value":454,"toc":455},[],{"title":310,"searchDepth":311,"depth":311,"links":456},[],"neodarksoulink@gmail.com","neosoulink",{},"/authors/neosoulink",{"description":310},"authors/neosoulink","nsl_nathan","https://github.com/Neosoulink","69eGfzorl4NNNe56pFRh6qK3AhnfjnKUvCHO-_9Pa1Y",1787004690997]