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