CINXE.COM
Plexus Shaders by Marco Gomez - Experiments with Google
<!DOCTYPE html><html><head><title>Plexus Shaders by Marco Gomez - Experiments with Google</title><meta name="description" content="Since 2009, coders have created thousands of amazing experiments using Chrome, Android, AI, WebVR, AR and more. We're showcasing projects here, along with helpful tools and resources, to inspire others to create new experiments."><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1"><link rel="icon" type="image/png" href="/static/img/favicon.png"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="mobile-web-app-capable" content="yes"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Plexus Shaders by Marco Gomez - Experiments with Google"><meta name="twitter:site" content="@google"><meta name="twitter:description" content="Since 2009, coders have created thousands of amazing experiments using Chrome, Android, AI, WebVR, AR and more. We're showcasing projects here, along with helpful tools and resources, to inspire others to create new experiments."><meta name="twitter:image" content="https://lh3.googleusercontent.com/mfO79Ojt0cpuh588UE1ZPxsoaBzk-N-zAcLfdb0dqjiKdb1zVTXRQO-5-Jys9D427jHT5dqiwBCLly5NyrrBpiTRTK1__XE"><meta property="og:title" content="Plexus Shaders by Marco Gomez - Experiments with Google"><meta property="og:type" content="website"><meta property="og:url" content="https://experiments.withgoogle.com/plexus-shaders"><meta property="og:image" content="https://lh3.googleusercontent.com/mfO79Ojt0cpuh588UE1ZPxsoaBzk-N-zAcLfdb0dqjiKdb1zVTXRQO-5-Jys9D427jHT5dqiwBCLly5NyrrBpiTRTK1__XE"><meta property="og:image:type" content="image/jpeg"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="630"><meta property="og:description" content="Since 2009, coders have created thousands of amazing experiments using Chrome, Android, AI, WebVR, AR and more. We're showcasing projects here, along with helpful tools and resources, to inspire others to create new experiments."><meta itemscope itemtype="http://schema.org/Article"><meta itemprop="title" content="Plexus Shaders by Marco Gomez - Experiments with Google"><meta itemprop="name" content="Experiments with Google"><meta itemprop="description" content="Since 2009, coders have created thousands of amazing experiments using Chrome, Android, AI, WebVR, AR and more. We're showcasing projects here, along with helpful tools and resources, to inspire others to create new experiments."><meta itemprop="image" content="https://lh3.googleusercontent.com/mfO79Ojt0cpuh588UE1ZPxsoaBzk-N-zAcLfdb0dqjiKdb1zVTXRQO-5-Jys9D427jHT5dqiwBCLly5NyrrBpiTRTK1__XE"><link href="https://www.gstatic.com/glue/cookienotificationbar/cookienotificationbar.min.css" rel="stylesheet"><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Source+Sans+Pro:200,300,400,600,700|Source+Code+Pro:300,400,500,600,700" nonce="PlpAQ-ovWICjN9n1Q3TIsxkIFOX2NsKD"><link rel="stylesheet" href="//fonts.googleapis.com/css2?family=Google+Sans:wght@400;500;700&Google+Sans+Mono" nonce="PlpAQ-ovWICjN9n1Q3TIsxkIFOX2NsKD"><link rel="stylesheet" href="/static/css/vendors.css" nonce="PlpAQ-ovWICjN9n1Q3TIsxkIFOX2NsKD"><link rel="stylesheet" href="/static/css/style.css" nonce="PlpAQ-ovWICjN9n1Q3TIsxkIFOX2NsKD"><script nonce="PlpAQ-ovWICjN9n1Q3TIsxkIFOX2NsKD">!function(e,t,n,a,r){e[a]=e[a]||[],e[a].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var o=t.getElementsByTagName(n)[0],c=t.createElement(n),g="dataLayer"!=a?"&l="+a:"";c.async=!0,c.src="https://www.googletagmanager.com/gtm.js?id="+r+g;var s=t.querySelector("[nonce]");s&&c.setAttribute("nonce",s.nonce||s.getAttribute("nonce")),o.parentNode.insertBefore(c,o)}(window,document,"script","dataLayer","GTM-WSXK4F2");</script></head><body class="experiment hide-butterbar" data-coll-name=""><header> <div class="wrapper"><div id="logo-holder"><a href="/"><nav id="logo" role="navigation" aria-label="Homepage">Experiments with Google</nav></a></div><div id="menuoverlay"><nav id="mainmenu" role="navigation" aria-label="main navigation"><ul id="collection-menu" style="padding:0"><li style="padding:0" class="menuitem coll-options"><a href="/collections" nonce="PlpAQ-ovWICjN9n1Q3TIsxkIFOX2NsKD">Collections</a><div class="triangle-down">▾</div></li><ul id="home-menu"> <li class="home-menuitem" data-coll-name="tfliteformicrocontrollers"><a href="/collection/tfliteformicrocontrollers" title="TensorFlow Lite for Microcontrollers" nonce="PlpAQ-ovWICjN9n1Q3TIsxkIFOX2NsKD">TensorFlow Lite for Microcontrollers</a></li> <li class="home-menuitem" data-coll-name="startwithone"><a href="/collection/startwithone" title="Start With One" nonce="PlpAQ-ovWICjN9n1Q3TIsxkIFOX2NsKD">Start With One</a></li> <li class="home-menuitem" data-coll-name="creatability"><a href="/collection/creatability" title="Creatability" nonce="PlpAQ-ovWICjN9n1Q3TIsxkIFOX2NsKD">Creatability</a></li> <li class="home-menuitem" data-coll-name="digitalwellbeing"><a href="/collection/digitalwellbeing" title="Digital Wellbeing Experiments" nonce="PlpAQ-ovWICjN9n1Q3TIsxkIFOX2NsKD">Digital Wellbeing Experiments</a></li> <li class="home-menuitem" data-coll-name="webxr"><a href="/collection/webxr" title="WebXR Experiments" nonce="PlpAQ-ovWICjN9n1Q3TIsxkIFOX2NsKD">WebXR Experiments</a></li> <li class="home-menuitem" data-coll-name="arts-culture"><a href="/collection/arts-culture" title="Arts & Culture Experiments" nonce="PlpAQ-ovWICjN9n1Q3TIsxkIFOX2NsKD">Arts & Culture Experiments</a></li> <li class="home-menuitem" data-coll-name="ar"><a href="/collection/ar" title="AR Experiments" nonce="PlpAQ-ovWICjN9n1Q3TIsxkIFOX2NsKD">AR Experiments</a></li> <li class="home-menuitem" data-coll-name="ai"><a href="/collection/ai" title="AI Experiments" nonce="PlpAQ-ovWICjN9n1Q3TIsxkIFOX2NsKD">AI Experiments</a></li> <li class="home-menuitem" data-coll-name="android"><a href="/collection/android" title="Android Experiments" nonce="PlpAQ-ovWICjN9n1Q3TIsxkIFOX2NsKD">Android Experiments</a></li> <li class="home-menuitem" data-coll-name="chrome"><a href="/collection/chrome" title="Chrome Experiments" nonce="PlpAQ-ovWICjN9n1Q3TIsxkIFOX2NsKD">Chrome Experiments</a></li> <li class="home-menuitem" data-coll-name="All Collections"><a href="/collections" title="View all <built-in method count of list object at 0x3ec63f49c440> collections" nonce="PlpAQ-ovWICjN9n1Q3TIsxkIFOX2NsKD">VIEW ALL 17 COLLECTIONS</a></li></ul></ul><a class="menuitem" href="/experiments" nonce="PlpAQ-ovWICjN9n1Q3TIsxkIFOX2NsKD">Experiments</a><div id="searchwrap"><div class="menuitem" id="search"></div><input type="text" name="search" id="searchbox" value="" aria-label="Search experiments" spellcheck="false" autocomplete="off" autocorrect="off" autocapitalize="off" placeholder="Search" onfocus="this.placeholder=""" onblur="this.placeholder="Search""></div><a class="menuitem submit-btn border" href="https://labs.google/submit-experiment" target="_blank" nonce="PlpAQ-ovWICjN9n1Q3TIsxkIFOX2NsKD">Submit Experiment</a></nav><div class="google-logo"></div></div></div></header><div id="main" class=""><div class="wrapper"><div id="exp-intro"><div class="cont-left displaytext"><h1 class="title">Plexus Shaders</h1><p class="gray">June 2018 | By <a href="http://mgz.me" target="_blank">Marco Gomez</a> </p><p style="margin-top:10px;width:90%">A WebGL Music Visualizer </p> <div class="action-button-holder" style="margin-top:25px"> <a class="button hollow caps" href="http://mgz.me/plexus-shaders/" target="_blank" onclick="ga("send","event","Experiment Launch Button","Click","Plexus Shaders")" aria-label="Launch Plexus Shaders Experiment" nonce="PlpAQ-ovWICjN9n1Q3TIsxkIFOX2NsKD"> Launch experiment </a> <a class="button hollow caps" href="https://github.com/mgzme/plexus-shaders" target="_blank" onclick="ga('send', 'event', 'Experiment Get Code Button', 'Click', 'Plexus Shaders)" aria-label="View Plexus Shaders Experiment Source Code" nonce="PlpAQ-ovWICjN9n1Q3TIsxkIFOX2NsKD"> Get the code </a> </div></div><div class="cont-right"><h3 class="caps small">Collection:</h3><div id="collections-holder" style="display:block"> <a class="collection" href="/collection/chrome">Chrome Experiments</a> </div></div></div><div class="video-holder" data-videoid="xJ7lqIF38zM" data-exp-name="Plexus Shaders"><div class="video-embed" id="video-xJ7lqIF38zM" data-loop=""></div><img src="/static/img/video-play-btn.png" class="video-play-btn" alt="Video Play Button"></div><div id="featured-holder"><div class="featured-img-holder"><img class="featured-img" src="https://lh3.googleusercontent.com/61KarpINKLwvzj4rqSVHlz4WnBKuNO6iQfsMh806EJeigkGF8tphunLsxnH2uRtzkXRR-vDLq5MoFaqtCyuwlv6lndYj5Q" alt="" data-img-alt=""></div> <div class="featured-img-holder"><img class="featured-img" src="https://lh3.googleusercontent.com/o_MrS0N1EVpO0UIuSink1wwKZMpYdgX0HWjaXuUfJ9Nh3ffN8cQFne-QCTB-Sg301O4JWIibpHRU8uOy7VR26ZFDaNGL" alt="" data-img-alt=""></div> </div><div class="content-wrap single"><div class="content-twothird"><div class="content-block displaytext"><div>This is a WebGL tech demo created using ThreeJS + Vertex Shaders and Fragment Shaders. It consists in a music visualizer with some post-processing shaders and a particle system to stress test ThreeJS technology on modern video-cards.聽</div><div><br></div><div>This experiment is best visualized using Google Chrome.<br></div></div> </div><div class="content-onethird"></div></div></div></div><footer><div class="wrapper"><div class="google-logo"></div><div id="social-holder"><a href="https://www.google.com/policies/" target="_blank" class="social-icon">Privacy & Terms</a><div id="social-icons"><a class="social-icon" href="https://www.facebook.com/ExpWithGoogle/" target="_blank" aria-label="Link to our Facebook page"><img src="/static/img/social-fb.png" alt="facebook icon"></a></div></div></div></footer><div id="page-loader"><div id="txt-submitting">Submitting...</div><div id="txt-saving">Saving...</div></div><div id="sitemenu-icon"><span class="line1"></span> <span class="line2"></span> <span class="line3"></span></div><div id="overlay"><div id="overlay-closebtn"></div><div id="overlay-content-wrap"><div class="wrapper"><div id="overlay-content"></div></div></div></div><script src="//ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js" nonce="PlpAQ-ovWICjN9n1Q3TIsxkIFOX2NsKD"></script><script src="/static/js/vendors.js" nonce="PlpAQ-ovWICjN9n1Q3TIsxkIFOX2NsKD"></script><script src="/static/js/script.min.js" nonce="PlpAQ-ovWICjN9n1Q3TIsxkIFOX2NsKD"></script><script src="https://www.gstatic.com/glue/cookienotificationbar/cookienotificationbar.min.js" data-glue-cookie-notification-bar-category="2B"></script></body></html>