[{"data":1,"prerenderedAt":496},["ShallowReactive",2],{"navigation":3,"/experiments/brickelangelo-david":150,"authors":362},[4],{"title":5,"path":6,"stem":7,"children":8,"page":149},"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],{"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",false,{"id":151,"title":14,"author":152,"body":153,"date":352,"description":353,"extension":354,"featured":149,"lastUpdated":352,"meta":355,"navigation":356,"path":15,"seo":357,"stem":16,"tags":358,"thumbnail":360,"__hash__":361},"experiments/experiments/brickelangelo-david.md","alvarosabu",{"type":154,"value":155,"toc":343},"minimark",[156,177,182,189,223,227,230,280,284,310,314,340],[157,158,159,160,164,165,168,169,176],"p",{},"This experiment recreates the iconic ",[161,162,163],"strong",{},"David sculpture by Michelangelo"," using ",[161,166,167],{},"75,000 LEGO brick instances",", demonstrating advanced surface sampling techniques and instanced rendering capabilities. Based on challenges from ",[170,171,175],"a",{"href":172,"rel":173},"https://threejs-journey.com/",[174],"nofollow","Bruno Simon's Three.js Journey course",", this artistic tribute combines classical art with modern procedural generation.",[178,179,181],"h3",{"id":180},"what-youll-see","What You'll See",[157,183,184,185,188],{},"The scene features a ",[161,186,187],{},"magnificent LEGO brick reconstruction"," of David's sculpture:",[190,191,192,199,205,211,217],"ul",{},[193,194,195,198],"li",{},[161,196,197],{},"75,000 Individual Bricks",": Each positioned using surface sampling algorithms",[193,200,201,204],{},[161,202,203],{},"Mouse-Controlled Rotation",": Interactive rotation following cursor movement",[193,206,207,210],{},[161,208,209],{},"Dramatic Lighting",": Spotlight that follows mouse cursor for dynamic illumination",[193,212,213,216],{},[161,214,215],{},"Cinematic Camera Movement",": Smooth GSAP-powered camera animation revealing the sculpture",[193,218,219,222],{},[161,220,221],{},"Loading Experience",": Custom progress indicator with elegant typography",[178,224,226],{"id":225},"technical-implementation","Technical Implementation",[157,228,229],{},"This experiment showcases several advanced 3D techniques:",[190,231,232,238,249,255,265,271],{},[193,233,234,237],{},[161,235,236],{},"MeshSurfaceSampler",": Distributes brick instances across the David model's surface using UV weighting",[193,239,240,243,244,248],{},[161,241,242],{},"Instanced Rendering",": Efficiently renders 75,000 bricks using ",[245,246,247],"code",{},"InstancedMesh"," for optimal performance",[193,250,251,254],{},[161,252,253],{},"Grid Alignment",": Bricks snap to a 3D grid system for authentic LEGO brick placement",[193,256,257,260,261,264],{},[161,258,259],{},"Interactive Lighting",": Spotlight dynamically follows mouse position using ",[245,262,263],{},"useMouse"," composable",[193,266,267,270],{},[161,268,269],{},"GSAP Animation",": Smooth camera movements with easing for cinematic reveal",[193,272,273,276,277],{},[161,274,275],{},"Progress Loading",": Real-time loading feedback using ",[245,278,279],{},"useProgress",[178,281,283],{"id":282},"artistic-features","Artistic Features",[190,285,286,292,298,304],{},[193,287,288,291],{},[161,289,290],{},"Custom Typography",": Elegant serif font styling reminiscent of classical art presentations",[193,293,294,297],{},[161,295,296],{},"Hidden Cursor",": Custom cursor design for immersive experience",[193,299,300,303],{},[161,301,302],{},"Black Background",": Dramatic contrast highlighting the sculpture",[193,305,306,309],{},[161,307,308],{},"Surface Alignment",": Bricks follow the natural curves and details of the original sculpture",[178,311,313],{"id":312},"key-technologies","Key Technologies",[190,315,316,322,328,334],{},[193,317,318,321],{},[161,319,320],{},"Surface Sampling",": Mathematically accurate distribution respecting model geometry",[193,323,324,327],{},[161,325,326],{},"Performance Optimization",": Single draw call for thousands of objects",[193,329,330,333],{},[161,331,332],{},"Interactive Experience",": Real-time lighting and rotation based on user input",[193,335,336,339],{},[161,337,338],{},"Classical Aesthetics",": Typography and presentation honoring the original masterpiece",[157,341,342],{},"This experiment serves as both a technical demonstration of advanced TresJS capabilities and an artistic homage to one of history's greatest sculptures, bridging classical art with modern digital techniques.",{"title":344,"searchDepth":345,"depth":345,"links":346},"",2,[347,349,350,351],{"id":180,"depth":348,"text":181},3,{"id":225,"depth":348,"text":226},{"id":282,"depth":348,"text":283},{"id":312,"depth":348,"text":313},"2023-08-21","Bricks ThreeJS Journey challenge","md",{},true,{"title":14,"description":353},[359,236],"cientos","/experiments/brickelangelo-david.webp","k6YirkdmF8AIV-ekfHzfVFX8a9w0vTcfweVeym4O3ow",[363,378,393,410,426,444,461,479],{"id":364,"title":365,"avatar":366,"body":367,"description":344,"email":371,"extension":354,"github":152,"meta":372,"name":152,"navigation":356,"path":373,"seo":374,"slug":152,"stem":375,"twitter":152,"website":376,"__hash__":377},"authors/authors/alvarosabu.md","Alvarosabu","/avatars/alvarosabu.jpeg",{"type":154,"value":368,"toc":369},[],{"title":344,"searchDepth":345,"depth":345,"links":370},[],"hola@alvarosaburido.dev",{},"/authors/alvarosabu",{"description":344},"authors/alvarosabu","https://alvarosabu.dev","kfjqjiPxKR64avAeoJeNF40fMr5laisoEnPnfgFGN_U",{"id":379,"title":380,"avatar":381,"body":382,"description":344,"email":386,"extension":354,"github":387,"meta":388,"name":387,"navigation":356,"path":389,"seo":390,"slug":387,"stem":391,"twitter":386,"website":386,"__hash__":392},"authors/authors/andretchen0.md","Andretchen0","/avatars/andretchen0.jpg",{"type":154,"value":383,"toc":384},[],{"title":344,"searchDepth":345,"depth":345,"links":385},[],null,"andretchen0",{},"/authors/andretchen0",{"description":344},"authors/andretchen0","rztGS5YNlU7jYv1laE9f863gZy-WUFK5r3uuycyiMLY",{"id":394,"title":395,"avatar":396,"body":397,"description":344,"email":401,"extension":354,"github":402,"meta":403,"name":404,"navigation":356,"path":405,"seo":406,"slug":402,"stem":407,"twitter":408,"website":386,"__hash__":409},"authors/authors/damienmontastier.md","Damienmontastier","/avatars/damienmontastier.jpg",{"type":154,"value":398,"toc":399},[],{"title":344,"searchDepth":345,"depth":345,"links":400},[],"montastier.damien@gmail.com","damienmontastier",{},"Damien Montastier","/authors/damienmontastier",{"description":344},"authors/damienmontastier","dammontastier","FqtKh6r8pBEM29DE6GhT098-LIpM3BL7RXSxFjrcwwY",{"id":411,"title":412,"avatar":413,"body":414,"description":344,"email":386,"extension":354,"github":418,"meta":419,"name":420,"navigation":356,"path":421,"seo":422,"slug":418,"stem":423,"twitter":424,"website":386,"__hash__":425},"authors/authors/franciscohermida.md","Franciscohermida","/avatars/franciscohermida.jpg",{"type":154,"value":415,"toc":416},[],{"title":344,"searchDepth":345,"depth":345,"links":417},[],"franciscohermida",{},"Francisco Hermida","/authors/franciscohermida",{"description":344},"authors/franciscohermida","chicohermida","2dGmaA2uS0w2CaErMR8BexRzx0pCgoEowV5tZcITkus",{"id":427,"title":428,"avatar":429,"body":430,"description":344,"email":434,"extension":354,"github":435,"meta":436,"name":428,"navigation":356,"path":437,"seo":438,"slug":439,"stem":440,"twitter":441,"website":442,"__hash__":443},"authors/authors/jaime-torrealba.md","Jaime Torrealba","/avatars/jaime-torrealba.jpg",{"type":154,"value":431,"toc":432},[],{"title":344,"searchDepth":345,"depth":345,"links":433},[],"solucionesinformaticasjtc@gmail.com","JaimeTorrealba",{},"/authors/jaime-torrealba",{"description":344},"jaime-bboyjt","authors/jaime-torrealba","jaimebboyjt","https://jaimetorrealba.com/","WhkdXnej1NkT__thyZfYEil3qYn8wi7qVoQSMzyfrs4",{"id":445,"title":446,"avatar":447,"body":448,"description":344,"email":452,"extension":354,"github":453,"meta":454,"name":455,"navigation":356,"path":456,"seo":457,"slug":455,"stem":458,"twitter":452,"website":459,"__hash__":460},"authors/authors/luckystriike.md","Luckystriike","/avatars/luckystriike.jpg",{"type":154,"value":449,"toc":450},[],{"title":344,"searchDepth":345,"depth":345,"links":451},[],"none","luckystriike22",{},"luckystriike","/authors/luckystriike",{"description":344},"authors/luckystriike","https://github.com/luckystriike22","vmVaU8HAY_jbVnlvpUQiwh3uPcKxGGr6B5PF9xo17X8",{"id":462,"title":463,"avatar":464,"body":465,"description":344,"email":469,"extension":354,"github":470,"meta":471,"name":472,"navigation":356,"path":473,"seo":474,"slug":470,"stem":475,"twitter":476,"website":477,"__hash__":478},"authors/authors/neoprint3d.md","Neoprint3d","/avatars/neoprint3d.jpg",{"type":154,"value":466,"toc":467},[],{"title":344,"searchDepth":345,"depth":345,"links":468},[],"drew@neoprint3d.dev","neoprint3d",{},"Drew Ronsman","/authors/neoprint3d",{"description":344},"authors/neoprint3d","drew_ronsman","https://dronsman.com","w-8rauWEJDRmX_QOi4s2PI7n9EABybGURQ-R_ss9tzo",{"id":480,"title":481,"avatar":482,"body":483,"description":344,"email":487,"extension":354,"github":488,"meta":489,"name":481,"navigation":356,"path":490,"seo":491,"slug":488,"stem":492,"twitter":493,"website":494,"__hash__":495},"authors/authors/neosoulink.md","Neosoulink","/avatars/neosoulink.jpg",{"type":154,"value":484,"toc":485},[],{"title":344,"searchDepth":345,"depth":345,"links":486},[],"neodarksoulink@gmail.com","neosoulink",{},"/authors/neosoulink",{"description":344},"authors/neosoulink","nsl_nathan","https://github.com/Neosoulink","69eGfzorl4NNNe56pFRh6qK3AhnfjnKUvCHO-_9Pa1Y",1785417195192]