text: (window.webpackJsonp=window.webpackJsonp||[]).push([[4],{123:function(e,t,n){"use strict";var o=n(1),r=n(188),c=n.n(r);o.a.use(c.a,{space:0})},163:function(e,t,n){var content=n(237);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,n(28).default)("13e6c80a",content,!0,{sourceMap:!1})},165:function(e,t,n){var content=n(247);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,n(28).default)("3c793469",content,!0,{sourceMap:!1})},166:function(e,t,n){var content=n(249);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,n(28).default)("2475ca5e",content,!0,{sourceMap:!1})},167:function(e,t,n){var content=n(251);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,n(28).default)("62d68a08",content,!0,{sourceMap:!1})},168:function(e,t,n){var content=n(253);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,n(28).default)("bb69d43c",content,!0,{sourceMap:!1})},169:function(e,t,n){var content=n(255);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,n(28).default)("6f5e6693",content,!0,{sourceMap:!1})},190:function(e,t,n){"use strict";var o=n(8),r=(n(40),n(15),n(24),n(25),n(16)),c=n(178),l={name:"navigate",components:{"nav-menu":function(){return n.e(1).then(n.bind(null,743))}},data:function(){return{sketchManager:null,animations:{pageValue:0}}},computed:{pageToValue:function(){var e=0;if("/navigate/page-2"===this.$route.path)e=1;return e}},watch:{"$route.path":{handler:"onRouteChange",immediate:!0}},mounted:function(){var e=this;return Object(o.a)(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,e.$sketch({animate:!0,context:"webgl",attributes:{antialias:!0},canvas:e.$refs.canvas},e.sketch);case 3:e.sketchManager=t.sent,e.$once("hook:beforeDestroy",(function(){return e.sketchManager.unload()})),t.next=10;break;case 7:t.prev=7,t.t0=t.catch(0),console.error(t.t0);case 10:case"end":return t.stop()}}),t,null,[[0,7]])})))()},methods:{createSphere:function(){var u=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,t=arguments.length>2?arguments[2]:void 0;u*=-Math.PI,e*=2*Math.PI;var n=Math.sin(u)*Math.cos(e),o=Math.sin(u)*Math.sin(e),r=Math.cos(u);t.set(n,o,r)},createGrayKlein:function(){var u=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,t=arguments.length>2?arguments[2]:void 0;u*=-4*Math.PI,e*=2*Math.PI;var a=3,n=3,o=1,r=(a+Math.cos(n*u/2)*Math.sin(e)-Math.sin(n*u/2)*Math.sin(2*e))*Math.cos(o*u/2),c=(a+Math.cos(n*u/2)*Math.sin(e)-Math.sin(n*u/2)*Math.sin(2*e))*Math.sin(o*u/2),l=Math.sin(n*u/2)*Math.sin(e)+Math.cos(n*u/2)*Math.sin(2*e);t.set(r,c,l)},onRouteChange:function(){c.a.to(this.animations,{duration:2,ease:"sine.inOut",pageValue:this.pageToValue})},sketch:function(e){var t=this;return Object(o.a)(regeneratorRuntime.mark((function o(){var c,canvas,l,d,f,h,v,m,x,w,y,M,_,k,z,C,P;return regeneratorRuntime.wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return c=e.context,canvas=e.canvas,l=e.width,d=e.height,f=e.pixelRatio,o.next=3,n.e(0).then(n.bind(null,741));case 3:return h=o.sent,v=h.OrbitControls,m=l/d,x=f,w=new r.H({context:c}),y=new r.r(70,m,.001,1e3),M=new v(y,canvas),_=new r.q(t.createGrayKlein,100,100),k=new r.q(t.createSphere,100,100),z=new r.y({vertexShader:"#pragma vscode_glsllint_stage : vert\n\nprecision mediump float;\n#define GLSLIFY 1\n\nuniform float page;\n\nvarying vec3 vNormal;\n\nattribute vec3 positionSphere;\n\nvoid main() {\n\n    vNormal = normal;\n\n    vec3 final = mix(\n        position,\n        positionSphere,\n        page\n    );\n\n    vec4 mvPosition = modelViewMatrix * vec4( final, 1.0 );\n\n    gl_Position = projectionMatrix * mvPosition;\n\n}\n",fragmentShader:"#pragma vscode_glsllint_stage : frag\n\nprecision mediump float;\n#define GLSLIFY 1\n\nuniform float page;\n\nvarying vec3 vNormal;\n\nvec3 palette( in float t, in vec3 a, in vec3 b, in vec3 c, in vec3 d ) {\n\n    return a + b * cos( 6.28318 * ( c * t + d ) );\n\n}\n\nvoid main () {\n\n    float diff = dot(\n        normalize(\n            vec3(\n                1.,\n                1.,\n                0.5\n            )\n        ),\n        mix(\n            vNormal,\n            vec3(\n                0.6,\n                0.,\n                0.1\n            ),\n            page\n        )\n    );\n\n    // Colors\n    // https://iquilezles.org/www/articles/palettes/palettes.htm\n    vec3 a = vec3( 0.1, 0., 0.1 );\n    vec3 b = vec3( 0.6, 0.5, 0.5 );\n    vec3 c = vec3( 0.5, 0.5, 0.5 );\n    vec3 d = vec3( 0.6, 0.5, 0.5 );\n\n    vec3 color = palette( diff, a, b, c, d );\n\n    gl_FragColor = vec4(\n        color,\n        1.\n    );\n\n}\n",extensions:{derivatives:"#extension GL_OES_standard_derivatives : enable"},side:r.i,uniforms:{time:{type:"f",value:0},page:{type:"f",value:t.animations.pageValue},resolution:{type:"v2",value:new r.D(l,d)},uvRate1:{value:new r.D(1,1)}}}),C=new r.o(_,z),P=new r.x,w.setPixelRatio(x),w.setSize(l,d),w.setClearColor(new r.f("#111"),1),_.setAttribute("positionSphere",new r.d(k.attributes.position.array,3)),y.position.set(0,0,9),_.center(),P.add(C),o.abrupt("return",{resize:function(e){var t=e.pixelRatio,n=e.viewportWidth,o=e.viewportHeight;w.setPixelRatio(t),w.setSize(n,o),z.uniforms.resolution.value.x=n,z.uniforms.resolution.value.y=o,y.aspect=n/o,y.updateProjectionMatrix()},render:function(e){var time=e.time;z.uniforms.time.value=time,z.uniforms.page.value=t.animations.pageValue,C.rotateX(.001),C.rotateY(.001),M.update(),w.render(P,y)},unload:function(){M.dispose(),w.dispose()}});case 23:case"end":return o.stop()}}),o)})))()}}},d=l,f=(n(248),n(250),n(23)),component=Object(f.a)(d,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"layout"},[n("canvas",{ref:"canvas",staticClass:"absolute z-index--minus-1"}),n("nav-menu",{key:e.$route.fullPath}),e._m(0),n("nuxt")],1)}),[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"main-title"},[n("h1",[e._v("Navigate through pages")]),n("h2",[n("em",[e._v("enhance your creative 3D / UX / Visual art while browsing")])])])}],!1,null,"c35ded26",null);t.a=component.exports},191:function(e,t,n){"use strict";n(15),n(24),n(25);var o={name:"default",components:{"nav-menu":function(){return n.e(1).then(n.bind(null,743))}}},r=(n(246),n(23)),component=Object(r.a)(o,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"layout"},[n("nav-menu",{key:"menu-"+e.$route.fullPath}),n("nuxt",{key:e.$route.fullPath})],1)}),[],!1,null,"762d7a2a",null);t.a=component.exports},192:function(e,t,n){"use strict";n(15),n(24),n(25);var o={name:"readme",components:{"nav-menu":function(){return n.e(1).then(n.bind(null,743))}}},r=(n(252),n(254),n(23)),component=Object(r.a)(o,(function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"layout layout-readme"},[t("nav-menu"),t("nuxt")],1)}),[],!1,null,"3b20ccbf",null);t.a=component.exports},198:function(e,t,n){e.exports=n(199)},236:function(e,t,n){"use strict";n(163)},237:function(e,t,n){var o=n(27)(!1);o.push([e.i,".layout-error[data-v-214a2248]{display:flex;flex:1 1 100%;flex-direction:column;align-items:center;justify-content:center;min-height:100vh}",""]),e.exports=o},242:function(e,t,n){var content=n(243);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,n(28).default)("19dcf68c",content,!0,{sourceMap:!1})},243:function(e,t,n){var o=n(27)(!1);o.push([e.i,":root{font-size:16px}*{min-width:0}body,html{margin:0;padding:0;overflow-x:hidden}body{position:relative;color:#333;line-height:1.5}.container{display:flex;flex:1 1 100%;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:100%;margin-right:auto;margin-left:auto}img{width:auto;max-width:100%;height:auto}main{min-height:100vh}h1{font-size:2em}video{display:block;margin:0;padding:0}label{display:block}button,label{width:100%;cursor:pointer}button{max-width:354px;margin:16px auto;padding:8px;color:#f05;font-weight:700;line-height:1.36;text-align:center;background-color:#f3f0f1;border:0;border-radius:6px;opacity:.9;transition:all .27s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}button:active,button:focus,button:hover{opacity:1}.opacity-90{opacity:.9!important}.w-full{width:100%}.w-screen{width:100vw}.h-screen{height:100vh}.absolute{position:absolute}.font-bold{font-weight:700}.z-index--minus-1{z-index:-1}.z-index--1{z-index:1}.z-index--2{z-index:2}a{color:#00bfff}.text--center{text-align:center}.text--red{color:#ff1e00}.no-pointer-event{pointer-events:none}.cursor--pointer{cursor:pointer}.pin{top:0;right:0;bottom:0;left:0}.pin-r{right:16px}.pin-b{bottom:100px}@media and screen (min-width:600px){.pin-b{bottom:16px}}",""]),e.exports=o},244:function(e,t,n){var content=n(245);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,n(28).default)("2bdd7b28",content,!0,{sourceMap:!1})},245:function(e,t,n){var o=n(27)(!1);o.push([e.i,".canvas-container{overflow:hidden}canvas{top:0;right:0;bottom:0;left:0;z-index:0;display:block;width:100%;height:100%;margin:0 auto;transform:translateZ(0);opacity:1;transition:opacity .3s ease-out;will-change:opacity}",""]),e.exports=o},246:function(e,t,n){"use strict";n(165)},247:function(e,t,n){var o=n(27)(!1);o.push([e.i,'.layout[data-v-762d7a2a]:before{position:fixed;top:0;left:0;z-index:-1;display:block;width:100%;height:100%;background-color:#333;content:""}.layout[data-v-762d7a2a]{position:relative;min-height:100vh;color:#fff}',""]),e.exports=o},248:function(e,t,n){"use strict";n(166)},249:function(e,t,n){var o=n(27)(!1);o.push([e.i,'.layout[data-v-c35ded26]:before{position:fixed;top:0;left:0;z-index:-1;display:block;width:100%;height:100%;background-color:#333;content:""}.layout[data-v-c35ded26]{position:relative;min-height:100vh;color:#fff}',""]),e.exports=o},250:function(e,t,n){"use strict";n(167)},251:function(e,t,n){var o=n(27)(!1);o.push([e.i,".layout .main-title[data-v-c35ded26]{position:absolute;bottom:2.5%;width:100%;text-align:center}",""]),e.exports=o},252:function(e,t,n){"use strict";n(168)},253:function(e,t,n){var o=n(27)(!1);o.push([e.i,'.layout[data-v-3b20ccbf]:before{position:fixed;top:0;left:0;z-index:-1;display:block;width:100%;height:100%;background-color:#333;content:""}.layout[data-v-3b20ccbf]{position:relative;min-height:100vh;color:#fff}',""]),e.exports=o},254:function(e,t,n){"use strict";n(169)},255:function(e,t,n){var o=n(27)(!1);o.push([e.i,".layout-readme[data-v-3b20ccbf]  .nav-menu{position:sticky}@media screen and (min-width:600px){.layout-readme[data-v-3b20ccbf]  .nav-menu{top:0;left:0;max-width:100%}}",""]),e.exports=o},39:function(e,t,n){"use strict";var o={name:"error",props:{error:{type:Object,required:!0}},head:function(){if(this.is404)return{title:"404 Pagina non trovata - NuxtJs || ThreeJs",meta:[{hid:"referrer",name:"referrer",content:"unsafe-url"}]}},computed:{is404:function(){return this.error&&404===this.error.statusCode}}},r=(n(236),n(23)),component=Object(r.a)(o,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"layout-error container text-center"},[n("h1",{attrs:{align:"center"}},[e._v(" C'è stato un errore imprevisto: "),n("strong",{domProps:{textContent:e._s(e.error.statusCode)}}),e._v(". ")]),e.error.message?n("p",{domProps:{textContent:e._s(e.error.message)}}):e._e(),n("nuxt-link",{attrs:{to:"/",title:"go back to the homepage"}},[n("strong",[e._v("< go back to the homepage")])])],1)}),[],!1,null,"214a2248",null);t.a=component.exports}},[[198,23,5,24]]]);