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