diff --git a/README.md b/README.md index af87cb5..b3a84ca 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ https://art.mekanoe.com - [./001-platform-provenance](https://art.mekanoe.com/001-platform-provenance) - [./002-webgl-engine](https://art.mekanoe.com/002-webgl-engine) +- [./003-scene](https://art.mekanoe.com/003-scene) ## Development diff --git a/html/003-scene/index.html b/html/003-scene/index.html new file mode 100644 index 0000000..571f847 --- /dev/null +++ b/html/003-scene/index.html @@ -0,0 +1,25 @@ + + +com.mekanoe.art // 003-scene + + +
+ +
XX.X FPS (XX.X ms)
+
+ diff --git a/html/003-scene/main.js b/html/003-scene/main.js new file mode 100644 index 0000000..5d6874f --- /dev/null +++ b/html/003-scene/main.js @@ -0,0 +1 @@ +import{a as y,b as z,c as B,d as C,e as D,f as k} from"../chunk-7f8a022861c7b8c3.js";import"../chunk-e60581a63af9c45c.js";var x="precision highp float;void main(){gl_FragColor=vec4(1.0,0.0,1.0,1.0);}";var j="attribute vec4 aVertexPosition;uniform mat4 uModelViewMatrix;uniform mat4 uProjectionMatrix;void main(){gl_Position=uProjectionMatrix*uModelViewMatrix*aVertexPosition;}";var q=(E)=>new k().vertex(j).fragment(x).app(E);var i=new B({fov:45});new C(i,new y,new z(i,D,q(i)));i.start(); diff --git a/html/chunk-7f8a022861c7b8c3.js b/html/chunk-7f8a022861c7b8c3.js new file mode 100644 index 0000000..34c7caa --- /dev/null +++ b/html/chunk-7f8a022861c7b8c3.js @@ -0,0 +1,2 @@ +import{g as R,h as H,i as F,j as Y,k as E} from"./chunk-e60581a63af9c45c.js";class _{k;z;A;constructor(k=Y.create(),z=E.create(),A=Y.fromValues(1,1,1)){this.position=k;this.rotation=z;this.scale=A}toMat4(){return F.fromRotationTranslationScale(F.create(),this.rotation,this.position,this.scale)}}class I extends R{k;z;A;C;G;modelMatrix=F.create();projectionMatrix=F.create();_meshBuffer;constructor(k,z,A,C=new _([0,0,-6]),G={}){super(k);this.app=k;this.mesh=z;this.shader=A;this.camera=C;this.config=G}get meshBuffer(){if(this._meshBuffer)return this._meshBuffer;throw new Error("mesh buffer not ready")}initializeMeshBuffer(){const k=this.app.gl,z=k.createBuffer();if(!z)throw new Error("failed to create mesh buffer");k.bindBuffer(k.ARRAY_BUFFER,z),k.bufferData(k.ARRAY_BUFFER,this.mesh.config.mesh,k.STATIC_DRAW),this._meshBuffer=z}initializeAttributes(){const k=this.app.gl;k.bindBuffer(k.ARRAY_BUFFER,this.meshBuffer);const z=this.shader.attrib("aVertexPosition");if(z!==-1)k.vertexAttribPointer(z,this.mesh.config.positionSize,k.FLOAT,!1,4*this.mesh.config.stride,0),k.enableVertexAttribArray(z),this.shader.bindAttrib(z,"aVertexPosition");if(this.mesh.config.colorSize!==0){const C=this.shader.attrib("aVertexColor");if(C!==-1)k.vertexAttribPointer(C,this.mesh.config.colorSize,k.FLOAT,!1,4*this.mesh.config.stride,4*this.mesh.config.positionSize),k.enableVertexAttribArray(C),this.shader.bindAttrib(C,"aVertexColor")}const A=this.shader.attrib("aTextureCoord");if(A!==-1)k.vertexAttribPointer(A,this.mesh.config.uvSize,k.FLOAT,!1,4*this.mesh.config.stride,4*(this.mesh.config.positionSize+this.mesh.config.colorSize)),k.enableVertexAttribArray(A),this.shader.bindAttrib(A,"aTextureCoord")}onStart(){F.perspective(this.projectionMatrix,this.app.config.fov||45,this.app.canvas.width/this.app.canvas.height,this.app.config.zNear||0.1,this.app.config.zFar||100),this.shader.compile(),this.initializeMeshBuffer(),this.initializeAttributes(),this.shader.link()}onRenderableUpdate(k,z){const A=this.app.gl;this.shader.use(),A.bindBuffer(A.ARRAY_BUFFER,this.meshBuffer),this.shader.setupUniforms(k,this.projectionMatrix,z,this.camera),A.drawArrays(this.config.drawMode??A.TRIANGLE_STRIP,0,this.mesh.config.vertexCount);const C=A.getError();if(C!==0)throw console.log({err:C}),new Error(`(MeshRenderer) webgl failure: ${C}`)}}class J{k;canvas;telemetry;gl;registry={onBeforeUpdate:[],onAfterUpdate:[],onUpdate:[],onStart:[]};constructor(k={}){this.config=k;try{this.canvas=document.querySelector("canvas"),this.canvas.width=window.innerWidth,this.canvas.height=window.innerHeight;const z=this.canvas.getContext("webgl2");if(!z)throw new Error("Canvas was unable to get a webgl2 context");if(this.gl=z,location.search.includes("telemetry"))this.telemetry=new H(this)}catch(z){const A=document.querySelector("main");if(A)A.innerHTML="
your browser didn't let me set up webgl.
";throw new Error(`Unable to initialize WebGL. Your browser or machine may not support it.\n -> ${z}`)}}clear(){const k=this.gl;k.clearColor(0,0,0,1),k.clearDepth(1),k.enable(k.DEPTH_TEST),k.depthFunc(k.LEQUAL),k.clear(k.COLOR_BUFFER_BIT|k.DEPTH_BUFFER_BIT)}onBeforeUpdate(k){this.registry.onBeforeUpdate.push(k)}onAfterUpdate(k){this.registry.onAfterUpdate.push(k)}onUpdate(k){this.registry.onUpdate.push(k)}onStart(k){this.registry.onStart.push(k)}doUpdate(k){this.registry.onBeforeUpdate.forEach((z)=>z(k,this)),this.registry.onUpdate.forEach((z)=>z(k,this)),this.registry.onAfterUpdate.forEach((z)=>z(k,this))}doStart(k=0){this.clear(),this.registry.onStart.forEach((z)=>z(k,this))}async oneShot(k=0){this.doStart(k),this.doUpdate(k)}async start(){this.doStart();const k=(z)=>{this.doUpdate(z),requestAnimationFrame(k)};requestAnimationFrame(k)}}class K extends R{k;z;A;constructor(k,z,A){super(k);this.app=k;this.transform=z;this.renderer=A}onUpdate(k){this.renderer.onRenderableUpdate(k,this.transform)}}class q{k;constructor(k){this.config=k}get name(){return this.config.name}}var N=new Float32Array([1.2393061,0.16315772,0,1,0,0,0,255,0.5208333,0.5,1.2165064,0,0.125,1,0,0,0,255,0.5,0.5833333,1.25,0,0,1,0,0,0,255,0.5,0.5,1.1153755,0.14684194,0.21650635,1,0,0,0,255,0.5208333,0.6666667,1.125,0,0.21650635,1,0,0,0,255,0.5,0.6666667,1,0,0.25,1,0,0,0,255,0.5,0.75,0.9914449,0.13052617,0.25,1,0,0,0,255,0.5208333,0.75,0.875,0,0.21650635,1,0,0,0,255,0.5,0.8333333,0.86751425,0.1142104,0.21650635,1,0,0,0,255,0.5208333,0.8333333,0.78349364,0,0.125,1,0,0,0,255,0.5,0.9166667,0.7435837,0.097894624,0.00000000000000003061617,1,0,0,0,255,0.5208333,1,0.75,0,0.00000000000000003061617,1,0,0,0,255,0.5,1,0.7435837,0.097894624,0.00000000000000003061617,1,0,0,0,255,0.5208333,0.0000000000000002220446,0.78349364,0,-0.125,1,0,0,0,255,0.5,0.083333336,0.75,0,0.00000000000000003061617,1,0,0,0,255,0.5,0.0000000000000002220446,0.77679074,0.10226642,-0.125,1,0,0,0,255,0.5208333,0.083333336,0.875,0,-0.21650635,1,0,0,0,255,0.5,0.16666667,0.86751425,0.1142104,-0.21650635,1,0,0,0,255,0.5208333,0.16666667,1,0,-0.25,1,0,0,0,255,0.5,0.25,0.9914449,0.13052617,-0.25,1,0,0,0,255,0.5208333,0.25,1.125,0,-0.21650635,1,0,0,0,255,0.5,0.33333334,1.1153755,0.14684194,-0.21650635,1,0,0,0,255,0.5208333,0.33333334,1.2165064,0,-0.125,1,0,0,0,255,0.5,0.41666666,1.206099,0.15878591,-0.125,1,0,0,0,255,0.5208333,0.41666666,1.2074072,0.32352373,0,1,0,0,0,255,0.5416667,0.5,1.206099,0.15878591,0.125,1,0,0,0,255,0.5208333,0.5833333,1.1750549,0.31485495,0.125,1,0,0,0,255,0.5416667,0.5833333,1.0866666,0.29117137,0.21650635,1,0,0,0,255,0.5416667,0.6666667,0.9659258,0.25881898,0.25,1,0,0,0,255,0.5416667,0.75,0.7567967,0.20278303,0.125,1,0,0,0,255,0.5416667,0.9166667,0.77679074,0.10226642,0.125,1,0,0,0,255,0.5208333,0.9166667,0.7244444,0.19411424,0.00000000000000003061617,1,0,0,0,255,0.5416667,0.0000000000000002220446,0.7567967,0.20278303,-0.125,1,0,0,0,255,0.5416667,0.083333336,0.9659258,0.25881898,-0.25,1,0,0,0,255,0.5416667,0.25,1.0866666,0.29117137,-0.21650635,1,0,0,0,255,0.5416667,0.33333334,1.1750549,0.31485495,-0.125,1,0,0,0,255,0.5416667,0.41666666,1.1239054,0.46553674,0.125,1,0,0,0,255,0.5625,0.5833333,1.0393645,0.43051878,0.21650635,1,0,0,0,255,0.5625,0.6666667,0.8083946,0.33484796,0.21650635,1,0,0,0,255,0.5625,0.8333333,0.8451851,0.22646661,0.21650635,1,0,0,0,255,0.5416667,0.8333333,0.72385377,0.29983,0.125,1,0,0,0,255,0.5625,0.9166667,0.69290966,0.28701252,0.00000000000000003061617,1,0,0,0,255,0.5625,1,0.7244444,0.19411424,0.00000000000000003061617,1,0,0,0,255,0.5416667,1,0.69290966,0.28701252,0.00000000000000003061617,1,0,0,0,255,0.5625,0.0000000000000002220446,0.72385377,0.29983,-0.125,1,0,0,0,255,0.5625,0.083333336,0.8451851,0.22646661,-0.21650635,1,0,0,0,255,0.5416667,0.16666667,0.92387956,0.38268337,-0.25,1,0,0,0,255,0.5625,0.25,1.0393645,0.43051878,-0.21650635,1,0,0,0,255,0.5625,0.33333334,1.1239054,0.46553674,-0.125,1,0,0,0,255,0.5625,0.41666666,1.1548494,0.47835422,0,1,0,0,0,255,0.5625,0.5,1.0535253,0.6082533,0.125,1,0,0,0,255,0.5833333,0.5833333,0.9742785,0.5625001,0.21650635,1,0,0,0,255,0.5833333,0.6666667,0.8660253,0.5000001,0.25,1,0,0,0,255,0.5833333,0.75,0.92387956,0.38268337,0.25,1,0,0,0,255,0.5625,0.75,0.6785253,0.3917469,0.125,1,0,0,0,255,0.5833333,0.9166667,0.64951897,0.3750001,0.00000000000000003061617,1,0,0,0,255,0.5833333,0.0000000000000002220446,0.6785253,0.3917469,-0.125,1,0,0,0,255,0.5833333,0.083333336,0.8083946,0.33484796,-0.21650635,1,0,0,0,255,0.5625,0.16666667,0.8660253,0.5000001,-0.25,1,0,0,0,255,0.5833333,0.25,0.9742785,0.5625001,-0.21650635,1,0,0,0,255,0.5833333,0.33333334,1.0535253,0.6082533,-0.125,1,0,0,0,255,0.5833333,0.41666666,0.9916918,0.76095164,0,1,0,0,0,255,0.6041667,0.5,1.0825317,0.6250001,0,1,0,0,0,255,0.5833333,0.5,0.89252263,0.6848565,0.21650635,1,0,0,0,255,0.6041667,0.6666667,0.79335344,0.6087613,0.25,1,0,0,0,255,0.6041667,0.75,0.75777215,0.43750012,0.21650635,1,0,0,0,255,0.5833333,0.8333333,0.6215874,0.4769606,0.125,1,0,0,0,255,0.6041667,0.9166667,0.64951897,0.3750001,0.00000000000000003061617,1,0,0,0,255,0.5833333,1,0.59501505,0.45657098,0.00000000000000003061617,1,0,0,0,255,0.6041667,0.0000000000000002220446,0.6215874,0.4769606,-0.125,1,0,0,0,255,0.6041667,0.083333336,0.75777215,0.43750012,-0.21650635,1,0,0,0,255,0.5833333,0.16666667,0.69418424,0.53266615,-0.21650635,1,0,0,0,255,0.6041667,0.16666667,0.79335344,0.6087613,-0.25,1,0,0,0,255,0.6041667,0.25,0.89252263,0.6848565,-0.21650635,1,0,0,0,255,0.6041667,0.33333334,0.88388336,0.88388354,0,1,0,0,0,255,0.625,0.5,0.9651195,0.740562,0.125,1,0,0,0,255,0.6041667,0.5833333,0.8601998,0.8601999,0.125,1,0,0,0,255,0.625,0.5833333,0.79549503,0.79549515,0.21650635,1,0,0,0,255,0.625,0.6666667,0.7071067,0.7071068,0.25,1,0,0,0,255,0.625,0.75,0.69418424,0.53266615,0.21650635,1,0,0,0,255,0.6041667,0.8333333,0.6187184,0.6187185,0.21650635,1,0,0,0,255,0.625,0.8333333,0.5540136,0.5540137,0.125,1,0,0,0,255,0.625,0.9166667,0.59501505,0.45657098,0.00000000000000003061617,1,0,0,0,255,0.6041667,1,0.5540136,0.5540137,-0.125,1,0,0,0,255,0.625,0.083333336,0.6187184,0.6187185,-0.21650635,1,0,0,0,255,0.625,0.16666667,0.7071067,0.7071068,-0.25,1,0,0,0,255,0.625,0.25,0.8601998,0.8601999,-0.125,1,0,0,0,255,0.625,0.41666666,0.9651195,0.740562,-0.125,1,0,0,0,255,0.6041667,0.41666666,0.76095194,0.99169147,0,1,0,0,0,255,0.6458333,0.5,0.6848568,0.89252234,0.21650635,1,0,0,0,255,0.6458333,0.6666667,0.60876155,0.7933532,0.25,1,0,0,0,255,0.6458333,0.75,0.4769608,0.62158716,0.125,1,0,0,0,255,0.6458333,0.9166667,0.53033006,0.5303301,0.00000000000000003061617,1,0,0,0,255,0.625,1,0.45657116,0.5950149,0.00000000000000003061617,1,0,0,0,255,0.6458333,0.0000000000000002220446,0.53033006,0.5303301,0.00000000000000003061617,1,0,0,0,255,0.625,0.0000000000000002220446,0.4769608,0.62158716,-0.125,1,0,0,0,255,0.6458333,0.083333336,0.60876155,0.7933532,-0.25,1,0,0,0,255,0.6458333,0.25,0.6848568,0.89252234,-0.21650635,1,0,0,0,255,0.6458333,0.33333334,0.79549503,0.79549515,-0.21650635,1,0,0,0,255,0.625,0.33333334,0.7405623,0.96511924,-0.125,1,0,0,0,255,0.6458333,0.41666666,0.62499994,1.0825318,0,1,0,0,0,255,0.6666667,0.5,0.7405623,0.96511924,0.125,1,0,0,0,255,0.6458333,0.5833333,0.56249994,0.9742786,0.21650635,1,0,0,0,255,0.6666667,0.6666667,0.49999997,0.86602545,0.25,1,0,0,0,255,0.6666667,0.75,0.5326663,0.69418406,0.21650635,1,0,0,0,255,0.6458333,0.8333333,0.3917468,0.67852545,0.125,1,0,0,0,255,0.6666667,0.9166667,0.45657116,0.5950149,0.00000000000000003061617,1,0,0,0,255,0.6458333,1,0.37499997,0.6495191,0.00000000000000003061617,1,0,0,0,255,0.6666667,0.0000000000000002220446,0.3917468,0.67852545,-0.125,1,0,0,0,255,0.6666667,0.083333336,0.5326663,0.69418406,-0.21650635,1,0,0,0,255,0.6458333,0.16666667,0.43749997,0.75777227,-0.21650635,1,0,0,0,255,0.6666667,0.16666667,0.49999997,0.86602545,-0.25,1,0,0,0,255,0.6666667,0.25,0.56249994,0.9742786,-0.21650635,1,0,0,0,255,0.6666667,0.33333334,0.6082531,1.0535254,-0.125,1,0,0,0,255,0.6666667,0.41666666,0.4655371,1.1239052,0.125,1,0,0,0,255,0.6875,0.5833333,0.6082531,1.0535254,0.125,1,0,0,0,255,0.6666667,0.5833333,0.43051913,1.0393643,0.21650635,1,0,0,0,255,0.6875,0.6666667,0.38268366,0.92387944,0.25,1,0,0,0,255,0.6875,0.75,0.43749997,0.75777227,0.21650635,1,0,0,0,255,0.6666667,0.8333333,0.3348482,0.8083945,0.21650635,1,0,0,0,255,0.6875,0.8333333,0.29983023,0.72385365,0.125,1,0,0,0,255,0.6875,0.9166667,0.37499997,0.6495191,0.00000000000000003061617,1,0,0,0,255,0.6666667,1,0.28701276,0.6929096,0.00000000000000003061617,1,0,0,0,255,0.6875,0.0000000000000002220446,0.29983023,0.72385365,-0.125,1,0,0,0,255,0.6875,0.083333336,0.38268366,0.92387944,-0.25,1,0,0,0,255,0.6875,0.25,0.43051913,1.0393643,-0.21650635,1,0,0,0,255,0.6875,0.33333334,0.4655371,1.1239052,-0.125,1,0,0,0,255,0.6875,0.41666666,0.32352385,1.2074072,0,1,0,0,0,255,0.7083333,0.5,0.47835457,1.1548493,0,1,0,0,0,255,0.6875,0.5,0.31485504,1.1750549,0.125,1,0,0,0,255,0.7083333,0.5833333,0.29117146,1.0866666,0.21650635,1,0,0,0,255,0.7083333,0.6666667,0.25881907,0.9659258,0.25,1,0,0,0,255,0.7083333,0.75,0.2027831,0.7567967,0.125,1,0,0,0,255,0.7083333,0.9166667,0.28701276,0.6929096,0.00000000000000003061617,1,0,0,0,255,0.6875,1,0.1941143,0.7244444,0.00000000000000003061617,1,0,0,0,255,0.7083333,0.0000000000000002220446,0.2027831,0.7567967,-0.125,1,0,0,0,255,0.7083333,0.083333336,0.3348482,0.8083945,-0.21650635,1,0,0,0,255,0.6875,0.16666667,0.22646669,0.8451851,-0.21650635,1,0,0,0,255,0.7083333,0.16666667,0.25881907,0.9659258,-0.25,1,0,0,0,255,0.7083333,0.25,0.29117146,1.0866666,-0.21650635,1,0,0,0,255,0.7083333,0.33333334,0.31485504,1.1750549,-0.125,1,0,0,0,255,0.7083333,0.41666666,0.16315751,1.2393061,0,1,0,0,0,255,0.7291667,0.5,0.15878572,1.206099,0.125,1,0,0,0,255,0.7291667,0.5833333,0.130526,0.9914449,0.25,1,0,0,0,255,0.7291667,0.75,0.22646669,0.8451851,0.21650635,1,0,0,0,255,0.7083333,0.8333333,0.114210255,0.86751425,0.21650635,1,0,0,0,255,0.7291667,0.8333333,0.1022663,0.77679074,0.125,1,0,0,0,255,0.7291667,0.9166667,0.1941143,0.7244444,0.00000000000000003061617,1,0,0,0,255,0.7083333,1,0.1022663,0.77679074,-0.125,1,0,0,0,255,0.7291667,0.083333336,0.130526,0.9914449,-0.25,1,0,0,0,255,0.7291667,0.25,0.14684176,1.1153755,-0.21650635,1,0,0,0,255,0.7291667,0.33333334,0.15878572,1.206099,-0.125,1,0,0,0,255,0.7291667,0.41666666,0.000000094372375,1.25,0,1,0,0,0,255,0.75,0.5,0.000000091843674,1.2165064,0.125,1,0,0,0,255,0.75,0.5833333,0.14684176,1.1153755,0.21650635,1,0,0,0,255,0.7291667,0.6666667,0.00000008493514,1.125,0.21650635,1,0,0,0,255,0.75,0.6666667,0.000000066060664,0.875,0.21650635,1,0,0,0,255,0.75,0.8333333,0.000000059152125,0.78349364,0.125,1,0,0,0,255,0.75,0.9166667,0.097894505,0.7435837,0.00000000000000003061617,1,0,0,0,255,0.7291667,1,0.000000056623428,0.75,0.00000000000000003061617,1,0,0,0,255,0.75,0.0000000000000002220446,0.097894505,0.7435837,0.00000000000000003061617,1,0,0,0,255,0.7291667,0.0000000000000002220446,0.000000059152125,0.78349364,-0.125,1,0,0,0,255,0.75,0.083333336,0.114210255,0.86751425,-0.21650635,1,0,0,0,255,0.7291667,0.16666667,0.000000066060664,0.875,-0.21650635,1,0,0,0,255,0.75,0.16666667,0.0000000754979,1,-0.25,1,0,0,0,255,0.75,0.25,0.00000008493514,1.125,-0.21650635,1,0,0,0,255,0.75,0.33333334,-0.16315791,1.239306,0,1,0,0,0,255,0.7708333,0.5,-0.15878612,1.2060989,0.125,1,0,0,0,255,0.7708333,0.5833333,-0.14684212,1.1153754,0.21650635,1,0,0,0,255,0.7708333,0.6666667,0.0000000754979,1,0.25,1,0,0,0,255,0.75,0.75,-0.13052633,0.9914448,0.25,1,0,0,0,255,0.7708333,0.75,-0.114210546,0.86751425,0.21650635,1,0,0,0,255,0.7708333,0.8333333,-0.10226655,0.77679074,0.125,1,0,0,0,255,0.7708333,0.9166667,0.000000056623428,0.75,0.00000000000000003061617,1,0,0,0,255,0.75,1,-0.10226655,0.77679074,-0.125,1,0,0,0,255,0.7708333,0.083333336,-0.13052633,0.9914448,-0.25,1,0,0,0,255,0.7708333,0.25,-0.14684212,1.1153754,-0.21650635,1,0,0,0,255,0.7708333,0.33333334,-0.15878612,1.2060989,-0.125,1,0,0,0,255,0.7708333,0.41666666,0.000000091843674,1.2165064,-0.125,1,0,0,0,255,0.75,0.41666666,-0.32352364,1.2074074,0,1,0,0,0,255,0.7916667,0.5,-0.29117128,1.0866666,0.21650635,1,0,0,0,255,0.7916667,0.6666667,-0.25881892,0.9659259,0.25,1,0,0,0,255,0.7916667,0.75,-0.22646657,0.84518516,0.21650635,1,0,0,0,255,0.7916667,0.8333333,-0.20278297,0.7567968,0.125,1,0,0,0,255,0.7916667,0.9166667,-0.09789475,0.7435836,0.00000000000000003061617,1,0,0,0,255,0.7708333,1,-0.1941142,0.7244444,0.00000000000000003061617,1,0,0,0,255,0.7916667,0.0000000000000002220446,-0.09789475,0.7435836,0.00000000000000003061617,1,0,0,0,255,0.7708333,0.0000000000000002220446,-0.20278297,0.7567968,-0.125,1,0,0,0,255,0.7916667,0.083333336,-0.114210546,0.86751425,-0.21650635,1,0,0,0,255,0.7708333,0.16666667,-0.22646657,0.84518516,-0.21650635,1,0,0,0,255,0.7916667,0.16666667,-0.25881892,0.9659259,-0.25,1,0,0,0,255,0.7916667,0.25,-0.29117128,1.0866666,-0.21650635,1,0,0,0,255,0.7916667,0.33333334,-0.31485486,1.175055,-0.125,1,0,0,0,255,0.7916667,0.41666666,-0.4783544,1.1548494,0,1,0,0,0,255,0.8125,0.5,-0.31485486,1.175055,0.125,1,0,0,0,255,0.7916667,0.5833333,-0.46553692,1.1239053,0.125,1,0,0,0,255,0.8125,0.5833333,-0.43051895,1.0393645,0.21650635,1,0,0,0,255,0.8125,0.6666667,-0.33484808,0.80839455,0.21650635,1,0,0,0,255,0.8125,0.8333333,-0.2998301,0.7238537,0.125,1,0,0,0,255,0.8125,0.9166667,-0.1941142,0.7244444,0.00000000000000003061617,1,0,0,0,255,0.7916667,1,-0.28701264,0.6929096,0.00000000000000003061617,1,0,0,0,255,0.8125,0.0000000000000002220446,-0.2998301,0.7238537,-0.125,1,0,0,0,255,0.8125,0.083333336,-0.38268352,0.9238795,-0.25,1,0,0,0,255,0.8125,0.25,-0.46553692,1.1239053,-0.125,1,0,0,0,255,0.8125,0.41666666,-0.6249998,1.0825319,0,1,0,0,0,255,0.8333333,0.5,-0.5624998,0.9742787,0.21650635,1,0,0,0,255,0.8333333,0.6666667,-0.38268352,0.9238795,0.25,1,0,0,0,255,0.8125,0.75,-0.49999985,0.8660255,0.25,1,0,0,0,255,0.8333333,0.75,-0.43749988,0.7577723,0.21650635,1,0,0,0,255,0.8333333,0.8333333,-0.3917467,0.67852545,0.125,1,0,0,0,255,0.8333333,0.9166667,-0.28701264,0.6929096,0.00000000000000003061617,1,0,0,0,255,0.8125,1,-0.37499988,0.64951915,0.00000000000000003061617,1,0,0,0,255,0.8333333,0.0000000000000002220446,-0.3917467,0.67852545,-0.125,1,0,0,0,255,0.8333333,0.083333336,-0.33484808,0.80839455,-0.21650635,1,0,0,0,255,0.8125,0.16666667,-0.43749988,0.7577723,-0.21650635,1,0,0,0,255,0.8333333,0.16666667,-0.49999985,0.8660255,-0.25,1,0,0,0,255,0.8333333,0.25,-0.43051895,1.0393645,-0.21650635,1,0,0,0,255,0.8125,0.33333334,-0.5624998,0.9742787,-0.21650635,1,0,0,0,255,0.8333333,0.33333334,-0.608253,1.0535256,-0.125,1,0,0,0,255,0.8333333,0.41666666,-0.76095176,0.99169165,0,1,0,0,0,255,0.8541667,0.5,-0.608253,1.0535256,0.125,1,0,0,0,255,0.8333333,0.5833333,-0.74056214,0.96511936,0.125,1,0,0,0,255,0.8541667,0.5833333,-0.6848566,0.89252245,0.21650635,1,0,0,0,255,0.8541667,0.6666667,-0.6087614,0.7933533,0.25,1,0,0,0,255,0.8541667,0.75,-0.53266627,0.6941842,0.21650635,1,0,0,0,255,0.8541667,0.8333333,-0.45657107,0.595015,0.00000000000000003061617,1,0,0,0,255,0.8541667,1,-0.37499988,0.64951915,0.00000000000000003061617,1,0,0,0,255,0.8333333,1,-0.45657107,0.595015,0.00000000000000003061617,1,0,0,0,255,0.8541667,0.0000000000000002220446,-0.53266627,0.6941842,-0.21650635,1,0,0,0,255,0.8541667,0.16666667,-0.6087614,0.7933533,-0.25,1,0,0,0,255,0.8541667,0.25,-0.6848566,0.89252245,-0.21650635,1,0,0,0,255,0.8541667,0.33333334,-0.74056214,0.96511936,-0.125,1,0,0,0,255,0.8541667,0.41666666,-0.8838837,0.88388324,0,1,0,0,0,255,0.875,0.5,-0.8602001,0.8601997,0.125,1,0,0,0,255,0.875,0.5833333,-0.70710695,0.7071066,0.25,1,0,0,0,255,0.875,0.75,-0.61871856,0.61871827,0.21650635,1,0,0,0,255,0.875,0.8333333,-0.47696072,0.6215873,0.125,1,0,0,0,255,0.8541667,0.9166667,-0.5540138,0.5540135,0.125,1,0,0,0,255,0.875,0.9166667,-0.5303302,0.53032994,0.00000000000000003061617,1,0,0,0,255,0.875,0.0000000000000002220446,-0.47696072,0.6215873,-0.125,1,0,0,0,255,0.8541667,0.083333336,-0.61871856,0.61871827,-0.21650635,1,0,0,0,255,0.875,0.16666667,-0.70710695,0.7071066,-0.25,1,0,0,0,255,0.875,0.25,-0.79549533,0.7954949,-0.21650635,1,0,0,0,255,0.875,0.33333334,-0.8602001,0.8601997,-0.125,1,0,0,0,255,0.875,0.41666666,-0.99169165,0.76095176,0,1,0,0,0,255,0.8958333,0.5,-0.96511936,0.74056214,0.125,1,0,0,0,255,0.8958333,0.5833333,-0.79549533,0.7954949,0.21650635,1,0,0,0,255,0.875,0.6666667,-0.89252245,0.6848566,0.21650635,1,0,0,0,255,0.8958333,0.6666667,-0.6941842,0.53266627,0.21650635,1,0,0,0,255,0.8958333,0.8333333,-0.6215873,0.47696072,0.125,1,0,0,0,255,0.8958333,0.9166667,-0.5303302,0.53032994,0.00000000000000003061617,1,0,0,0,255,0.875,1,-0.595015,0.45657107,0.00000000000000003061617,1,0,0,0,255,0.8958333,0.0000000000000002220446,-0.5540138,0.5540135,-0.125,1,0,0,0,255,0.875,0.083333336,-0.6941842,0.53266627,-0.21650635,1,0,0,0,255,0.8958333,0.16666667,-0.7933533,0.6087614,-0.25,1,0,0,0,255,0.8958333,0.25,-0.96511936,0.74056214,-0.125,1,0,0,0,255,0.8958333,0.41666666,-1.0535252,0.6082535,0.125,1,0,0,0,255,0.9166667,0.5833333,-0.86602527,0.50000024,0.25,1,0,0,0,255,0.9166667,0.75,-0.7933533,0.6087614,0.25,1,0,0,0,255,0.8958333,0.75,-0.7577721,0.4375002,0.21650635,1,0,0,0,255,0.9166667,0.8333333,-0.67852527,0.391747,0.125,1,0,0,0,255,0.9166667,0.9166667,-0.595015,0.45657107,0.00000000000000003061617,1,0,0,0,255,0.8958333,1,-0.64951897,0.37500018,0.00000000000000003061617,1,0,0,0,255,0.9166667,0.0000000000000002220446,-0.6215873,0.47696072,-0.125,1,0,0,0,255,0.8958333,0.083333336,-0.67852527,0.391747,-0.125,1,0,0,0,255,0.9166667,0.083333336,-0.86602527,0.50000024,-0.25,1,0,0,0,255,0.9166667,0.25,-0.89252245,0.6848566,-0.21650635,1,0,0,0,255,0.8958333,0.33333334,-0.97427845,0.56250024,-0.21650635,1,0,0,0,255,0.9166667,0.33333334,-1.0535252,0.6082535,-0.125,1,0,0,0,255,0.9166667,0.41666666,-1.1548494,0.47835436,0,1,0,0,0,255,0.9375,0.5,-1.0825316,0.6250003,0,1,0,0,0,255,0.9166667,0.5,-1.1239053,0.4655369,0.125,1,0,0,0,255,0.9375,0.5833333,-0.97427845,0.56250024,0.21650635,1,0,0,0,255,0.9166667,0.6666667,-1.0393645,0.43051893,0.21650635,1,0,0,0,255,0.9375,0.6666667,-0.80839455,0.33484805,0.21650635,1,0,0,0,255,0.9375,0.8333333,-0.7238537,0.29983008,0.125,1,0,0,0,255,0.9375,0.9166667,-0.64951897,0.37500018,0.00000000000000003061617,1,0,0,0,255,0.9166667,1,-0.7238537,0.29983008,-0.125,1,0,0,0,255,0.9375,0.083333336,-0.7577721,0.4375002,-0.21650635,1,0,0,0,255,0.9166667,0.16666667,-0.80839455,0.33484805,-0.21650635,1,0,0,0,255,0.9375,0.16666667,-0.9238795,0.3826835,-0.25,1,0,0,0,255,0.9375,0.25,-1.1239053,0.4655369,-0.125,1,0,0,0,255,0.9375,0.41666666,-1.175055,0.31485486,0.125,1,0,0,0,255,0.9583333,0.5833333,-1.0866666,0.29117128,0.21650635,1,0,0,0,255,0.9583333,0.6666667,-0.9238795,0.3826835,0.25,1,0,0,0,255,0.9375,0.75,-0.84518516,0.22646657,0.21650635,1,0,0,0,255,0.9583333,0.8333333,-0.7567968,0.20278297,0.125,1,0,0,0,255,0.9583333,0.9166667,-0.6929096,0.2870126,0.00000000000000003061617,1,0,0,0,255,0.9375,1,-0.7244444,0.1941142,0.00000000000000003061617,1,0,0,0,255,0.9583333,0.0000000000000002220446,-0.6929096,0.2870126,0.00000000000000003061617,1,0,0,0,255,0.9375,0.0000000000000002220446,-0.7567968,0.20278297,-0.125,1,0,0,0,255,0.9583333,0.083333336,-0.84518516,0.22646657,-0.21650635,1,0,0,0,255,0.9583333,0.16666667,-1.0866666,0.29117128,-0.21650635,1,0,0,0,255,0.9583333,0.33333334,-1.0393645,0.43051893,-0.21650635,1,0,0,0,255,0.9375,0.33333334,-1.175055,0.31485486,-0.125,1,0,0,0,255,0.9583333,0.41666666,-1.239306,0.1631579,0,1,0,0,0,255,0.9791667,0.5,-1.2074074,0.32352364,0,1,0,0,0,255,0.9583333,0.5,-1.2060989,0.1587861,0.125,1,0,0,0,255,0.9791667,0.5833333,-1.1153754,0.1468421,0.21650635,1,0,0,0,255,0.9791667,0.6666667,-0.9659259,0.25881892,0.25,1,0,0,0,255,0.9583333,0.75,-0.9914448,0.13052632,0.25,1,0,0,0,255,0.9791667,0.75,-0.86751425,0.11421053,0.21650635,1,0,0,0,255,0.9791667,0.8333333,-0.77679074,0.10226654,0.125,1,0,0,0,255,0.9791667,0.9166667,-0.7244444,0.1941142,0.00000000000000003061617,1,0,0,0,255,0.9583333,1,-0.7435836,0.09789474,0.00000000000000003061617,1,0,0,0,255,0.9791667,0.0000000000000002220446,-0.86751425,0.11421053,-0.21650635,1,0,0,0,255,0.9791667,0.16666667,-0.9914448,0.13052632,-0.25,1,0,0,0,255,0.9791667,0.25,-0.9659259,0.25881892,-0.25,1,0,0,0,255,0.9583333,0.25,-1.1153754,0.1468421,-0.21650635,1,0,0,0,255,0.9791667,0.33333334,-1.2060989,0.1587861,-0.125,1,0,0,0,255,0.9791667,0.41666666,-1.2165064,0.00000010635036,0.125,1,0,0,0,255,1,0.5833333,-1.125,0.000000098350625,0.21650635,1,0,0,0,255,1,0.6666667,-1,0.00000008742278,0.25,1,0,0,0,255,1,0.75,-0.875,0.00000007649493,0.21650635,1,0,0,0,255,1,0.8333333,-0.78349364,0.00000006849519,0.125,1,0,0,0,255,1,0.9166667,-0.7435836,0.09789474,0.00000000000000003061617,1,0,0,0,255,0.9791667,1,-0.75,0.00000006556708,0.00000000000000003061617,1,0,0,0,255,1,0.0000000000000002220446,-0.77679074,0.10226654,-0.125,1,0,0,0,255,0.9791667,0.083333336,-0.875,0.00000007649493,-0.21650635,1,0,0,0,255,1,0.16666667,-1,0.00000008742278,-0.25,1,0,0,0,255,1,0.25,-1.125,0.000000098350625,-0.21650635,1,0,0,0,255,1,0.33333334,-1.2165064,0.00000010635036,-0.125,1,0,0,0,255,1,0.41666666,-1.239306,-0.1631579,0,1,0,0,0,255,0.020833334,0.5,-1.2165064,0.00000010635036,0.125,1,0,0,0,255,0.0000000000000008881784,0.5833333,-1.25,0.000000109278474,0,1,0,0,0,255,0.0000000000000008881784,0.5,-1.2060989,-0.1587861,0.125,1,0,0,0,255,0.020833334,0.5833333,-1.125,0.000000098350625,0.21650635,1,0,0,0,255,0.0000000000000008881784,0.6666667,-1.1153754,-0.1468421,0.21650635,1,0,0,0,255,0.020833334,0.6666667,-1,0.00000008742278,0.25,1,0,0,0,255,0.0000000000000008881784,0.75,-0.9914448,-0.13052632,0.25,1,0,0,0,255,0.020833334,0.75,-0.875,0.00000007649493,0.21650635,1,0,0,0,255,0.0000000000000008881784,0.8333333,-0.86751425,-0.11421053,0.21650635,1,0,0,0,255,0.020833334,0.8333333,-0.78349364,0.00000006849519,0.125,1,0,0,0,255,0.0000000000000008881784,0.9166667,-0.77679074,-0.10226654,0.125,1,0,0,0,255,0.020833334,0.9166667,-0.75,0.00000006556708,0.00000000000000003061617,1,0,0,0,255,0.0000000000000008881784,1,-0.75,0.00000006556708,0.00000000000000003061617,1,0,0,0,255,0.0000000000000008881784,0.0000000000000002220446,-0.77679074,-0.10226654,-0.125,1,0,0,0,255,0.020833334,0.083333336,-0.78349364,0.00000006849519,-0.125,1,0,0,0,255,0.0000000000000008881784,0.083333336,-0.875,0.00000007649493,-0.21650635,1,0,0,0,255,0.0000000000000008881784,0.16666667,-0.9914448,-0.13052632,-0.25,1,0,0,0,255,0.020833334,0.25,-1,0.00000008742278,-0.25,1,0,0,0,255,0.0000000000000008881784,0.25,-1.1153754,-0.1468421,-0.21650635,1,0,0,0,255,0.020833334,0.33333334,-1.125,0.000000098350625,-0.21650635,1,0,0,0,255,0.0000000000000008881784,0.33333334,-1.2060989,-0.1587861,-0.125,1,0,0,0,255,0.020833334,0.41666666,-1.2165064,0.00000010635036,-0.125,1,0,0,0,255,0.0000000000000008881784,0.41666666,-1.175055,-0.31485486,0.125,1,0,0,0,255,0.041666668,0.5833333,-1.0866666,-0.29117128,0.21650635,1,0,0,0,255,0.041666668,0.6666667,-0.9659259,-0.25881892,0.25,1,0,0,0,255,0.041666668,0.75,-0.84518516,-0.22646657,0.21650635,1,0,0,0,255,0.041666668,0.8333333,-0.7567968,-0.20278297,0.125,1,0,0,0,255,0.041666668,0.9166667,-0.7435836,-0.09789474,0.00000000000000003061617,1,0,0,0,255,0.020833334,1,-0.7244444,-0.1941142,0.00000000000000003061617,1,0,0,0,255,0.041666668,0.0000000000000002220446,-0.7435836,-0.09789474,0.00000000000000003061617,1,0,0,0,255,0.020833334,0.0000000000000002220446,-0.7567968,-0.20278297,-0.125,1,0,0,0,255,0.041666668,0.083333336,-0.86751425,-0.11421053,-0.21650635,1,0,0,0,255,0.020833334,0.16666667,-0.84518516,-0.22646657,-0.21650635,1,0,0,0,255,0.041666668,0.16666667,-0.9659259,-0.25881892,-0.25,1,0,0,0,255,0.041666668,0.25,-1.0866666,-0.29117128,-0.21650635,1,0,0,0,255,0.041666668,0.33333334,-1.2074074,-0.32352364,0,1,0,0,0,255,0.041666668,0.5,-1.1548496,-0.47835383,0,1,0,0,0,255,0.0625,0.5,-1.1239055,-0.4655364,0.125,1,0,0,0,255,0.0625,0.5833333,-0.9238797,-0.38268307,0.25,1,0,0,0,255,0.0625,0.75,-0.80839473,-0.3348477,0.21650635,1,0,0,0,255,0.0625,0.8333333,-0.7238538,-0.29982975,0.125,1,0,0,0,255,0.0625,0.9166667,-0.7244444,-0.1941142,0.00000000000000003061617,1,0,0,0,255,0.041666668,1,-0.6929098,-0.2870123,0.00000000000000003061617,1,0,0,0,255,0.0625,0.0000000000000002220446,-0.80839473,-0.3348477,-0.21650635,1,0,0,0,255,0.0625,0.16666667,-0.9238797,-0.38268307,-0.25,1,0,0,0,255,0.0625,0.25,-1.1239055,-0.4655364,-0.125,1,0,0,0,255,0.0625,0.41666666,-1.175055,-0.31485486,-0.125,1,0,0,0,255,0.041666668,0.41666666,-1.0825319,-0.62499976,0,1,0,0,0,255,0.083333336,0.5,-1.0535256,-0.60825294,0.125,1,0,0,0,255,0.083333336,0.5833333,-1.0393647,-0.43051845,0.21650635,1,0,0,0,255,0.0625,0.6666667,-0.9742787,-0.5624998,0.21650635,1,0,0,0,255,0.083333336,0.6666667,-0.8660255,-0.49999982,0.25,1,0,0,0,255,0.083333336,0.75,-0.7577723,-0.43749985,0.21650635,1,0,0,0,255,0.083333336,0.8333333,-0.64951915,-0.37499988,0.00000000000000003061617,1,0,0,0,255,0.083333336,1,-0.6929098,-0.2870123,0.00000000000000003061617,1,0,0,0,255,0.0625,1,-0.64951915,-0.37499988,0.00000000000000003061617,1,0,0,0,255,0.083333336,0.0000000000000002220446,-0.7238538,-0.29982975,-0.125,1,0,0,0,255,0.0625,0.083333336,-0.67852545,-0.39174667,-0.125,1,0,0,0,255,0.083333336,0.083333336,-0.7577723,-0.43749985,-0.21650635,1,0,0,0,255,0.083333336,0.16666667,-0.9742787,-0.5624998,-0.21650635,1,0,0,0,255,0.083333336,0.33333334,-1.0393647,-0.43051845,-0.21650635,1,0,0,0,255,0.0625,0.33333334,-1.0535256,-0.60825294,-0.125,1,0,0,0,255,0.083333336,0.41666666,-0.99169165,-0.76095176,0,1,0,0,0,255,0.104166664,0.5,-0.96511936,-0.74056214,0.125,1,0,0,0,255,0.104166664,0.5833333,-0.89252245,-0.6848566,0.21650635,1,0,0,0,255,0.104166664,0.6666667,-0.6941842,-0.53266627,0.21650635,1,0,0,0,255,0.104166664,0.8333333,-0.67852545,-0.39174667,0.125,1,0,0,0,255,0.083333336,0.9166667,-0.6215873,-0.47696072,0.125,1,0,0,0,255,0.104166664,0.9166667,-0.595015,-0.45657107,0.00000000000000003061617,1,0,0,0,255,0.104166664,0.0000000000000002220446,-0.6941842,-0.53266627,-0.21650635,1,0,0,0,255,0.104166664,0.16666667,-0.8660255,-0.49999982,-0.25,1,0,0,0,255,0.083333336,0.25,-0.7933533,-0.6087614,-0.25,1,0,0,0,255,0.104166664,0.25,-0.96511936,-0.74056214,-0.125,1,0,0,0,255,0.104166664,0.41666666,-0.8838837,-0.88388324,0,1,0,0,0,255,0.125,0.5,-0.79549533,-0.7954949,0.21650635,1,0,0,0,255,0.125,0.6666667,-0.7933533,-0.6087614,0.25,1,0,0,0,255,0.104166664,0.75,-0.70710695,-0.7071066,0.25,1,0,0,0,255,0.125,0.75,-0.61871856,-0.61871827,0.21650635,1,0,0,0,255,0.125,0.8333333,-0.5540138,-0.5540135,0.125,1,0,0,0,255,0.125,0.9166667,-0.595015,-0.45657107,0.00000000000000003061617,1,0,0,0,255,0.104166664,1,-0.5303302,-0.53032994,0.00000000000000003061617,1,0,0,0,255,0.125,0.0000000000000002220446,-0.6215873,-0.47696072,-0.125,1,0,0,0,255,0.104166664,0.083333336,-0.5540138,-0.5540135,-0.125,1,0,0,0,255,0.125,0.083333336,-0.70710695,-0.7071066,-0.25,1,0,0,0,255,0.125,0.25,-0.89252245,-0.6848566,-0.21650635,1,0,0,0,255,0.104166664,0.33333334,-0.79549533,-0.7954949,-0.21650635,1,0,0,0,255,0.125,0.33333334,-0.8602001,-0.8601997,-0.125,1,0,0,0,255,0.125,0.41666666,-0.7405627,-0.965119,0.125,1,0,0,0,255,0.14583333,0.5833333,-0.8602001,-0.8601997,0.125,1,0,0,0,255,0.125,0.5833333,-0.6848571,-0.89252216,0.21650635,1,0,0,0,255,0.14583333,0.6666667,-0.5326666,-0.6941839,0.21650635,1,0,0,0,255,0.14583333,0.8333333,-0.47696105,-0.62158704,0.125,1,0,0,0,255,0.14583333,0.9166667,-0.5303302,-0.53032994,0.00000000000000003061617,1,0,0,0,255,0.125,1,-0.4565714,-0.59501475,0.00000000000000003061617,1,0,0,0,255,0.14583333,0.0000000000000002220446,-0.47696105,-0.62158704,-0.125,1,0,0,0,255,0.14583333,0.083333336,-0.61871856,-0.61871827,-0.21650635,1,0,0,0,255,0.125,0.16666667,-0.5326666,-0.6941839,-0.21650635,1,0,0,0,255,0.14583333,0.16666667,-0.60876185,-0.793353,-0.25,1,0,0,0,255,0.14583333,0.25,-0.6848571,-0.89252216,-0.21650635,1,0,0,0,255,0.14583333,0.33333334,-0.7405627,-0.965119,-0.125,1,0,0,0,255,0.14583333,0.41666666,-0.7609523,-0.9916913,0,1,0,0,0,255,0.14583333,0.5,-0.608253,-1.0535256,0.125,1,0,0,0,255,0.16666667,0.5833333,-0.5624998,-0.9742787,0.21650635,1,0,0,0,255,0.16666667,0.6666667,-0.60876185,-0.793353,0.25,1,0,0,0,255,0.14583333,0.75,-0.49999985,-0.8660255,0.25,1,0,0,0,255,0.16666667,0.75,-0.3917467,-0.67852545,0.125,1,0,0,0,255,0.16666667,0.9166667,-0.4565714,-0.59501475,0.00000000000000003061617,1,0,0,0,255,0.14583333,1,-0.37499988,-0.64951915,0.00000000000000003061617,1,0,0,0,255,0.16666667,0.0000000000000002220446,-0.3917467,-0.67852545,-0.125,1,0,0,0,255,0.16666667,0.083333336,-0.43749988,-0.7577723,-0.21650635,1,0,0,0,255,0.16666667,0.16666667,-0.5624998,-0.9742787,-0.21650635,1,0,0,0,255,0.16666667,0.33333334,-0.608253,-1.0535256,-0.125,1,0,0,0,255,0.16666667,0.41666666,-0.4783544,-1.1548494,0,1,0,0,0,255,0.1875,0.5,-0.6249998,-1.0825319,0,1,0,0,0,255,0.16666667,0.5,-0.46553692,-1.1239053,0.125,1,0,0,0,255,0.1875,0.5833333,-0.43051895,-1.0393645,0.21650635,1,0,0,0,255,0.1875,0.6666667,-0.38268352,-0.9238795,0.25,1,0,0,0,255,0.1875,0.75,-0.43749988,-0.7577723,0.21650635,1,0,0,0,255,0.16666667,0.8333333,-0.33484808,-0.80839455,0.21650635,1,0,0,0,255,0.1875,0.8333333,-0.2998301,-0.7238537,0.125,1,0,0,0,255,0.1875,0.9166667,-0.37499988,-0.64951915,0.00000000000000003061617,1,0,0,0,255,0.16666667,1,-0.28701264,-0.6929096,0.00000000000000003061617,1,0,0,0,255,0.1875,0.0000000000000002220446,-0.2998301,-0.7238537,-0.125,1,0,0,0,255,0.1875,0.083333336,-0.38268352,-0.9238795,-0.25,1,0,0,0,255,0.1875,0.25,-0.49999985,-0.8660255,-0.25,1,0,0,0,255,0.16666667,0.25,-0.46553692,-1.1239053,-0.125,1,0,0,0,255,0.1875,0.41666666,-0.3235242,-1.2074072,0,1,0,0,0,255,0.20833333,0.5,-0.31485543,-1.1750548,0.125,1,0,0,0,255,0.20833333,0.5833333,-0.2911718,-1.0866665,0.21650635,1,0,0,0,255,0.20833333,0.6666667,-0.25881937,-0.96592575,0.25,1,0,0,0,255,0.20833333,0.75,-0.20278333,-0.75679666,0.125,1,0,0,0,255,0.20833333,0.9166667,-0.28701264,-0.6929096,0.00000000000000003061617,1,0,0,0,255,0.1875,1,-0.19411454,-0.7244443,0.00000000000000003061617,1,0,0,0,255,0.20833333,0.0000000000000002220446,-0.20278333,-0.75679666,-0.125,1,0,0,0,255,0.20833333,0.083333336,-0.33484808,-0.80839455,-0.21650635,1,0,0,0,255,0.1875,0.16666667,-0.22646695,-0.84518504,-0.21650635,1,0,0,0,255,0.20833333,0.16666667,-0.25881937,-0.96592575,-0.25,1,0,0,0,255,0.20833333,0.25,-0.43051895,-1.0393645,-0.21650635,1,0,0,0,255,0.1875,0.33333334,-0.31485543,-1.1750548,-0.125,1,0,0,0,255,0.20833333,0.41666666,-0.16315849,-1.239306,0,1,0,0,0,255,0.22916667,0.5,-0.14684264,-1.1153754,0.21650635,1,0,0,0,255,0.22916667,0.6666667,-0.1305268,-0.99144477,0.25,1,0,0,0,255,0.22916667,0.75,-0.22646695,-0.84518504,0.21650635,1,0,0,0,255,0.20833333,0.8333333,-0.102266915,-0.7767907,0.125,1,0,0,0,255,0.22916667,0.9166667,-0.19411454,-0.7244443,0.00000000000000003061617,1,0,0,0,255,0.20833333,1,-0.0978951,-0.74358356,0.00000000000000003061617,1,0,0,0,255,0.22916667,0.0000000000000002220446,-0.102266915,-0.7767907,-0.125,1,0,0,0,255,0.22916667,0.083333336,-0.1305268,-0.99144477,-0.25,1,0,0,0,255,0.22916667,0.25,-0.2911718,-1.0866665,-0.21650635,1,0,0,0,255,0.20833333,0.33333334,-0.14684264,-1.1153754,-0.21650635,1,0,0,0,255,0.22916667,0.33333334,-0.15878668,-1.2060989,-0.125,1,0,0,0,255,0.22916667,0.41666666,0.000000094372375,-1.25,0,1,0,0,0,255,0.25,0.5,-0.15878668,-1.2060989,0.125,1,0,0,0,255,0.22916667,0.5833333,0.000000091843674,-1.2165064,0.125,1,0,0,0,255,0.25,0.5833333,0.0000000754979,-1,0.25,1,0,0,0,255,0.25,0.75,0.000000066060664,-0.875,0.21650635,1,0,0,0,255,0.25,0.8333333,-0.11421095,-0.8675142,0.21650635,1,0,0,0,255,0.22916667,0.8333333,0.000000056623428,-0.75,0.00000000000000003061617,1,0,0,0,255,0.25,1,-0.0978951,-0.74358356,0.00000000000000003061617,1,0,0,0,255,0.22916667,1,0.000000056623428,-0.75,0.00000000000000003061617,1,0,0,0,255,0.25,0.0000000000000002220446,0.000000059152125,-0.78349364,-0.125,1,0,0,0,255,0.25,0.083333336,-0.11421095,-0.8675142,-0.21650635,1,0,0,0,255,0.22916667,0.16666667,0.000000066060664,-0.875,-0.21650635,1,0,0,0,255,0.25,0.16666667,0.0000000754979,-1,-0.25,1,0,0,0,255,0.25,0.25,0.00000008493514,-1.125,-0.21650635,1,0,0,0,255,0.25,0.33333334,0.000000091843674,-1.2165064,-0.125,1,0,0,0,255,0.25,0.41666666,0.15878572,-1.206099,0.125,1,0,0,0,255,0.27083334,0.5833333,0.00000008493514,-1.125,0.21650635,1,0,0,0,255,0.25,0.6666667,0.14684176,-1.1153755,0.21650635,1,0,0,0,255,0.27083334,0.6666667,0.130526,-0.9914449,0.25,1,0,0,0,255,0.27083334,0.75,0.114210255,-0.86751425,0.21650635,1,0,0,0,255,0.27083334,0.8333333,0.000000059152125,-0.78349364,0.125,1,0,0,0,255,0.25,0.9166667,0.1022663,-0.77679074,0.125,1,0,0,0,255,0.27083334,0.9166667,0.097894505,-0.7435837,0.00000000000000003061617,1,0,0,0,255,0.27083334,0.0000000000000002220446,0.114210255,-0.86751425,-0.21650635,1,0,0,0,255,0.27083334,0.16666667,0.130526,-0.9914449,-0.25,1,0,0,0,255,0.27083334,0.25,0.14684176,-1.1153755,-0.21650635,1,0,0,0,255,0.27083334,0.33333334,0.15878572,-1.206099,-0.125,1,0,0,0,255,0.27083334,0.41666666,0.32352325,-1.2074075,0,1,0,0,0,255,0.29166666,0.5,0.16315751,-1.2393061,0,1,0,0,0,255,0.27083334,0.5,0.31485447,-1.175055,0.125,1,0,0,0,255,0.29166666,0.5833333,0.29117092,-1.0866667,0.21650635,1,0,0,0,255,0.29166666,0.6666667,0.2588186,-0.96592593,0.25,1,0,0,0,255,0.29166666,0.75,0.22646627,-0.84518516,0.21650635,1,0,0,0,255,0.29166666,0.8333333,0.19411394,-0.72444445,0.00000000000000003061617,1,0,0,0,255,0.29166666,1,0.097894505,-0.7435837,0.00000000000000003061617,1,0,0,0,255,0.27083334,1,0.19411394,-0.72444445,0.00000000000000003061617,1,0,0,0,255,0.29166666,0.0000000000000002220446,0.1022663,-0.77679074,-0.125,1,0,0,0,255,0.27083334,0.083333336,0.20278272,-0.75679684,-0.125,1,0,0,0,255,0.29166666,0.083333336,0.2588186,-0.96592593,-0.25,1,0,0,0,255,0.29166666,0.25,0.29117092,-1.0866667,-0.21650635,1,0,0,0,255,0.29166666,0.33333334,0.31485447,-1.175055,-0.125,1,0,0,0,255,0.29166666,0.41666666,0.47835457,-1.1548493,0,1,0,0,0,255,0.3125,0.5,0.4655371,-1.1239052,0.125,1,0,0,0,255,0.3125,0.5833333,0.43051913,-1.0393643,0.21650635,1,0,0,0,255,0.3125,0.6666667,0.38268366,-0.92387944,0.25,1,0,0,0,255,0.3125,0.75,0.3348482,-0.8083945,0.21650635,1,0,0,0,255,0.3125,0.8333333,0.20278272,-0.75679684,0.125,1,0,0,0,255,0.29166666,0.9166667,0.29983023,-0.72385365,0.125,1,0,0,0,255,0.3125,0.9166667,0.28701276,-0.6929096,0.00000000000000003061617,1,0,0,0,255,0.3125,0.0000000000000002220446,0.29983023,-0.72385365,-0.125,1,0,0,0,255,0.3125,0.083333336,0.22646627,-0.84518516,-0.21650635,1,0,0,0,255,0.29166666,0.16666667,0.3348482,-0.8083945,-0.21650635,1,0,0,0,255,0.3125,0.16666667,0.43051913,-1.0393643,-0.21650635,1,0,0,0,255,0.3125,0.33333334,0.4655371,-1.1239052,-0.125,1,0,0,0,255,0.3125,0.41666666,0.62499994,-1.0825318,0,1,0,0,0,255,0.33333334,0.5,0.6082531,-1.0535254,0.125,1,0,0,0,255,0.33333334,0.5833333,0.49999997,-0.86602545,0.25,1,0,0,0,255,0.33333334,0.75,0.43749997,-0.75777227,0.21650635,1,0,0,0,255,0.33333334,0.8333333,0.3917468,-0.67852545,0.125,1,0,0,0,255,0.33333334,0.9166667,0.28701276,-0.6929096,0.00000000000000003061617,1,0,0,0,255,0.3125,1,0.37499997,-0.6495191,0.00000000000000003061617,1,0,0,0,255,0.33333334,0.0000000000000002220446,0.3917468,-0.67852545,-0.125,1,0,0,0,255,0.33333334,0.083333336,0.43749997,-0.75777227,-0.21650635,1,0,0,0,255,0.33333334,0.16666667,0.38268366,-0.92387944,-0.25,1,0,0,0,255,0.3125,0.25,0.49999997,-0.86602545,-0.25,1,0,0,0,255,0.33333334,0.25,0.56249994,-0.9742786,-0.21650635,1,0,0,0,255,0.33333334,0.33333334,0.74056184,-0.9651196,0.125,1,0,0,0,255,0.35416666,0.5833333,0.56249994,-0.9742786,0.21650635,1,0,0,0,255,0.33333334,0.6666667,0.68485636,-0.8925227,0.21650635,1,0,0,0,255,0.35416666,0.6666667,0.6087612,-0.7933535,0.25,1,0,0,0,255,0.35416666,0.75,0.532666,-0.6941843,0.21650635,1,0,0,0,255,0.35416666,0.8333333,0.4769605,-0.6215874,0.125,1,0,0,0,255,0.35416666,0.9166667,0.37499997,-0.6495191,0.00000000000000003061617,1,0,0,0,255,0.33333334,1,0.4565709,-0.5950151,0.00000000000000003061617,1,0,0,0,255,0.35416666,0.0000000000000002220446,0.4769605,-0.6215874,-0.125,1,0,0,0,255,0.35416666,0.083333336,0.532666,-0.6941843,-0.21650635,1,0,0,0,255,0.35416666,0.16666667,0.6087612,-0.7933535,-0.25,1,0,0,0,255,0.35416666,0.25,0.74056184,-0.9651196,-0.125,1,0,0,0,255,0.35416666,0.41666666,0.6082531,-1.0535254,-0.125,1,0,0,0,255,0.33333334,0.41666666,0.7609515,-0.9916919,0,1,0,0,0,255,0.35416666,0.5,0.86019945,-0.8602004,0.125,1,0,0,0,255,0.375,0.5833333,0.7071064,-0.7071072,0.25,1,0,0,0,255,0.375,0.75,0.6187181,-0.6187188,0.21650635,1,0,0,0,255,0.375,0.8333333,0.5540134,-0.55401397,0.125,1,0,0,0,255,0.375,0.9166667,0.4565709,-0.5950151,0.00000000000000003061617,1,0,0,0,255,0.35416666,1,0.5303298,-0.5303304,0.00000000000000003061617,1,0,0,0,255,0.375,0.0000000000000002220446,0.5540134,-0.55401397,-0.125,1,0,0,0,255,0.375,0.083333336,0.6187181,-0.6187188,-0.21650635,1,0,0,0,255,0.375,0.16666667,0.7071064,-0.7071072,-0.25,1,0,0,0,255,0.375,0.25,0.68485636,-0.8925227,-0.21650635,1,0,0,0,255,0.35416666,0.33333334,0.86019945,-0.8602004,-0.125,1,0,0,0,255,0.375,0.41666666,0.883883,-0.88388395,0,1,0,0,0,255,0.375,0.5,0.9651195,-0.740562,0.125,1,0,0,0,255,0.39583334,0.5833333,0.79549474,-0.79549557,0.21650635,1,0,0,0,255,0.375,0.6666667,0.79335344,-0.6087613,0.25,1,0,0,0,255,0.39583334,0.75,0.69418424,-0.53266615,0.21650635,1,0,0,0,255,0.39583334,0.8333333,0.6215874,-0.4769606,0.125,1,0,0,0,255,0.39583334,0.9166667,0.5303298,-0.5303304,0.00000000000000003061617,1,0,0,0,255,0.375,1,0.59501505,-0.45657098,0.00000000000000003061617,1,0,0,0,255,0.39583334,0.0000000000000002220446,0.69418424,-0.53266615,-0.21650635,1,0,0,0,255,0.39583334,0.16666667,0.79335344,-0.6087613,-0.25,1,0,0,0,255,0.39583334,0.25,0.79549474,-0.79549557,-0.21650635,1,0,0,0,255,0.375,0.33333334,0.89252263,-0.6848565,-0.21650635,1,0,0,0,255,0.39583334,0.33333334,0.9651195,-0.740562,-0.125,1,0,0,0,255,0.39583334,0.41666666,1.0825317,-0.6250001,0,1,0,0,0,255,0.41666666,0.5,0.9916918,-0.76095164,0,1,0,0,0,255,0.39583334,0.5,1.0535253,-0.6082533,0.125,1,0,0,0,255,0.41666666,0.5833333,0.89252263,-0.6848565,0.21650635,1,0,0,0,255,0.39583334,0.6666667,0.9742785,-0.5625001,0.21650635,1,0,0,0,255,0.41666666,0.6666667,0.8660253,-0.5000001,0.25,1,0,0,0,255,0.41666666,0.75,0.75777215,-0.43750012,0.21650635,1,0,0,0,255,0.41666666,0.8333333,0.6785253,-0.3917469,0.125,1,0,0,0,255,0.41666666,0.9166667,0.59501505,-0.45657098,0.00000000000000003061617,1,0,0,0,255,0.39583334,1,0.64951897,-0.3750001,0.00000000000000003061617,1,0,0,0,255,0.41666666,0.0000000000000002220446,0.6215874,-0.4769606,-0.125,1,0,0,0,255,0.39583334,0.083333336,0.75777215,-0.43750012,-0.21650635,1,0,0,0,255,0.41666666,0.16666667,0.8660253,-0.5000001,-0.25,1,0,0,0,255,0.41666666,0.25,1.0535253,-0.6082533,-0.125,1,0,0,0,255,0.41666666,0.41666666,1.1548493,-0.47835475,0,1,0,0,0,255,0.4375,0.5,1.1239052,-0.46553728,0.125,1,0,0,0,255,0.4375,0.5833333,0.9238794,-0.3826838,0.25,1,0,0,0,255,0.4375,0.75,0.80839443,-0.33484834,0.21650635,1,0,0,0,255,0.4375,0.8333333,0.72385365,-0.29983035,0.125,1,0,0,0,255,0.4375,0.9166667,0.64951897,-0.3750001,0.00000000000000003061617,1,0,0,0,255,0.41666666,1,0.69290954,-0.28701288,0.00000000000000003061617,1,0,0,0,255,0.4375,0.0000000000000002220446,0.6785253,-0.3917469,-0.125,1,0,0,0,255,0.41666666,0.083333336,0.72385365,-0.29983035,-0.125,1,0,0,0,255,0.4375,0.083333336,0.80839443,-0.33484834,-0.21650635,1,0,0,0,255,0.4375,0.16666667,0.9238794,-0.3826838,-0.25,1,0,0,0,255,0.4375,0.25,0.9742785,-0.5625001,-0.21650635,1,0,0,0,255,0.41666666,0.33333334,1.0393643,-0.43051928,-0.21650635,1,0,0,0,255,0.4375,0.33333334,1.1239052,-0.46553728,-0.125,1,0,0,0,255,0.4375,0.41666666,1.2074074,-0.32352346,0,1,0,0,0,255,0.45833334,0.5,1.175055,-0.31485468,0.125,1,0,0,0,255,0.45833334,0.5833333,1.0393643,-0.43051928,0.21650635,1,0,0,0,255,0.4375,0.6666667,1.0866666,-0.29117113,0.21650635,1,0,0,0,255,0.45833334,0.6666667,0.9659259,-0.25881878,0.25,1,0,0,0,255,0.45833334,0.75,0.84518516,-0.22646643,0.21650635,1,0,0,0,255,0.45833334,0.8333333,0.7567968,-0.20278287,0.125,1,0,0,0,255,0.45833334,0.9166667,0.69290954,-0.28701288,0.00000000000000003061617,1,0,0,0,255,0.4375,1,0.7244444,-0.19411409,0.00000000000000003061617,1,0,0,0,255,0.45833334,0.0000000000000002220446,0.84518516,-0.22646643,-0.21650635,1,0,0,0,255,0.45833334,0.16666667,0.9659259,-0.25881878,-0.25,1,0,0,0,255,0.45833334,0.25,1.0866666,-0.29117113,-0.21650635,1,0,0,0,255,0.45833334,0.33333334,1.175055,-0.31485468,-0.125,1,0,0,0,255,0.45833334,0.41666666,1.206099,-0.15878591,0.125,1,0,0,0,255,0.47916666,0.5833333,1.1153755,-0.14684194,0.21650635,1,0,0,0,255,0.47916666,0.6666667,0.9914449,-0.13052617,0.25,1,0,0,0,255,0.47916666,0.75,0.86751425,-0.1142104,0.21650635,1,0,0,0,255,0.47916666,0.8333333,0.7435837,-0.097894624,0.00000000000000003061617,1,0,0,0,255,0.47916666,1,0.7244444,-0.19411409,0.00000000000000003061617,1,0,0,0,255,0.45833334,1,0.7435837,-0.097894624,0.00000000000000003061617,1,0,0,0,255,0.47916666,0.0000000000000002220446,0.7567968,-0.20278287,-0.125,1,0,0,0,255,0.45833334,0.083333336,0.77679074,-0.10226642,-0.125,1,0,0,0,255,0.47916666,0.083333336,0.9914449,-0.13052617,-0.25,1,0,0,0,255,0.47916666,0.25,1.1153755,-0.14684194,-0.21650635,1,0,0,0,255,0.47916666,0.33333334,1.206099,-0.15878591,-0.125,1,0,0,0,255,0.47916666,0.41666666,1.2393061,-0.16315772,0,1,0,0,0,255,0.47916666,0.5,0.77679074,-0.10226642,0.125,1,0,0,0,255,0.47916666,0.9166667,0.86751425,-0.1142104,-0.21650635,1,0,0,0,255,0.47916666,0.16666667,-1.25,0.000000109278474,0,1,0,0,0,255,1,0.5,-0.75,0.00000006556708,0.00000000000000003061617,1,0,0,0,255,1,1,-0.78349364,0.00000006849519,-0.125,1,0,0,0,255,1,0.083333336]),x=new q({mesh:N,positionSize:4,colorSize:4,uvSize:2,vertexCount:637,stride:10,name:"src/meshes/torus.ply"});class D{k;static VERTEX=35633;static FRAGMENT=35632;constructor(k={}){this.config=k}vertexCode="";fragmentCode="";_app;_program=null;get gl(){const k=this._app?.gl;if(!k)throw new Error("GL context not defined at shader compile time.");return k}app(k){return this._app=k,this._program=k.gl.createProgram(),this}vertex(k){return this.vertexCode=k,this}fragment(k){return this.fragmentCode=k,this}attrib(k){return this.gl.getAttribLocation(this._program,k)}uniform(k){return this.gl.getUniformLocation(this._program,k)}attach(k,z){const A=this.gl,C=A.createShader(k);if(!C)throw new Error(`failed to init ${O(k)} shader`);A.shaderSource(C,z),A.compileShader(C),A.attachShader(this._program,C)}compile(){const k=this.gl;this.attach(k.FRAGMENT_SHADER,this.fragmentCode),this.attach(k.VERTEX_SHADER,this.vertexCode),this.link()}link(){if(this.gl.linkProgram(this._program),!this.gl.getProgramParameter(this._program,this.gl.LINK_STATUS))throw new Error("Unable to initialize the shader program: "+this.gl.getProgramInfoLog(this._program))}bindAttrib(k,z){this.gl.bindAttribLocation(this._program,k,z)}setupUniforms(k,z,A,C){const{gl:G}=this._app;if(G.useProgram(this._program),G.uniformMatrix4fv(this.uniform("uProjectionMatrix"),!1,z),this.config.time)G.uniform1f(this.uniform("uTime"),k);const P=F.clone(A.toMat4());F.fromQuat(P,C.rotation),F.translate(P,P,C.position),G.uniformMatrix4fv(this.uniform("uModelViewMatrix"),!1,P)}use(){this._app?.gl.useProgram(this._program)}}var O=(k)=>{switch(k){case D.FRAGMENT:return"fragment";case D.VERTEX:return"vertex";default:return"some unknown type of"}}; +export{_ as a,I as b,J as c,K as d,x as e,D as f}; diff --git a/html/chunk-34454e0a94287d20.js b/html/chunk-e60581a63af9c45c.js similarity index 99% rename from html/chunk-34454e0a94287d20.js rename to html/chunk-e60581a63af9c45c.js index 88a9a0a..f3e1aed 100644 --- a/html/chunk-34454e0a94287d20.js +++ b/html/chunk-e60581a63af9c45c.js @@ -1,2 +1,2 @@ var v0=Object.defineProperty;var z=(M,C)=>{for(var h in C)v0(M,h,{get:C[h],enumerable:!0,configurable:!0,set:(V)=>C[h]=()=>V})};var _0={};z(_0,{str:()=>{{return qM}},squaredLength:()=>{{return T0}},sqrLen:()=>{{return zM}},sqlerp:()=>{{return eM}},slerp:()=>{{return c}},setAxisAngle:()=>{{return A0}},setAxes:()=>{{return mM}},set:()=>{{return wM}},scale:()=>{{return F0}},rotationTo:()=>{{return xM}},rotateZ:()=>{{return TM}},rotateY:()=>{{return kM}},rotateX:()=>{{return RM}},random:()=>{{return jM}},pow:()=>{{return SM}},normalize:()=>{{return m}},multiply:()=>{{return H0}},mul:()=>{{return lM}},ln:()=>{{return U0}},lerp:()=>{{return rM}},length:()=>{{return k0}},len:()=>{{return cM}},invert:()=>{{return gM}},identity:()=>{{return UM}},getAxisAngle:()=>{{return DM}},getAngle:()=>{{return FM}},fromValues:()=>{{return fM}},fromMat3:()=>{{return D0}},fromEuler:()=>{{return nM}},exp:()=>{{return J0}},exactEquals:()=>{{return sM}},equals:()=>{{return yM}},dot:()=>{{return R0}},create:()=>{{return e}},copy:()=>{{return vM}},conjugate:()=>{{return pM}},clone:()=>{{return iM}},calculateW:()=>{{return _M}},add:()=>{{return dM}}});var U=0.000001,R=typeof Float32Array!=="undefined"?Float32Array:Array,q=Math.random,rC=Math.PI/180;if(!Math.hypot)Math.hypot=function(){var M=0,C=arguments.length;while(C--)M+=arguments[C]*arguments[C];return Math.sqrt(M)};function t(){var M=new R(9);if(R!=Float32Array)M[1]=0,M[2]=0,M[3]=0,M[5]=0,M[6]=0,M[7]=0;return M[0]=1,M[4]=1,M[8]=1,M}var x={};z(x,{zero:()=>{{return YM}},transformQuat:()=>{{return QM}},transformMat4:()=>{{return hM}},transformMat3:()=>{{return VM}},subtract:()=>{{return M0}},sub:()=>{{return PM}},str:()=>{{return ZM}},squaredLength:()=>{{return I0}},squaredDistance:()=>{{return Q0}},sqrLen:()=>{{return LM}},sqrDist:()=>{{return EM}},set:()=>{{return r0}},scaleAndAdd:()=>{{return b0}},scale:()=>{{return m0}},round:()=>{{return e0}},rotateZ:()=>{{return BM}},rotateY:()=>{{return NM}},rotateX:()=>{{return IM}},random:()=>{{return CM}},normalize:()=>{{return s}},negate:()=>{{return u0}},multiply:()=>{{return C0}},mul:()=>{{return WM}},min:()=>{{return y0}},max:()=>{{return x0}},lerp:()=>{{return t0}},length:()=>{{return a}},len:()=>{{return y}},inverse:()=>{{return o0}},hermite:()=>{{return a0}},fromValues:()=>{{return l}},forEach:()=>{{return AM}},floor:()=>{{return s0}},exactEquals:()=>{{return KM}},equals:()=>{{return OM}},dot:()=>{{return r}},divide:()=>{{return h0}},div:()=>{{return $M}},distance:()=>{{return V0}},dist:()=>{{return GM}},cross:()=>{{return w}},create:()=>{{return d}},copy:()=>{{return l0}},clone:()=>{{return d0}},ceil:()=>{{return z0}},bezier:()=>{{return MM}},angle:()=>{{return XM}},add:()=>{{return c0}}});function d(){var M=new R(3);if(R!=Float32Array)M[0]=0,M[1]=0,M[2]=0;return M}function d0(M){var C=new R(3);return C[0]=M[0],C[1]=M[1],C[2]=M[2],C}function a(M){var C=M[0],h=M[1],V=M[2];return Math.hypot(C,h,V)}function l(M,C,h){var V=new R(3);return V[0]=M,V[1]=C,V[2]=h,V}function l0(M,C){return M[0]=C[0],M[1]=C[1],M[2]=C[2],M}function r0(M,C,h,V){return M[0]=C,M[1]=h,M[2]=V,M}function c0(M,C,h){return M[0]=C[0]+h[0],M[1]=C[1]+h[1],M[2]=C[2]+h[2],M}function M0(M,C,h){return M[0]=C[0]-h[0],M[1]=C[1]-h[1],M[2]=C[2]-h[2],M}function C0(M,C,h){return M[0]=C[0]*h[0],M[1]=C[1]*h[1],M[2]=C[2]*h[2],M}function h0(M,C,h){return M[0]=C[0]/h[0],M[1]=C[1]/h[1],M[2]=C[2]/h[2],M}function z0(M,C){return M[0]=Math.ceil(C[0]),M[1]=Math.ceil(C[1]),M[2]=Math.ceil(C[2]),M}function s0(M,C){return M[0]=Math.floor(C[0]),M[1]=Math.floor(C[1]),M[2]=Math.floor(C[2]),M}function y0(M,C,h){return M[0]=Math.min(C[0],h[0]),M[1]=Math.min(C[1],h[1]),M[2]=Math.min(C[2],h[2]),M}function x0(M,C,h){return M[0]=Math.max(C[0],h[0]),M[1]=Math.max(C[1],h[1]),M[2]=Math.max(C[2],h[2]),M}function e0(M,C){return M[0]=Math.round(C[0]),M[1]=Math.round(C[1]),M[2]=Math.round(C[2]),M}function m0(M,C,h){return M[0]=C[0]*h,M[1]=C[1]*h,M[2]=C[2]*h,M}function b0(M,C,h,V){return M[0]=C[0]+h[0]*V,M[1]=C[1]+h[1]*V,M[2]=C[2]+h[2]*V,M}function V0(M,C){var h=C[0]-M[0],V=C[1]-M[1],Q=C[2]-M[2];return Math.hypot(h,V,Q)}function Q0(M,C){var h=C[0]-M[0],V=C[1]-M[1],Q=C[2]-M[2];return h*h+V*V+Q*Q}function I0(M){var C=M[0],h=M[1],V=M[2];return C*C+h*h+V*V}function u0(M,C){return M[0]=-C[0],M[1]=-C[1],M[2]=-C[2],M}function o0(M,C){return M[0]=1/C[0],M[1]=1/C[1],M[2]=1/C[2],M}function s(M,C){var h=C[0],V=C[1],Q=C[2],I=h*h+V*V+Q*Q;if(I>0)I=1/Math.sqrt(I);return M[0]=C[0]*I,M[1]=C[1]*I,M[2]=C[2]*I,M}function r(M,C){return M[0]*C[0]+M[1]*C[1]+M[2]*C[2]}function w(M,C,h){var V=C[0],Q=C[1],I=C[2],N=h[0],B=h[1],X=h[2];return M[0]=Q*X-I*B,M[1]=I*N-V*X,M[2]=V*B-Q*N,M}function t0(M,C,h,V){var Q=C[0],I=C[1],N=C[2];return M[0]=Q+V*(h[0]-Q),M[1]=I+V*(h[1]-I),M[2]=N+V*(h[2]-N),M}function a0(M,C,h,V,Q,I){var N=I*I,B=N*(2*I-3)+1,X=N*(I-2)+I,Y=N*(I-1),Z=N*(3-2*I);return M[0]=C[0]*B+h[0]*X+V[0]*Y+Q[0]*Z,M[1]=C[1]*B+h[1]*X+V[1]*Y+Q[1]*Z,M[2]=C[2]*B+h[2]*X+V[2]*Y+Q[2]*Z,M}function MM(M,C,h,V,Q,I){var N=1-I,B=N*N,X=I*I,Y=B*N,Z=3*I*B,O=3*X*N,W=X*I;return M[0]=C[0]*Y+h[0]*Z+V[0]*O+Q[0]*W,M[1]=C[1]*Y+h[1]*Z+V[1]*O+Q[1]*W,M[2]=C[2]*Y+h[2]*Z+V[2]*O+Q[2]*W,M}function CM(M,C){C=C||1;var h=q()*2*Math.PI,V=q()*2-1,Q=Math.sqrt(1-V*V)*C;return M[0]=Math.cos(h)*Q,M[1]=Math.sin(h)*Q,M[2]=V*C,M}function hM(M,C,h){var V=C[0],Q=C[1],I=C[2],N=h[3]*V+h[7]*Q+h[11]*I+h[15];return N=N||1,M[0]=(h[0]*V+h[4]*Q+h[8]*I+h[12])/N,M[1]=(h[1]*V+h[5]*Q+h[9]*I+h[13])/N,M[2]=(h[2]*V+h[6]*Q+h[10]*I+h[14])/N,M}function VM(M,C,h){var V=C[0],Q=C[1],I=C[2];return M[0]=V*h[0]+Q*h[3]+I*h[6],M[1]=V*h[1]+Q*h[4]+I*h[7],M[2]=V*h[2]+Q*h[5]+I*h[8],M}function QM(M,C,h){var V=h[0],Q=h[1],I=h[2],N=h[3],B=C[0],X=C[1],Y=C[2],Z=Q*Y-I*X,O=I*B-V*Y,W=V*X-Q*B,P=Q*W-I*O,G=I*Z-V*W,$=V*O-Q*Z,K=N*2;return Z*=K,O*=K,W*=K,P*=2,G*=2,$*=2,M[0]=B+Z+P,M[1]=X+O+G,M[2]=Y+W+$,M}function IM(M,C,h,V){var Q=[],I=[];return Q[0]=C[0]-h[0],Q[1]=C[1]-h[1],Q[2]=C[2]-h[2],I[0]=Q[0],I[1]=Q[1]*Math.cos(V)-Q[2]*Math.sin(V),I[2]=Q[1]*Math.sin(V)+Q[2]*Math.cos(V),M[0]=I[0]+h[0],M[1]=I[1]+h[1],M[2]=I[2]+h[2],M}function NM(M,C,h,V){var Q=[],I=[];return Q[0]=C[0]-h[0],Q[1]=C[1]-h[1],Q[2]=C[2]-h[2],I[0]=Q[2]*Math.sin(V)+Q[0]*Math.cos(V),I[1]=Q[1],I[2]=Q[2]*Math.cos(V)-Q[0]*Math.sin(V),M[0]=I[0]+h[0],M[1]=I[1]+h[1],M[2]=I[2]+h[2],M}function BM(M,C,h,V){var Q=[],I=[];return Q[0]=C[0]-h[0],Q[1]=C[1]-h[1],Q[2]=C[2]-h[2],I[0]=Q[0]*Math.cos(V)-Q[1]*Math.sin(V),I[1]=Q[0]*Math.sin(V)+Q[1]*Math.cos(V),I[2]=Q[2],M[0]=I[0]+h[0],M[1]=I[1]+h[1],M[2]=I[2]+h[2],M}function XM(M,C){var h=M[0],V=M[1],Q=M[2],I=C[0],N=C[1],B=C[2],X=Math.sqrt(h*h+V*V+Q*Q),Y=Math.sqrt(I*I+N*N+B*B),Z=X*Y,O=Z&&r(M,C)/Z;return Math.acos(Math.min(Math.max(O,-1),1))}function YM(M){return M[0]=0,M[1]=0,M[2]=0,M}function ZM(M){return"vec3("+M[0]+", "+M[1]+", "+M[2]+")"}function KM(M,C){return M[0]===C[0]&&M[1]===C[1]&&M[2]===C[2]}function OM(M,C){var h=M[0],V=M[1],Q=M[2],I=C[0],N=C[1],B=C[2];return Math.abs(h-I)<=U*Math.max(1,Math.abs(h),Math.abs(I))&&Math.abs(V-N)<=U*Math.max(1,Math.abs(V),Math.abs(N))&&Math.abs(Q-B)<=U*Math.max(1,Math.abs(Q),Math.abs(B))}var PM=M0,WM=C0,$M=h0,GM=V0,EM=Q0,y=a,LM=I0,AM=function(){var M=d();return function(C,h,V,Q,I,N){var B,X;if(!h)h=3;if(!V)V=0;if(Q)X=Math.min(Q*h+V,C.length);else X=C.length;for(B=V;B0)N=1/Math.sqrt(N);return M[0]=h*N,M[1]=V*N,M[2]=Q*N,M[3]=I*N,M}function $0(M,C){return M[0]*C[0]+M[1]*C[1]+M[2]*C[2]+M[3]*C[3]}function G0(M,C,h,V){var Q=C[0],I=C[1],N=C[2],B=C[3];return M[0]=Q+V*(h[0]-Q),M[1]=I+V*(h[1]-I),M[2]=N+V*(h[2]-N),M[3]=B+V*(h[3]-B),M}function E0(M,C){return M[0]===C[0]&&M[1]===C[1]&&M[2]===C[2]&&M[3]===C[3]}function L0(M,C){var h=M[0],V=M[1],Q=M[2],I=M[3],N=C[0],B=C[1],X=C[2],Y=C[3];return Math.abs(h-N)<=U*Math.max(1,Math.abs(h),Math.abs(N))&&Math.abs(V-B)<=U*Math.max(1,Math.abs(V),Math.abs(B))&&Math.abs(Q-X)<=U*Math.max(1,Math.abs(Q),Math.abs(X))&&Math.abs(I-Y)<=U*Math.max(1,Math.abs(I),Math.abs(Y))}var cC=function(){var M=HM();return function(C,h,V,Q,I,N){var B,X;if(!h)h=4;if(!V)V=0;if(Q)X=Math.min(Q*h+V,C.length);else X=C.length;for(B=V;BU)M[0]=C[0]/V,M[1]=C[1]/V,M[2]=C[2]/V;else M[0]=1,M[1]=0,M[2]=0;return h}function FM(M,C){var h=R0(M,C);return Math.acos(2*h*h-1)}function H0(M,C,h){var V=C[0],Q=C[1],I=C[2],N=C[3],B=h[0],X=h[1],Y=h[2],Z=h[3];return M[0]=V*Z+N*B+Q*Y-I*X,M[1]=Q*Z+N*X+I*B-V*Y,M[2]=I*Z+N*Y+V*X-Q*B,M[3]=N*Z-V*B-Q*X-I*Y,M}function RM(M,C,h){h*=0.5;var V=C[0],Q=C[1],I=C[2],N=C[3],B=Math.sin(h),X=Math.cos(h);return M[0]=V*X+N*B,M[1]=Q*X+I*B,M[2]=I*X-Q*B,M[3]=N*X-V*B,M}function kM(M,C,h){h*=0.5;var V=C[0],Q=C[1],I=C[2],N=C[3],B=Math.sin(h),X=Math.cos(h);return M[0]=V*X-I*B,M[1]=Q*X+N*B,M[2]=I*X+V*B,M[3]=N*X-Q*B,M}function TM(M,C,h){h*=0.5;var V=C[0],Q=C[1],I=C[2],N=C[3],B=Math.sin(h),X=Math.cos(h);return M[0]=V*X+Q*B,M[1]=Q*X-V*B,M[2]=I*X+N*B,M[3]=N*X-I*B,M}function _M(M,C){var h=C[0],V=C[1],Q=C[2];return M[0]=h,M[1]=V,M[2]=Q,M[3]=Math.sqrt(Math.abs(1-h*h-V*V-Q*Q)),M}function J0(M,C){var h=C[0],V=C[1],Q=C[2],I=C[3],N=Math.sqrt(h*h+V*V+Q*Q),B=Math.exp(I),X=N>0?B*Math.sin(N)/N:0;return M[0]=h*X,M[1]=V*X,M[2]=Q*X,M[3]=B*Math.cos(N),M}function U0(M,C){var h=C[0],V=C[1],Q=C[2],I=C[3],N=Math.sqrt(h*h+V*V+Q*Q),B=N>0?Math.atan2(N,I)/N:0;return M[0]=h*B,M[1]=V*B,M[2]=Q*B,M[3]=0.5*Math.log(h*h+V*V+Q*Q+I*I),M}function SM(M,C,h){return U0(M,C),F0(M,M,h),J0(M,M),M}function c(M,C,h,V){var Q=C[0],I=C[1],N=C[2],B=C[3],X=h[0],Y=h[1],Z=h[2],O=h[3],W,P,G,$,K;if(P=Q*X+I*Y+N*Z+B*O,P<0)P=-P,X=-X,Y=-Y,Z=-Z,O=-O;if(1-P>U)W=Math.acos(P),G=Math.sin(W),$=Math.sin((1-V)*W)/G,K=Math.sin(V*W)/G;else $=1-V,K=V;return M[0]=$*Q+K*X,M[1]=$*I+K*Y,M[2]=$*N+K*Z,M[3]=$*B+K*O,M}function jM(M){var C=q(),h=q(),V=q(),Q=Math.sqrt(1-C),I=Math.sqrt(C);return M[0]=Q*Math.sin(2*Math.PI*h),M[1]=Q*Math.cos(2*Math.PI*h),M[2]=I*Math.sin(2*Math.PI*V),M[3]=I*Math.cos(2*Math.PI*V),M}function gM(M,C){var h=C[0],V=C[1],Q=C[2],I=C[3],N=h*h+V*V+Q*Q+I*I,B=N?1/N:0;return M[0]=-h*B,M[1]=-V*B,M[2]=-Q*B,M[3]=I*B,M}function pM(M,C){return M[0]=-C[0],M[1]=-C[1],M[2]=-C[2],M[3]=C[3],M}function D0(M,C){var h=C[0]+C[4]+C[8],V;if(h>0)V=Math.sqrt(h+1),M[3]=0.5*V,V=0.5/V,M[0]=(C[5]-C[7])*V,M[1]=(C[6]-C[2])*V,M[2]=(C[1]-C[3])*V;else{var Q=0;if(C[4]>C[0])Q=1;if(C[8]>C[Q*3+Q])Q=2;var I=(Q+1)%3,N=(Q+2)%3;V=Math.sqrt(C[Q*3+Q]-C[I*3+I]-C[N*3+N]+1),M[Q]=0.5*V,V=0.5/V,M[3]=(C[I*3+N]-C[N*3+I])*V,M[I]=(C[I*3+Q]+C[Q*3+I])*V,M[N]=(C[N*3+Q]+C[Q*3+N])*V}return M}function nM(M,C,h,V){var Q=0.5*Math.PI/180;C*=Q,h*=Q,V*=Q;var I=Math.sin(C),N=Math.cos(C),B=Math.sin(h),X=Math.cos(h),Y=Math.sin(V),Z=Math.cos(V);return M[0]=I*X*Z-N*B*Y,M[1]=N*B*Z+I*X*Y,M[2]=N*X*Y-I*B*Z,M[3]=N*X*Z+I*B*Y,M}function qM(M){return"quat("+M[0]+", "+M[1]+", "+M[2]+", "+M[3]+")"}var iM=N0,fM=B0,vM=X0,wM=Y0,dM=Z0,lM=H0,F0=K0,R0=$0,rM=G0,k0=O0,cM=k0,T0=P0,zM=T0,m=W0,sM=E0,yM=L0,xM=function(){var M=d(),C=l(1,0,0),h=l(0,1,0);return function(V,Q,I){var N=r(Q,I);if(N<-0.999999){if(w(M,C,Q),y(M)<0.000001)w(M,h,Q);return s(M,M),A0(V,M,Math.PI),V}else if(N>0.999999)return V[0]=0,V[1]=0,V[2]=0,V[3]=1,V;else return w(M,Q,I),V[0]=M[0],V[1]=M[1],V[2]=M[2],V[3]=1+N,m(V,V)}}(),eM=function(){var M=e(),C=e();return function(h,V,Q,I,N,B){return c(M,V,N,B),c(C,Q,I,B),c(h,M,C,2*B*(1-B)),h}}(),mM=function(){var M=t();return function(C,h,V,Q){return M[0]=V[0],M[3]=V[1],M[6]=V[2],M[1]=Q[0],M[4]=Q[1],M[7]=Q[2],M[2]=-h[0],M[5]=-h[1],M[8]=-h[2],m(C,D0(C,M))}}();var f0={};z(f0,{transpose:()=>{{return MC}},translate:()=>{{return QC}},targetTo:()=>{{return SC}},subtract:()=>{{return i0}},sub:()=>{{return wC}},str:()=>{{return jC}},set:()=>{{return aM}},scale:()=>{{return IC}},rotateZ:()=>{{return YC}},rotateY:()=>{{return XC}},rotateX:()=>{{return BC}},rotate:()=>{{return NC}},perspectiveZO:()=>{{return FC}},perspectiveNO:()=>{{return n0}},perspectiveFromFieldOfView:()=>{{return RC}},perspective:()=>{{return DC}},orthoZO:()=>{{return TC}},orthoNO:()=>{{return q0}},ortho:()=>{{return kC}},multiplyScalarAndAdd:()=>{{return qC}},multiplyScalar:()=>{{return nC}},multiply:()=>{{return j0}},mul:()=>{{return vC}},lookAt:()=>{{return _C}},invert:()=>{{return CC}},identity:()=>{{return S0}},getTranslation:()=>{{return EC}},getScaling:()=>{{return p0}},getRotation:()=>{{return LC}},frustum:()=>{{return UC}},fromZRotation:()=>{{return $C}},fromYRotation:()=>{{return WC}},fromXRotation:()=>{{return PC}},fromValues:()=>{{return tM}},fromTranslation:()=>{{return ZC}},fromScaling:()=>{{return KC}},fromRotationTranslationScaleOrigin:()=>{{return HC}},fromRotationTranslationScale:()=>{{return AC}},fromRotationTranslation:()=>{{return g0}},fromRotation:()=>{{return OC}},fromQuat2:()=>{{return GC}},fromQuat:()=>{{return JC}},frob:()=>{{return gC}},exactEquals:()=>{{return iC}},equals:()=>{{return fC}},determinant:()=>{{return VC}},create:()=>{{return bM}},copy:()=>{{return oM}},clone:()=>{{return uM}},adjoint:()=>{{return hC}},add:()=>{{return pC}}});function bM(){var M=new R(16);if(R!=Float32Array)M[1]=0,M[2]=0,M[3]=0,M[4]=0,M[6]=0,M[7]=0,M[8]=0,M[9]=0,M[11]=0,M[12]=0,M[13]=0,M[14]=0;return M[0]=1,M[5]=1,M[10]=1,M[15]=1,M}function uM(M){var C=new R(16);return C[0]=M[0],C[1]=M[1],C[2]=M[2],C[3]=M[3],C[4]=M[4],C[5]=M[5],C[6]=M[6],C[7]=M[7],C[8]=M[8],C[9]=M[9],C[10]=M[10],C[11]=M[11],C[12]=M[12],C[13]=M[13],C[14]=M[14],C[15]=M[15],C}function oM(M,C){return M[0]=C[0],M[1]=C[1],M[2]=C[2],M[3]=C[3],M[4]=C[4],M[5]=C[5],M[6]=C[6],M[7]=C[7],M[8]=C[8],M[9]=C[9],M[10]=C[10],M[11]=C[11],M[12]=C[12],M[13]=C[13],M[14]=C[14],M[15]=C[15],M}function tM(M,C,h,V,Q,I,N,B,X,Y,Z,O,W,P,G,$){var K=new R(16);return K[0]=M,K[1]=C,K[2]=h,K[3]=V,K[4]=Q,K[5]=I,K[6]=N,K[7]=B,K[8]=X,K[9]=Y,K[10]=Z,K[11]=O,K[12]=W,K[13]=P,K[14]=G,K[15]=$,K}function aM(M,C,h,V,Q,I,N,B,X,Y,Z,O,W,P,G,$,K){return M[0]=C,M[1]=h,M[2]=V,M[3]=Q,M[4]=I,M[5]=N,M[6]=B,M[7]=X,M[8]=Y,M[9]=Z,M[10]=O,M[11]=W,M[12]=P,M[13]=G,M[14]=$,M[15]=K,M}function S0(M){return M[0]=1,M[1]=0,M[2]=0,M[3]=0,M[4]=0,M[5]=1,M[6]=0,M[7]=0,M[8]=0,M[9]=0,M[10]=1,M[11]=0,M[12]=0,M[13]=0,M[14]=0,M[15]=1,M}function MC(M,C){if(M===C){var h=C[1],V=C[2],Q=C[3],I=C[6],N=C[7],B=C[11];M[1]=C[4],M[2]=C[8],M[3]=C[12],M[4]=h,M[6]=C[9],M[7]=C[13],M[8]=V,M[9]=I,M[11]=C[14],M[12]=Q,M[13]=N,M[14]=B}else M[0]=C[0],M[1]=C[4],M[2]=C[8],M[3]=C[12],M[4]=C[1],M[5]=C[5],M[6]=C[9],M[7]=C[13],M[8]=C[2],M[9]=C[6],M[10]=C[10],M[11]=C[14],M[12]=C[3],M[13]=C[7],M[14]=C[11],M[15]=C[15];return M}function CC(M,C){var h=C[0],V=C[1],Q=C[2],I=C[3],N=C[4],B=C[5],X=C[6],Y=C[7],Z=C[8],O=C[9],W=C[10],P=C[11],G=C[12],$=C[13],K=C[14],E=C[15],D=h*B-V*N,J=h*X-Q*N,H=h*Y-I*N,L=V*X-Q*B,A=V*Y-I*B,S=Q*Y-I*X,k=Z*$-O*G,T=Z*K-W*G,_=Z*E-P*G,j=O*K-W*$,g=O*E-P*$,p=W*E-P*K,F=D*p-J*g+H*j+L*_-A*T+S*k;if(!F)return null;return F=1/F,M[0]=(B*p-X*g+Y*j)*F,M[1]=(Q*g-V*p-I*j)*F,M[2]=($*S-K*A+E*L)*F,M[3]=(W*A-O*S-P*L)*F,M[4]=(X*_-N*p-Y*T)*F,M[5]=(h*p-Q*_+I*T)*F,M[6]=(K*H-G*S-E*J)*F,M[7]=(Z*S-W*H+P*J)*F,M[8]=(N*g-B*_+Y*k)*F,M[9]=(V*_-h*g-I*k)*F,M[10]=(G*A-$*H+E*D)*F,M[11]=(O*H-Z*A-P*D)*F,M[12]=(B*T-N*j-X*k)*F,M[13]=(h*j-V*T+Q*k)*F,M[14]=($*J-G*L-K*D)*F,M[15]=(Z*L-O*J+W*D)*F,M}function hC(M,C){var h=C[0],V=C[1],Q=C[2],I=C[3],N=C[4],B=C[5],X=C[6],Y=C[7],Z=C[8],O=C[9],W=C[10],P=C[11],G=C[12],$=C[13],K=C[14],E=C[15];return M[0]=B*(W*E-P*K)-O*(X*E-Y*K)+$*(X*P-Y*W),M[1]=-(V*(W*E-P*K)-O*(Q*E-I*K)+$*(Q*P-I*W)),M[2]=V*(X*E-Y*K)-B*(Q*E-I*K)+$*(Q*Y-I*X),M[3]=-(V*(X*P-Y*W)-B*(Q*P-I*W)+O*(Q*Y-I*X)),M[4]=-(N*(W*E-P*K)-Z*(X*E-Y*K)+G*(X*P-Y*W)),M[5]=h*(W*E-P*K)-Z*(Q*E-I*K)+G*(Q*P-I*W),M[6]=-(h*(X*E-Y*K)-N*(Q*E-I*K)+G*(Q*Y-I*X)),M[7]=h*(X*P-Y*W)-N*(Q*P-I*W)+Z*(Q*Y-I*X),M[8]=N*(O*E-P*$)-Z*(B*E-Y*$)+G*(B*P-Y*O),M[9]=-(h*(O*E-P*$)-Z*(V*E-I*$)+G*(V*P-I*O)),M[10]=h*(B*E-Y*$)-N*(V*E-I*$)+G*(V*Y-I*B),M[11]=-(h*(B*P-Y*O)-N*(V*P-I*O)+Z*(V*Y-I*B)),M[12]=-(N*(O*K-W*$)-Z*(B*K-X*$)+G*(B*W-X*O)),M[13]=h*(O*K-W*$)-Z*(V*K-Q*$)+G*(V*W-Q*O),M[14]=-(h*(B*K-X*$)-N*(V*K-Q*$)+G*(V*X-Q*B)),M[15]=h*(B*W-X*O)-N*(V*W-Q*O)+Z*(V*X-Q*B),M}function VC(M){var C=M[0],h=M[1],V=M[2],Q=M[3],I=M[4],N=M[5],B=M[6],X=M[7],Y=M[8],Z=M[9],O=M[10],W=M[11],P=M[12],G=M[13],$=M[14],K=M[15],E=C*N-h*I,D=C*B-V*I,J=C*X-Q*I,H=h*B-V*N,L=h*X-Q*N,A=V*X-Q*B,S=Y*G-Z*P,k=Y*$-O*P,T=Y*K-W*P,_=Z*$-O*G,j=Z*K-W*G,g=O*K-W*$;return E*g-D*j+J*_+H*T-L*k+A*S}function j0(M,C,h){var V=C[0],Q=C[1],I=C[2],N=C[3],B=C[4],X=C[5],Y=C[6],Z=C[7],O=C[8],W=C[9],P=C[10],G=C[11],$=C[12],K=C[13],E=C[14],D=C[15],J=h[0],H=h[1],L=h[2],A=h[3];return M[0]=J*V+H*B+L*O+A*$,M[1]=J*Q+H*X+L*W+A*K,M[2]=J*I+H*Y+L*P+A*E,M[3]=J*N+H*Z+L*G+A*D,J=h[4],H=h[5],L=h[6],A=h[7],M[4]=J*V+H*B+L*O+A*$,M[5]=J*Q+H*X+L*W+A*K,M[6]=J*I+H*Y+L*P+A*E,M[7]=J*N+H*Z+L*G+A*D,J=h[8],H=h[9],L=h[10],A=h[11],M[8]=J*V+H*B+L*O+A*$,M[9]=J*Q+H*X+L*W+A*K,M[10]=J*I+H*Y+L*P+A*E,M[11]=J*N+H*Z+L*G+A*D,J=h[12],H=h[13],L=h[14],A=h[15],M[12]=J*V+H*B+L*O+A*$,M[13]=J*Q+H*X+L*W+A*K,M[14]=J*I+H*Y+L*P+A*E,M[15]=J*N+H*Z+L*G+A*D,M}function QC(M,C,h){var V=h[0],Q=h[1],I=h[2],N,B,X,Y,Z,O,W,P,G,$,K,E;if(C===M)M[12]=C[0]*V+C[4]*Q+C[8]*I+C[12],M[13]=C[1]*V+C[5]*Q+C[9]*I+C[13],M[14]=C[2]*V+C[6]*Q+C[10]*I+C[14],M[15]=C[3]*V+C[7]*Q+C[11]*I+C[15];else N=C[0],B=C[1],X=C[2],Y=C[3],Z=C[4],O=C[5],W=C[6],P=C[7],G=C[8],$=C[9],K=C[10],E=C[11],M[0]=N,M[1]=B,M[2]=X,M[3]=Y,M[4]=Z,M[5]=O,M[6]=W,M[7]=P,M[8]=G,M[9]=$,M[10]=K,M[11]=E,M[12]=N*V+Z*Q+G*I+C[12],M[13]=B*V+O*Q+$*I+C[13],M[14]=X*V+W*Q+K*I+C[14],M[15]=Y*V+P*Q+E*I+C[15];return M}function IC(M,C,h){var V=h[0],Q=h[1],I=h[2];return M[0]=C[0]*V,M[1]=C[1]*V,M[2]=C[2]*V,M[3]=C[3]*V,M[4]=C[4]*Q,M[5]=C[5]*Q,M[6]=C[6]*Q,M[7]=C[7]*Q,M[8]=C[8]*I,M[9]=C[9]*I,M[10]=C[10]*I,M[11]=C[11]*I,M[12]=C[12],M[13]=C[13],M[14]=C[14],M[15]=C[15],M}function NC(M,C,h,V){var Q=V[0],I=V[1],N=V[2],B=Math.hypot(Q,I,N),X,Y,Z,O,W,P,G,$,K,E,D,J,H,L,A,S,k,T,_,j,g,p,F,n;if(B0)h[0]=(B*N+Z*V+X*I-Y*Q)*2/O,h[1]=(X*N+Z*Q+Y*V-B*I)*2/O,h[2]=(Y*N+Z*I+B*Q-X*V)*2/O;else h[0]=(B*N+Z*V+X*I-Y*Q)*2,h[1]=(X*N+Z*Q+Y*V-B*I)*2,h[2]=(Y*N+Z*I+B*Q-X*V)*2;return g0(M,C,h),M}function EC(M,C){return M[0]=C[12],M[1]=C[13],M[2]=C[14],M}function p0(M,C){var h=C[0],V=C[1],Q=C[2],I=C[4],N=C[5],B=C[6],X=C[8],Y=C[9],Z=C[10];return M[0]=Math.hypot(h,V,Q),M[1]=Math.hypot(I,N,B),M[2]=Math.hypot(X,Y,Z),M}function LC(M,C){var h=new R(3);p0(h,C);var V=1/h[0],Q=1/h[1],I=1/h[2],N=C[0]*V,B=C[1]*Q,X=C[2]*I,Y=C[4]*V,Z=C[5]*Q,O=C[6]*I,W=C[8]*V,P=C[9]*Q,G=C[10]*I,$=N+Z+G,K=0;if($>0)K=Math.sqrt($+1)*2,M[3]=0.25*K,M[0]=(O-P)/K,M[1]=(W-X)/K,M[2]=(B-Y)/K;else if(N>Z&&N>G)K=Math.sqrt(1+N-Z-G)*2,M[3]=(O-P)/K,M[0]=0.25*K,M[1]=(B+Y)/K,M[2]=(W+X)/K;else if(Z>G)K=Math.sqrt(1+Z-N-G)*2,M[3]=(W-X)/K,M[0]=(B+Y)/K,M[1]=0.25*K,M[2]=(O+P)/K;else K=Math.sqrt(1+G-N-Z)*2,M[3]=(B-Y)/K,M[0]=(W+X)/K,M[1]=(O+P)/K,M[2]=0.25*K;return M}function AC(M,C,h,V){var Q=C[0],I=C[1],N=C[2],B=C[3],X=Q+Q,Y=I+I,Z=N+N,O=Q*X,W=Q*Y,P=Q*Z,G=I*Y,$=I*Z,K=N*Z,E=B*X,D=B*Y,J=B*Z,H=V[0],L=V[1],A=V[2];return M[0]=(1-(G+K))*H,M[1]=(W+J)*H,M[2]=(P-D)*H,M[3]=0,M[4]=(W-J)*L,M[5]=(1-(O+K))*L,M[6]=($+E)*L,M[7]=0,M[8]=(P+D)*A,M[9]=($-E)*A,M[10]=(1-(O+G))*A,M[11]=0,M[12]=h[0],M[13]=h[1],M[14]=h[2],M[15]=1,M}function HC(M,C,h,V,Q){var I=C[0],N=C[1],B=C[2],X=C[3],Y=I+I,Z=N+N,O=B+B,W=I*Y,P=I*Z,G=I*O,$=N*Z,K=N*O,E=B*O,D=X*Y,J=X*Z,H=X*O,L=V[0],A=V[1],S=V[2],k=Q[0],T=Q[1],_=Q[2],j=(1-($+E))*L,g=(P+H)*L,p=(G-J)*L,F=(P-H)*A,n=(1-(W+E))*A,i=(K+D)*A,f=(G+J)*S,u=(K-D)*S,o=(1-(W+$))*S;return M[0]=j,M[1]=g,M[2]=p,M[3]=0,M[4]=F,M[5]=n,M[6]=i,M[7]=0,M[8]=f,M[9]=u,M[10]=o,M[11]=0,M[12]=h[0]+k-(j*k+F*T+f*_),M[13]=h[1]+T-(g*k+n*T+u*_),M[14]=h[2]+_-(p*k+i*T+o*_),M[15]=1,M}function JC(M,C){var h=C[0],V=C[1],Q=C[2],I=C[3],N=h+h,B=V+V,X=Q+Q,Y=h*N,Z=V*N,O=V*B,W=Q*N,P=Q*B,G=Q*X,$=I*N,K=I*B,E=I*X;return M[0]=1-O-G,M[1]=Z+E,M[2]=W-K,M[3]=0,M[4]=Z-E,M[5]=1-Y-G,M[6]=P+$,M[7]=0,M[8]=W+K,M[9]=P-$,M[10]=1-Y-O,M[11]=0,M[12]=0,M[13]=0,M[14]=0,M[15]=1,M}function UC(M,C,h,V,Q,I,N){var B=1/(h-C),X=1/(Q-V),Y=1/(I-N);return M[0]=I*2*B,M[1]=0,M[2]=0,M[3]=0,M[4]=0,M[5]=I*2*X,M[6]=0,M[7]=0,M[8]=(h+C)*B,M[9]=(Q+V)*X,M[10]=(N+I)*Y,M[11]=-1,M[12]=0,M[13]=0,M[14]=N*I*2*Y,M[15]=0,M}function n0(M,C,h,V,Q){var I=1/Math.tan(C/2),N;if(M[0]=I/h,M[1]=0,M[2]=0,M[3]=0,M[4]=0,M[5]=I,M[6]=0,M[7]=0,M[8]=0,M[9]=0,M[11]=-1,M[12]=0,M[13]=0,M[15]=0,Q!=null&&Q!==Infinity)N=1/(V-Q),M[10]=(Q+V)*N,M[14]=2*Q*V*N;else M[10]=-1,M[14]=-2*V;return M}function FC(M,C,h,V,Q){var I=1/Math.tan(C/2),N;if(M[0]=I/h,M[1]=0,M[2]=0,M[3]=0,M[4]=0,M[5]=I,M[6]=0,M[7]=0,M[8]=0,M[9]=0,M[11]=-1,M[12]=0,M[13]=0,M[15]=0,Q!=null&&Q!==Infinity)N=1/(V-Q),M[10]=Q*N,M[14]=Q*V*N;else M[10]=-1,M[14]=-V;return M}function RC(M,C,h,V){var Q=Math.tan(C.upDegrees*Math.PI/180),I=Math.tan(C.downDegrees*Math.PI/180),N=Math.tan(C.leftDegrees*Math.PI/180),B=Math.tan(C.rightDegrees*Math.PI/180),X=2/(N+B),Y=2/(Q+I);return M[0]=X,M[1]=0,M[2]=0,M[3]=0,M[4]=0,M[5]=Y,M[6]=0,M[7]=0,M[8]=-((N-B)*X*0.5),M[9]=(Q-I)*Y*0.5,M[10]=V/(h-V),M[11]=-1,M[12]=0,M[13]=0,M[14]=V*h/(h-V),M[15]=0,M}function q0(M,C,h,V,Q,I,N){var B=1/(C-h),X=1/(V-Q),Y=1/(I-N);return M[0]=-2*B,M[1]=0,M[2]=0,M[3]=0,M[4]=0,M[5]=-2*X,M[6]=0,M[7]=0,M[8]=0,M[9]=0,M[10]=2*Y,M[11]=0,M[12]=(C+h)*B,M[13]=(Q+V)*X,M[14]=(N+I)*Y,M[15]=1,M}function TC(M,C,h,V,Q,I,N){var B=1/(C-h),X=1/(V-Q),Y=1/(I-N);return M[0]=-2*B,M[1]=0,M[2]=0,M[3]=0,M[4]=0,M[5]=-2*X,M[6]=0,M[7]=0,M[8]=0,M[9]=0,M[10]=Y,M[11]=0,M[12]=(C+h)*B,M[13]=(Q+V)*X,M[14]=I*Y,M[15]=1,M}function _C(M,C,h,V){var Q,I,N,B,X,Y,Z,O,W,P,G=C[0],$=C[1],K=C[2],E=V[0],D=V[1],J=V[2],H=h[0],L=h[1],A=h[2];if(Math.abs(G-H)0)P=1/Math.sqrt(P),Z*=P,O*=P,W*=P;var G=X*W-Y*O,$=Y*Z-B*W,K=B*O-X*Z;if(P=G*G+$*$+K*K,P>0)P=1/Math.sqrt(P),G*=P,$*=P,K*=P;return M[0]=G,M[1]=$,M[2]=K,M[3]=0,M[4]=O*K-W*$,M[5]=W*G-Z*K,M[6]=Z*$-O*G,M[7]=0,M[8]=Z,M[9]=O,M[10]=W,M[11]=0,M[12]=Q,M[13]=I,M[14]=N,M[15]=1,M}function jC(M){return"mat4("+M[0]+", "+M[1]+", "+M[2]+", "+M[3]+", "+M[4]+", "+M[5]+", "+M[6]+", "+M[7]+", "+M[8]+", "+M[9]+", "+M[10]+", "+M[11]+", "+M[12]+", "+M[13]+", "+M[14]+", "+M[15]+")"}function gC(M){return Math.hypot(M[0],M[1],M[2],M[3],M[4],M[5],M[6],M[7],M[8],M[9],M[10],M[11],M[12],M[13],M[14],M[15])}function pC(M,C,h){return M[0]=C[0]+h[0],M[1]=C[1]+h[1],M[2]=C[2]+h[2],M[3]=C[3]+h[3],M[4]=C[4]+h[4],M[5]=C[5]+h[5],M[6]=C[6]+h[6],M[7]=C[7]+h[7],M[8]=C[8]+h[8],M[9]=C[9]+h[9],M[10]=C[10]+h[10],M[11]=C[11]+h[11],M[12]=C[12]+h[12],M[13]=C[13]+h[13],M[14]=C[14]+h[14],M[15]=C[15]+h[15],M}function i0(M,C,h){return M[0]=C[0]-h[0],M[1]=C[1]-h[1],M[2]=C[2]-h[2],M[3]=C[3]-h[3],M[4]=C[4]-h[4],M[5]=C[5]-h[5],M[6]=C[6]-h[6],M[7]=C[7]-h[7],M[8]=C[8]-h[8],M[9]=C[9]-h[9],M[10]=C[10]-h[10],M[11]=C[11]-h[11],M[12]=C[12]-h[12],M[13]=C[13]-h[13],M[14]=C[14]-h[14],M[15]=C[15]-h[15],M}function nC(M,C,h){return M[0]=C[0]*h,M[1]=C[1]*h,M[2]=C[2]*h,M[3]=C[3]*h,M[4]=C[4]*h,M[5]=C[5]*h,M[6]=C[6]*h,M[7]=C[7]*h,M[8]=C[8]*h,M[9]=C[9]*h,M[10]=C[10]*h,M[11]=C[11]*h,M[12]=C[12]*h,M[13]=C[13]*h,M[14]=C[14]*h,M[15]=C[15]*h,M}function qC(M,C,h,V){return M[0]=C[0]+h[0]*V,M[1]=C[1]+h[1]*V,M[2]=C[2]+h[2]*V,M[3]=C[3]+h[3]*V,M[4]=C[4]+h[4]*V,M[5]=C[5]+h[5]*V,M[6]=C[6]+h[6]*V,M[7]=C[7]+h[7]*V,M[8]=C[8]+h[8]*V,M[9]=C[9]+h[9]*V,M[10]=C[10]+h[10]*V,M[11]=C[11]+h[11]*V,M[12]=C[12]+h[12]*V,M[13]=C[13]+h[13]*V,M[14]=C[14]+h[14]*V,M[15]=C[15]+h[15]*V,M}function iC(M,C){return M[0]===C[0]&&M[1]===C[1]&&M[2]===C[2]&&M[3]===C[3]&&M[4]===C[4]&&M[5]===C[5]&&M[6]===C[6]&&M[7]===C[7]&&M[8]===C[8]&&M[9]===C[9]&&M[10]===C[10]&&M[11]===C[11]&&M[12]===C[12]&&M[13]===C[13]&&M[14]===C[14]&&M[15]===C[15]}function fC(M,C){var h=M[0],V=M[1],Q=M[2],I=M[3],N=M[4],B=M[5],X=M[6],Y=M[7],Z=M[8],O=M[9],W=M[10],P=M[11],G=M[12],$=M[13],K=M[14],E=M[15],D=C[0],J=C[1],H=C[2],L=C[3],A=C[4],S=C[5],k=C[6],T=C[7],_=C[8],j=C[9],g=C[10],p=C[11],F=C[12],n=C[13],i=C[14],f=C[15];return Math.abs(h-D)<=U*Math.max(1,Math.abs(h),Math.abs(D))&&Math.abs(V-J)<=U*Math.max(1,Math.abs(V),Math.abs(J))&&Math.abs(Q-H)<=U*Math.max(1,Math.abs(Q),Math.abs(H))&&Math.abs(I-L)<=U*Math.max(1,Math.abs(I),Math.abs(L))&&Math.abs(N-A)<=U*Math.max(1,Math.abs(N),Math.abs(A))&&Math.abs(B-S)<=U*Math.max(1,Math.abs(B),Math.abs(S))&&Math.abs(X-k)<=U*Math.max(1,Math.abs(X),Math.abs(k))&&Math.abs(Y-T)<=U*Math.max(1,Math.abs(Y),Math.abs(T))&&Math.abs(Z-_)<=U*Math.max(1,Math.abs(Z),Math.abs(_))&&Math.abs(O-j)<=U*Math.max(1,Math.abs(O),Math.abs(j))&&Math.abs(W-g)<=U*Math.max(1,Math.abs(W),Math.abs(g))&&Math.abs(P-p)<=U*Math.max(1,Math.abs(P),Math.abs(p))&&Math.abs(G-F)<=U*Math.max(1,Math.abs(G),Math.abs(F))&&Math.abs($-n)<=U*Math.max(1,Math.abs($),Math.abs(n))&&Math.abs(K-i)<=U*Math.max(1,Math.abs(K),Math.abs(i))&&Math.abs(E-f)<=U*Math.max(1,Math.abs(E),Math.abs(f))}var DC=n0,kC=q0,vC=j0,wC=i0;class b{M;constructor(M){this.app=M;this.onStart&&M.onStart(this.onStart.bind(this)),this.onUpdate&&M.onUpdate(this.onUpdate.bind(this)),this.onAfterUpdate&&M.onAfterUpdate(this.onAfterUpdate.bind(this)),this.onBeforeUpdate&&M.onBeforeUpdate(this.onBeforeUpdate.bind(this))}}class dC extends b{M;el;frameTimes=[];maxFrameTimes=100;lastFrameTime=0;constructor(M,C="#telemetry"){super(M);this.app=M;if(this.el=document.querySelector(C),this.el&&location.search.includes("telemetry"))this.el.style.display="block"}insertTime(M){if(this.frameTimes.push(M),this.frameTimes.length>this.maxFrameTimes)this.frameTimes.shift()}onStart(){this.lastFrameTime=0,this.frameTimes=[],setInterval(()=>{const M=this.frameTimes.reduce((h,V)=>h+V,0)/this.frameTimes.length,C=1000/M;this.el.innerHTML=`${C.toFixed(1)} FPS (${M.toFixed(3)} ms)
bU: ${this.app.registry.onBeforeUpdate.length} | U: ${this.app.registry.onUpdate.length} | aU: ${this.app.registry.onAfterUpdate.length}`},1001)}onAfterUpdate(M){const C=M-this.lastFrameTime;this.insertTime(C),this.lastFrameTime=M}} -export{b as a,dC as b,f0 as c,x as d,_0 as e}; +export{b as g,dC as h,f0 as i,x as j,_0 as k}; diff --git a/html/index.html b/html/index.html index dcaec00..10a5a01 100644 --- a/html/index.html +++ b/html/index.html @@ -31,6 +31,7 @@
diff --git a/src/003-scene/main.ts b/src/003-scene/main.ts new file mode 100644 index 0000000..1daec64 --- /dev/null +++ b/src/003-scene/main.ts @@ -0,0 +1,16 @@ +import { MeshRenderer } from "../renderer/mesh-renderer"; +import { WebGLApp } from "../renderer/webgl"; +import { Renderable } from "../renderer/renderable"; +import { Transform } from "../renderer/transform"; +import torus from "../meshes/torus"; +import { errorShader } from "../common-shaders/error"; + +const app = new WebGLApp({ fov: 45 }); + +new Renderable( + app, + new Transform(), + new MeshRenderer(app, torus, errorShader(app)) +); + +app.start(); diff --git a/src/meshes/torus-scuffed.ts b/src/meshes/torus-scuffed.ts deleted file mode 100644 index 7ecb684..0000000 --- a/src/meshes/torus-scuffed.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Mesh } from "../renderer/mesh"; - -// prettier-ignore -const mesh = new Float32Array([1.2393061,0.16315772,0,1,0,0,0,255,0.5208333,0.5,1.2165064,0,0.125,1,0,0,0,255,0.5,0.5833333,1.25,0,0,1,0,0,0,255,0.5,0.5,1.1153755,0.14684194,0.21650635,1,0,0,0,255,0.5208333,0.6666667,1.125,0,0.21650635,1,0,0,0,255,0.5,0.6666667,1,0,0.25,1,0,0,0,255,0.5,0.75,0.9914449,0.13052617,0.25,1,0,0,0,255,0.5208333,0.75,0.875,0,0.21650635,1,0,0,0,255,0.5,0.8333333,0.86751425,0.1142104,0.21650635,1,0,0,0,255,0.5208333,0.8333333,0.78349364,0,0.125,1,0,0,0,255,0.5,0.9166667,0.7435837,0.097894624,3.061617e-17,1,0,0,0,255,0.5208333,1,0.75,0,3.061617e-17,1,0,0,0,255,0.5,1,0.7435837,0.097894624,3.061617e-17,1,0,0,0,255,0.5208333,2.220446e-16,0.78349364,0,-0.125,1,0,0,0,255,0.5,0.083333336,0.75,0,3.061617e-17,1,0,0,0,255,0.5,2.220446e-16,0.77679074,0.10226642,-0.125,1,0,0,0,255,0.5208333,0.083333336,0.875,0,-0.21650635,1,0,0,0,255,0.5,0.16666667,0.86751425,0.1142104,-0.21650635,1,0,0,0,255,0.5208333,0.16666667,1,0,-0.25,1,0,0,0,255,0.5,0.25,0.9914449,0.13052617,-0.25,1,0,0,0,255,0.5208333,0.25,1.125,0,-0.21650635,1,0,0,0,255,0.5,0.33333334,1.1153755,0.14684194,-0.21650635,1,0,0,0,255,0.5208333,0.33333334,1.2165064,0,-0.125,1,0,0,0,255,0.5,0.41666666,1.206099,0.15878591,-0.125,1,0,0,0,255,0.5208333,0.41666666,1.2074072,0.32352373,0,1,0,0,0,255,0.5416667,0.5,1.206099,0.15878591,0.125,1,0,0,0,255,0.5208333,0.5833333,1.1750549,0.31485495,0.125,1,0,0,0,255,0.5416667,0.5833333,1.0866666,0.29117137,0.21650635,1,0,0,0,255,0.5416667,0.6666667,0.9659258,0.25881898,0.25,1,0,0,0,255,0.5416667,0.75,0.7567967,0.20278303,0.125,1,0,0,0,255,0.5416667,0.9166667,0.77679074,0.10226642,0.125,1,0,0,0,255,0.5208333,0.9166667,0.7244444,0.19411424,3.061617e-17,1,0,0,0,255,0.5416667,2.220446e-16,0.7567967,0.20278303,-0.125,1,0,0,0,255,0.5416667,0.083333336,0.9659258,0.25881898,-0.25,1,0,0,0,255,0.5416667,0.25,1.0866666,0.29117137,-0.21650635,1,0,0,0,255,0.5416667,0.33333334,1.1750549,0.31485495,-0.125,1,0,0,0,255,0.5416667,0.41666666,1.1239054,0.46553674,0.125,1,0,0,0,255,0.5625,0.5833333,1.0393645,0.43051878,0.21650635,1,0,0,0,255,0.5625,0.6666667,0.8083946,0.33484796,0.21650635,1,0,0,0,255,0.5625,0.8333333,0.8451851,0.22646661,0.21650635,1,0,0,0,255,0.5416667,0.8333333,0.72385377,0.29983,0.125,1,0,0,0,255,0.5625,0.9166667,0.69290966,0.28701252,3.061617e-17,1,0,0,0,255,0.5625,1,0.7244444,0.19411424,3.061617e-17,1,0,0,0,255,0.5416667,1,0.69290966,0.28701252,3.061617e-17,1,0,0,0,255,0.5625,2.220446e-16,0.72385377,0.29983,-0.125,1,0,0,0,255,0.5625,0.083333336,0.8451851,0.22646661,-0.21650635,1,0,0,0,255,0.5416667,0.16666667,0.92387956,0.38268337,-0.25,1,0,0,0,255,0.5625,0.25,1.0393645,0.43051878,-0.21650635,1,0,0,0,255,0.5625,0.33333334,1.1239054,0.46553674,-0.125,1,0,0,0,255,0.5625,0.41666666,1.1548494,0.47835422,0,1,0,0,0,255,0.5625,0.5,1.0535253,0.6082533,0.125,1,0,0,0,255,0.5833333,0.5833333,0.9742785,0.5625001,0.21650635,1,0,0,0,255,0.5833333,0.6666667,0.8660253,0.5000001,0.25,1,0,0,0,255,0.5833333,0.75,0.92387956,0.38268337,0.25,1,0,0,0,255,0.5625,0.75,0.6785253,0.3917469,0.125,1,0,0,0,255,0.5833333,0.9166667,0.64951897,0.3750001,3.061617e-17,1,0,0,0,255,0.5833333,2.220446e-16,0.6785253,0.3917469,-0.125,1,0,0,0,255,0.5833333,0.083333336,0.8083946,0.33484796,-0.21650635,1,0,0,0,255,0.5625,0.16666667,0.8660253,0.5000001,-0.25,1,0,0,0,255,0.5833333,0.25,0.9742785,0.5625001,-0.21650635,1,0,0,0,255,0.5833333,0.33333334,1.0535253,0.6082533,-0.125,1,0,0,0,255,0.5833333,0.41666666,0.9916918,0.76095164,0,1,0,0,0,255,0.6041667,0.5,1.0825317,0.6250001,0,1,0,0,0,255,0.5833333,0.5,0.89252263,0.6848565,0.21650635,1,0,0,0,255,0.6041667,0.6666667,0.79335344,0.6087613,0.25,1,0,0,0,255,0.6041667,0.75,0.75777215,0.43750012,0.21650635,1,0,0,0,255,0.5833333,0.8333333,0.6215874,0.4769606,0.125,1,0,0,0,255,0.6041667,0.9166667,0.64951897,0.3750001,3.061617e-17,1,0,0,0,255,0.5833333,1,0.59501505,0.45657098,3.061617e-17,1,0,0,0,255,0.6041667,2.220446e-16,0.6215874,0.4769606,-0.125,1,0,0,0,255,0.6041667,0.083333336,0.75777215,0.43750012,-0.21650635,1,0,0,0,255,0.5833333,0.16666667,0.69418424,0.53266615,-0.21650635,1,0,0,0,255,0.6041667,0.16666667,0.79335344,0.6087613,-0.25,1,0,0,0,255,0.6041667,0.25,0.89252263,0.6848565,-0.21650635,1,0,0,0,255,0.6041667,0.33333334,0.88388336,0.88388354,0,1,0,0,0,255,0.625,0.5,0.9651195,0.740562,0.125,1,0,0,0,255,0.6041667,0.5833333,0.8601998,0.8601999,0.125,1,0,0,0,255,0.625,0.5833333,0.79549503,0.79549515,0.21650635,1,0,0,0,255,0.625,0.6666667,0.7071067,0.7071068,0.25,1,0,0,0,255,0.625,0.75,0.69418424,0.53266615,0.21650635,1,0,0,0,255,0.6041667,0.8333333,0.6187184,0.6187185,0.21650635,1,0,0,0,255,0.625,0.8333333,0.5540136,0.5540137,0.125,1,0,0,0,255,0.625,0.9166667,0.59501505,0.45657098,3.061617e-17,1,0,0,0,255,0.6041667,1,0.5540136,0.5540137,-0.125,1,0,0,0,255,0.625,0.083333336,0.6187184,0.6187185,-0.21650635,1,0,0,0,255,0.625,0.16666667,0.7071067,0.7071068,-0.25,1,0,0,0,255,0.625,0.25,0.8601998,0.8601999,-0.125,1,0,0,0,255,0.625,0.41666666,0.9651195,0.740562,-0.125,1,0,0,0,255,0.6041667,0.41666666,0.76095194,0.99169147,0,1,0,0,0,255,0.6458333,0.5,0.6848568,0.89252234,0.21650635,1,0,0,0,255,0.6458333,0.6666667,0.60876155,0.7933532,0.25,1,0,0,0,255,0.6458333,0.75,0.4769608,0.62158716,0.125,1,0,0,0,255,0.6458333,0.9166667,0.53033006,0.5303301,3.061617e-17,1,0,0,0,255,0.625,1,0.45657116,0.5950149,3.061617e-17,1,0,0,0,255,0.6458333,2.220446e-16,0.53033006,0.5303301,3.061617e-17,1,0,0,0,255,0.625,2.220446e-16,0.4769608,0.62158716,-0.125,1,0,0,0,255,0.6458333,0.083333336,0.60876155,0.7933532,-0.25,1,0,0,0,255,0.6458333,0.25,0.6848568,0.89252234,-0.21650635,1,0,0,0,255,0.6458333,0.33333334,0.79549503,0.79549515,-0.21650635,1,0,0,0,255,0.625,0.33333334,0.7405623,0.96511924,-0.125,1,0,0,0,255,0.6458333,0.41666666,0.62499994,1.0825318,0,1,0,0,0,255,0.6666667,0.5,0.7405623,0.96511924,0.125,1,0,0,0,255,0.6458333,0.5833333,0.56249994,0.9742786,0.21650635,1,0,0,0,255,0.6666667,0.6666667,0.49999997,0.86602545,0.25,1,0,0,0,255,0.6666667,0.75,0.5326663,0.69418406,0.21650635,1,0,0,0,255,0.6458333,0.8333333,0.3917468,0.67852545,0.125,1,0,0,0,255,0.6666667,0.9166667,0.45657116,0.5950149,3.061617e-17,1,0,0,0,255,0.6458333,1,0.37499997,0.6495191,3.061617e-17,1,0,0,0,255,0.6666667,2.220446e-16,0.3917468,0.67852545,-0.125,1,0,0,0,255,0.6666667,0.083333336,0.5326663,0.69418406,-0.21650635,1,0,0,0,255,0.6458333,0.16666667,0.43749997,0.75777227,-0.21650635,1,0,0,0,255,0.6666667,0.16666667,0.49999997,0.86602545,-0.25,1,0,0,0,255,0.6666667,0.25,0.56249994,0.9742786,-0.21650635,1,0,0,0,255,0.6666667,0.33333334,0.6082531,1.0535254,-0.125,1,0,0,0,255,0.6666667,0.41666666,0.4655371,1.1239052,0.125,1,0,0,0,255,0.6875,0.5833333,0.6082531,1.0535254,0.125,1,0,0,0,255,0.6666667,0.5833333,0.43051913,1.0393643,0.21650635,1,0,0,0,255,0.6875,0.6666667,0.38268366,0.92387944,0.25,1,0,0,0,255,0.6875,0.75,0.43749997,0.75777227,0.21650635,1,0,0,0,255,0.6666667,0.8333333,0.3348482,0.8083945,0.21650635,1,0,0,0,255,0.6875,0.8333333,0.29983023,0.72385365,0.125,1,0,0,0,255,0.6875,0.9166667,0.37499997,0.6495191,3.061617e-17,1,0,0,0,255,0.6666667,1,0.28701276,0.6929096,3.061617e-17,1,0,0,0,255,0.6875,2.220446e-16,0.29983023,0.72385365,-0.125,1,0,0,0,255,0.6875,0.083333336,0.38268366,0.92387944,-0.25,1,0,0,0,255,0.6875,0.25,0.43051913,1.0393643,-0.21650635,1,0,0,0,255,0.6875,0.33333334,0.4655371,1.1239052,-0.125,1,0,0,0,255,0.6875,0.41666666,0.32352385,1.2074072,0,1,0,0,0,255,0.7083333,0.5,0.47835457,1.1548493,0,1,0,0,0,255,0.6875,0.5,0.31485504,1.1750549,0.125,1,0,0,0,255,0.7083333,0.5833333,0.29117146,1.0866666,0.21650635,1,0,0,0,255,0.7083333,0.6666667,0.25881907,0.9659258,0.25,1,0,0,0,255,0.7083333,0.75,0.2027831,0.7567967,0.125,1,0,0,0,255,0.7083333,0.9166667,0.28701276,0.6929096,3.061617e-17,1,0,0,0,255,0.6875,1,0.1941143,0.7244444,3.061617e-17,1,0,0,0,255,0.7083333,2.220446e-16,0.2027831,0.7567967,-0.125,1,0,0,0,255,0.7083333,0.083333336,0.3348482,0.8083945,-0.21650635,1,0,0,0,255,0.6875,0.16666667,0.22646669,0.8451851,-0.21650635,1,0,0,0,255,0.7083333,0.16666667,0.25881907,0.9659258,-0.25,1,0,0,0,255,0.7083333,0.25,0.29117146,1.0866666,-0.21650635,1,0,0,0,255,0.7083333,0.33333334,0.31485504,1.1750549,-0.125,1,0,0,0,255,0.7083333,0.41666666,0.16315751,1.2393061,0,1,0,0,0,255,0.7291667,0.5,0.15878572,1.206099,0.125,1,0,0,0,255,0.7291667,0.5833333,0.130526,0.9914449,0.25,1,0,0,0,255,0.7291667,0.75,0.22646669,0.8451851,0.21650635,1,0,0,0,255,0.7083333,0.8333333,0.114210255,0.86751425,0.21650635,1,0,0,0,255,0.7291667,0.8333333,0.1022663,0.77679074,0.125,1,0,0,0,255,0.7291667,0.9166667,0.1941143,0.7244444,3.061617e-17,1,0,0,0,255,0.7083333,1,0.1022663,0.77679074,-0.125,1,0,0,0,255,0.7291667,0.083333336,0.130526,0.9914449,-0.25,1,0,0,0,255,0.7291667,0.25,0.14684176,1.1153755,-0.21650635,1,0,0,0,255,0.7291667,0.33333334,0.15878572,1.206099,-0.125,1,0,0,0,255,0.7291667,0.41666666,9.4372375e-8,1.25,0,1,0,0,0,255,0.75,0.5,9.1843674e-8,1.2165064,0.125,1,0,0,0,255,0.75,0.5833333,0.14684176,1.1153755,0.21650635,1,0,0,0,255,0.7291667,0.6666667,8.493514e-8,1.125,0.21650635,1,0,0,0,255,0.75,0.6666667,6.6060664e-8,0.875,0.21650635,1,0,0,0,255,0.75,0.8333333,5.9152125e-8,0.78349364,0.125,1,0,0,0,255,0.75,0.9166667,0.097894505,0.7435837,3.061617e-17,1,0,0,0,255,0.7291667,1,5.6623428e-8,0.75,3.061617e-17,1,0,0,0,255,0.75,2.220446e-16,0.097894505,0.7435837,3.061617e-17,1,0,0,0,255,0.7291667,2.220446e-16,5.9152125e-8,0.78349364,-0.125,1,0,0,0,255,0.75,0.083333336,0.114210255,0.86751425,-0.21650635,1,0,0,0,255,0.7291667,0.16666667,6.6060664e-8,0.875,-0.21650635,1,0,0,0,255,0.75,0.16666667,7.54979e-8,1,-0.25,1,0,0,0,255,0.75,0.25,8.493514e-8,1.125,-0.21650635,1,0,0,0,255,0.75,0.33333334,-0.16315791,1.239306,0,1,0,0,0,255,0.7708333,0.5,-0.15878612,1.2060989,0.125,1,0,0,0,255,0.7708333,0.5833333,-0.14684212,1.1153754,0.21650635,1,0,0,0,255,0.7708333,0.6666667,7.54979e-8,1,0.25,1,0,0,0,255,0.75,0.75,-0.13052633,0.9914448,0.25,1,0,0,0,255,0.7708333,0.75,-0.114210546,0.86751425,0.21650635,1,0,0,0,255,0.7708333,0.8333333,-0.10226655,0.77679074,0.125,1,0,0,0,255,0.7708333,0.9166667,5.6623428e-8,0.75,3.061617e-17,1,0,0,0,255,0.75,1,-0.10226655,0.77679074,-0.125,1,0,0,0,255,0.7708333,0.083333336,-0.13052633,0.9914448,-0.25,1,0,0,0,255,0.7708333,0.25,-0.14684212,1.1153754,-0.21650635,1,0,0,0,255,0.7708333,0.33333334,-0.15878612,1.2060989,-0.125,1,0,0,0,255,0.7708333,0.41666666,9.1843674e-8,1.2165064,-0.125,1,0,0,0,255,0.75,0.41666666,-0.32352364,1.2074074,0,1,0,0,0,255,0.7916667,0.5,-0.29117128,1.0866666,0.21650635,1,0,0,0,255,0.7916667,0.6666667,-0.25881892,0.9659259,0.25,1,0,0,0,255,0.7916667,0.75,-0.22646657,0.84518516,0.21650635,1,0,0,0,255,0.7916667,0.8333333,-0.20278297,0.7567968,0.125,1,0,0,0,255,0.7916667,0.9166667,-0.09789475,0.7435836,3.061617e-17,1,0,0,0,255,0.7708333,1,-0.1941142,0.7244444,3.061617e-17,1,0,0,0,255,0.7916667,2.220446e-16,-0.09789475,0.7435836,3.061617e-17,1,0,0,0,255,0.7708333,2.220446e-16,-0.20278297,0.7567968,-0.125,1,0,0,0,255,0.7916667,0.083333336,-0.114210546,0.86751425,-0.21650635,1,0,0,0,255,0.7708333,0.16666667,-0.22646657,0.84518516,-0.21650635,1,0,0,0,255,0.7916667,0.16666667,-0.25881892,0.9659259,-0.25,1,0,0,0,255,0.7916667,0.25,-0.29117128,1.0866666,-0.21650635,1,0,0,0,255,0.7916667,0.33333334,-0.31485486,1.175055,-0.125,1,0,0,0,255,0.7916667,0.41666666,-0.4783544,1.1548494,0,1,0,0,0,255,0.8125,0.5,-0.31485486,1.175055,0.125,1,0,0,0,255,0.7916667,0.5833333,-0.46553692,1.1239053,0.125,1,0,0,0,255,0.8125,0.5833333,-0.43051895,1.0393645,0.21650635,1,0,0,0,255,0.8125,0.6666667,-0.33484808,0.80839455,0.21650635,1,0,0,0,255,0.8125,0.8333333,-0.2998301,0.7238537,0.125,1,0,0,0,255,0.8125,0.9166667,-0.1941142,0.7244444,3.061617e-17,1,0,0,0,255,0.7916667,1,-0.28701264,0.6929096,3.061617e-17,1,0,0,0,255,0.8125,2.220446e-16,-0.2998301,0.7238537,-0.125,1,0,0,0,255,0.8125,0.083333336,-0.38268352,0.9238795,-0.25,1,0,0,0,255,0.8125,0.25,-0.46553692,1.1239053,-0.125,1,0,0,0,255,0.8125,0.41666666,-0.6249998,1.0825319,0,1,0,0,0,255,0.8333333,0.5,-0.5624998,0.9742787,0.21650635,1,0,0,0,255,0.8333333,0.6666667,-0.38268352,0.9238795,0.25,1,0,0,0,255,0.8125,0.75,-0.49999985,0.8660255,0.25,1,0,0,0,255,0.8333333,0.75,-0.43749988,0.7577723,0.21650635,1,0,0,0,255,0.8333333,0.8333333,-0.3917467,0.67852545,0.125,1,0,0,0,255,0.8333333,0.9166667,-0.28701264,0.6929096,3.061617e-17,1,0,0,0,255,0.8125,1,-0.37499988,0.64951915,3.061617e-17,1,0,0,0,255,0.8333333,2.220446e-16,-0.3917467,0.67852545,-0.125,1,0,0,0,255,0.8333333,0.083333336,-0.33484808,0.80839455,-0.21650635,1,0,0,0,255,0.8125,0.16666667,-0.43749988,0.7577723,-0.21650635,1,0,0,0,255,0.8333333,0.16666667,-0.49999985,0.8660255,-0.25,1,0,0,0,255,0.8333333,0.25,-0.43051895,1.0393645,-0.21650635,1,0,0,0,255,0.8125,0.33333334,-0.5624998,0.9742787,-0.21650635,1,0,0,0,255,0.8333333,0.33333334,-0.608253,1.0535256,-0.125,1,0,0,0,255,0.8333333,0.41666666,-0.76095176,0.99169165,0,1,0,0,0,255,0.8541667,0.5,-0.608253,1.0535256,0.125,1,0,0,0,255,0.8333333,0.5833333,-0.74056214,0.96511936,0.125,1,0,0,0,255,0.8541667,0.5833333,-0.6848566,0.89252245,0.21650635,1,0,0,0,255,0.8541667,0.6666667,-0.6087614,0.7933533,0.25,1,0,0,0,255,0.8541667,0.75,-0.53266627,0.6941842,0.21650635,1,0,0,0,255,0.8541667,0.8333333,-0.45657107,0.595015,3.061617e-17,1,0,0,0,255,0.8541667,1,-0.37499988,0.64951915,3.061617e-17,1,0,0,0,255,0.8333333,1,-0.45657107,0.595015,3.061617e-17,1,0,0,0,255,0.8541667,2.220446e-16,-0.53266627,0.6941842,-0.21650635,1,0,0,0,255,0.8541667,0.16666667,-0.6087614,0.7933533,-0.25,1,0,0,0,255,0.8541667,0.25,-0.6848566,0.89252245,-0.21650635,1,0,0,0,255,0.8541667,0.33333334,-0.74056214,0.96511936,-0.125,1,0,0,0,255,0.8541667,0.41666666,-0.8838837,0.88388324,0,1,0,0,0,255,0.875,0.5,-0.8602001,0.8601997,0.125,1,0,0,0,255,0.875,0.5833333,-0.70710695,0.7071066,0.25,1,0,0,0,255,0.875,0.75,-0.61871856,0.61871827,0.21650635,1,0,0,0,255,0.875,0.8333333,-0.47696072,0.6215873,0.125,1,0,0,0,255,0.8541667,0.9166667,-0.5540138,0.5540135,0.125,1,0,0,0,255,0.875,0.9166667,-0.5303302,0.53032994,3.061617e-17,1,0,0,0,255,0.875,2.220446e-16,-0.47696072,0.6215873,-0.125,1,0,0,0,255,0.8541667,0.083333336,-0.61871856,0.61871827,-0.21650635,1,0,0,0,255,0.875,0.16666667,-0.70710695,0.7071066,-0.25,1,0,0,0,255,0.875,0.25,-0.79549533,0.7954949,-0.21650635,1,0,0,0,255,0.875,0.33333334,-0.8602001,0.8601997,-0.125,1,0,0,0,255,0.875,0.41666666,-0.99169165,0.76095176,0,1,0,0,0,255,0.8958333,0.5,-0.96511936,0.74056214,0.125,1,0,0,0,255,0.8958333,0.5833333,-0.79549533,0.7954949,0.21650635,1,0,0,0,255,0.875,0.6666667,-0.89252245,0.6848566,0.21650635,1,0,0,0,255,0.8958333,0.6666667,-0.6941842,0.53266627,0.21650635,1,0,0,0,255,0.8958333,0.8333333,-0.6215873,0.47696072,0.125,1,0,0,0,255,0.8958333,0.9166667,-0.5303302,0.53032994,3.061617e-17,1,0,0,0,255,0.875,1,-0.595015,0.45657107,3.061617e-17,1,0,0,0,255,0.8958333,2.220446e-16,-0.5540138,0.5540135,-0.125,1,0,0,0,255,0.875,0.083333336,-0.6941842,0.53266627,-0.21650635,1,0,0,0,255,0.8958333,0.16666667,-0.7933533,0.6087614,-0.25,1,0,0,0,255,0.8958333,0.25,-0.96511936,0.74056214,-0.125,1,0,0,0,255,0.8958333,0.41666666,-1.0535252,0.6082535,0.125,1,0,0,0,255,0.9166667,0.5833333,-0.86602527,0.50000024,0.25,1,0,0,0,255,0.9166667,0.75,-0.7933533,0.6087614,0.25,1,0,0,0,255,0.8958333,0.75,-0.7577721,0.4375002,0.21650635,1,0,0,0,255,0.9166667,0.8333333,-0.67852527,0.391747,0.125,1,0,0,0,255,0.9166667,0.9166667,-0.595015,0.45657107,3.061617e-17,1,0,0,0,255,0.8958333,1,-0.64951897,0.37500018,3.061617e-17,1,0,0,0,255,0.9166667,2.220446e-16,-0.6215873,0.47696072,-0.125,1,0,0,0,255,0.8958333,0.083333336,-0.67852527,0.391747,-0.125,1,0,0,0,255,0.9166667,0.083333336,-0.86602527,0.50000024,-0.25,1,0,0,0,255,0.9166667,0.25,-0.89252245,0.6848566,-0.21650635,1,0,0,0,255,0.8958333,0.33333334,-0.97427845,0.56250024,-0.21650635,1,0,0,0,255,0.9166667,0.33333334,-1.0535252,0.6082535,-0.125,1,0,0,0,255,0.9166667,0.41666666,-1.1548494,0.47835436,0,1,0,0,0,255,0.9375,0.5,-1.0825316,0.6250003,0,1,0,0,0,255,0.9166667,0.5,-1.1239053,0.4655369,0.125,1,0,0,0,255,0.9375,0.5833333,-0.97427845,0.56250024,0.21650635,1,0,0,0,255,0.9166667,0.6666667,-1.0393645,0.43051893,0.21650635,1,0,0,0,255,0.9375,0.6666667,-0.80839455,0.33484805,0.21650635,1,0,0,0,255,0.9375,0.8333333,-0.7238537,0.29983008,0.125,1,0,0,0,255,0.9375,0.9166667,-0.64951897,0.37500018,3.061617e-17,1,0,0,0,255,0.9166667,1,-0.7238537,0.29983008,-0.125,1,0,0,0,255,0.9375,0.083333336,-0.7577721,0.4375002,-0.21650635,1,0,0,0,255,0.9166667,0.16666667,-0.80839455,0.33484805,-0.21650635,1,0,0,0,255,0.9375,0.16666667,-0.9238795,0.3826835,-0.25,1,0,0,0,255,0.9375,0.25,-1.1239053,0.4655369,-0.125,1,0,0,0,255,0.9375,0.41666666,-1.175055,0.31485486,0.125,1,0,0,0,255,0.9583333,0.5833333,-1.0866666,0.29117128,0.21650635,1,0,0,0,255,0.9583333,0.6666667,-0.9238795,0.3826835,0.25,1,0,0,0,255,0.9375,0.75,-0.84518516,0.22646657,0.21650635,1,0,0,0,255,0.9583333,0.8333333,-0.7567968,0.20278297,0.125,1,0,0,0,255,0.9583333,0.9166667,-0.6929096,0.2870126,3.061617e-17,1,0,0,0,255,0.9375,1,-0.7244444,0.1941142,3.061617e-17,1,0,0,0,255,0.9583333,2.220446e-16,-0.6929096,0.2870126,3.061617e-17,1,0,0,0,255,0.9375,2.220446e-16,-0.7567968,0.20278297,-0.125,1,0,0,0,255,0.9583333,0.083333336,-0.84518516,0.22646657,-0.21650635,1,0,0,0,255,0.9583333,0.16666667,-1.0866666,0.29117128,-0.21650635,1,0,0,0,255,0.9583333,0.33333334,-1.0393645,0.43051893,-0.21650635,1,0,0,0,255,0.9375,0.33333334,-1.175055,0.31485486,-0.125,1,0,0,0,255,0.9583333,0.41666666,-1.239306,0.1631579,0,1,0,0,0,255,0.9791667,0.5,-1.2074074,0.32352364,0,1,0,0,0,255,0.9583333,0.5,-1.2060989,0.1587861,0.125,1,0,0,0,255,0.9791667,0.5833333,-1.1153754,0.1468421,0.21650635,1,0,0,0,255,0.9791667,0.6666667,-0.9659259,0.25881892,0.25,1,0,0,0,255,0.9583333,0.75,-0.9914448,0.13052632,0.25,1,0,0,0,255,0.9791667,0.75,-0.86751425,0.11421053,0.21650635,1,0,0,0,255,0.9791667,0.8333333,-0.77679074,0.10226654,0.125,1,0,0,0,255,0.9791667,0.9166667,-0.7244444,0.1941142,3.061617e-17,1,0,0,0,255,0.9583333,1,-0.7435836,0.09789474,3.061617e-17,1,0,0,0,255,0.9791667,2.220446e-16,-0.86751425,0.11421053,-0.21650635,1,0,0,0,255,0.9791667,0.16666667,-0.9914448,0.13052632,-0.25,1,0,0,0,255,0.9791667,0.25,-0.9659259,0.25881892,-0.25,1,0,0,0,255,0.9583333,0.25,-1.1153754,0.1468421,-0.21650635,1,0,0,0,255,0.9791667,0.33333334,-1.2060989,0.1587861,-0.125,1,0,0,0,255,0.9791667,0.41666666,-1.2165064,1.0635036e-7,0.125,1,0,0,0,255,1,0.5833333,-1.125,9.8350625e-8,0.21650635,1,0,0,0,255,1,0.6666667,-1,8.742278e-8,0.25,1,0,0,0,255,1,0.75,-0.875,7.649493e-8,0.21650635,1,0,0,0,255,1,0.8333333,-0.78349364,6.849519e-8,0.125,1,0,0,0,255,1,0.9166667,-0.7435836,0.09789474,3.061617e-17,1,0,0,0,255,0.9791667,1,-0.75,6.556708e-8,3.061617e-17,1,0,0,0,255,1,2.220446e-16,-0.77679074,0.10226654,-0.125,1,0,0,0,255,0.9791667,0.083333336,-0.875,7.649493e-8,-0.21650635,1,0,0,0,255,1,0.16666667,-1,8.742278e-8,-0.25,1,0,0,0,255,1,0.25,-1.125,9.8350625e-8,-0.21650635,1,0,0,0,255,1,0.33333334,-1.2165064,1.0635036e-7,-0.125,1,0,0,0,255,1,0.41666666,-1.239306,-0.1631579,0,1,0,0,0,255,0.020833334,0.5,-1.2165064,1.0635036e-7,0.125,1,0,0,0,255,8.881784e-16,0.5833333,-1.25,1.09278474e-7,0,1,0,0,0,255,8.881784e-16,0.5,-1.2060989,-0.1587861,0.125,1,0,0,0,255,0.020833334,0.5833333,-1.125,9.8350625e-8,0.21650635,1,0,0,0,255,8.881784e-16,0.6666667,-1.1153754,-0.1468421,0.21650635,1,0,0,0,255,0.020833334,0.6666667,-1,8.742278e-8,0.25,1,0,0,0,255,8.881784e-16,0.75,-0.9914448,-0.13052632,0.25,1,0,0,0,255,0.020833334,0.75,-0.875,7.649493e-8,0.21650635,1,0,0,0,255,8.881784e-16,0.8333333,-0.86751425,-0.11421053,0.21650635,1,0,0,0,255,0.020833334,0.8333333,-0.78349364,6.849519e-8,0.125,1,0,0,0,255,8.881784e-16,0.9166667,-0.77679074,-0.10226654,0.125,1,0,0,0,255,0.020833334,0.9166667,-0.75,6.556708e-8,3.061617e-17,1,0,0,0,255,8.881784e-16,1,-0.75,6.556708e-8,3.061617e-17,1,0,0,0,255,8.881784e-16,2.220446e-16,-0.77679074,-0.10226654,-0.125,1,0,0,0,255,0.020833334,0.083333336,-0.78349364,6.849519e-8,-0.125,1,0,0,0,255,8.881784e-16,0.083333336,-0.875,7.649493e-8,-0.21650635,1,0,0,0,255,8.881784e-16,0.16666667,-0.9914448,-0.13052632,-0.25,1,0,0,0,255,0.020833334,0.25,-1,8.742278e-8,-0.25,1,0,0,0,255,8.881784e-16,0.25,-1.1153754,-0.1468421,-0.21650635,1,0,0,0,255,0.020833334,0.33333334,-1.125,9.8350625e-8,-0.21650635,1,0,0,0,255,8.881784e-16,0.33333334,-1.2060989,-0.1587861,-0.125,1,0,0,0,255,0.020833334,0.41666666,-1.2165064,1.0635036e-7,-0.125,1,0,0,0,255,8.881784e-16,0.41666666,-1.175055,-0.31485486,0.125,1,0,0,0,255,0.041666668,0.5833333,-1.0866666,-0.29117128,0.21650635,1,0,0,0,255,0.041666668,0.6666667,-0.9659259,-0.25881892,0.25,1,0,0,0,255,0.041666668,0.75,-0.84518516,-0.22646657,0.21650635,1,0,0,0,255,0.041666668,0.8333333,-0.7567968,-0.20278297,0.125,1,0,0,0,255,0.041666668,0.9166667,-0.7435836,-0.09789474,3.061617e-17,1,0,0,0,255,0.020833334,1,-0.7244444,-0.1941142,3.061617e-17,1,0,0,0,255,0.041666668,2.220446e-16,-0.7435836,-0.09789474,3.061617e-17,1,0,0,0,255,0.020833334,2.220446e-16,-0.7567968,-0.20278297,-0.125,1,0,0,0,255,0.041666668,0.083333336,-0.86751425,-0.11421053,-0.21650635,1,0,0,0,255,0.020833334,0.16666667,-0.84518516,-0.22646657,-0.21650635,1,0,0,0,255,0.041666668,0.16666667,-0.9659259,-0.25881892,-0.25,1,0,0,0,255,0.041666668,0.25,-1.0866666,-0.29117128,-0.21650635,1,0,0,0,255,0.041666668,0.33333334,-1.2074074,-0.32352364,0,1,0,0,0,255,0.041666668,0.5,-1.1548496,-0.47835383,0,1,0,0,0,255,0.0625,0.5,-1.1239055,-0.4655364,0.125,1,0,0,0,255,0.0625,0.5833333,-0.9238797,-0.38268307,0.25,1,0,0,0,255,0.0625,0.75,-0.80839473,-0.3348477,0.21650635,1,0,0,0,255,0.0625,0.8333333,-0.7238538,-0.29982975,0.125,1,0,0,0,255,0.0625,0.9166667,-0.7244444,-0.1941142,3.061617e-17,1,0,0,0,255,0.041666668,1,-0.6929098,-0.2870123,3.061617e-17,1,0,0,0,255,0.0625,2.220446e-16,-0.80839473,-0.3348477,-0.21650635,1,0,0,0,255,0.0625,0.16666667,-0.9238797,-0.38268307,-0.25,1,0,0,0,255,0.0625,0.25,-1.1239055,-0.4655364,-0.125,1,0,0,0,255,0.0625,0.41666666,-1.175055,-0.31485486,-0.125,1,0,0,0,255,0.041666668,0.41666666,-1.0825319,-0.62499976,0,1,0,0,0,255,0.083333336,0.5,-1.0535256,-0.60825294,0.125,1,0,0,0,255,0.083333336,0.5833333,-1.0393647,-0.43051845,0.21650635,1,0,0,0,255,0.0625,0.6666667,-0.9742787,-0.5624998,0.21650635,1,0,0,0,255,0.083333336,0.6666667,-0.8660255,-0.49999982,0.25,1,0,0,0,255,0.083333336,0.75,-0.7577723,-0.43749985,0.21650635,1,0,0,0,255,0.083333336,0.8333333,-0.64951915,-0.37499988,3.061617e-17,1,0,0,0,255,0.083333336,1,-0.6929098,-0.2870123,3.061617e-17,1,0,0,0,255,0.0625,1,-0.64951915,-0.37499988,3.061617e-17,1,0,0,0,255,0.083333336,2.220446e-16,-0.7238538,-0.29982975,-0.125,1,0,0,0,255,0.0625,0.083333336,-0.67852545,-0.39174667,-0.125,1,0,0,0,255,0.083333336,0.083333336,-0.7577723,-0.43749985,-0.21650635,1,0,0,0,255,0.083333336,0.16666667,-0.9742787,-0.5624998,-0.21650635,1,0,0,0,255,0.083333336,0.33333334,-1.0393647,-0.43051845,-0.21650635,1,0,0,0,255,0.0625,0.33333334,-1.0535256,-0.60825294,-0.125,1,0,0,0,255,0.083333336,0.41666666,-0.99169165,-0.76095176,0,1,0,0,0,255,0.104166664,0.5,-0.96511936,-0.74056214,0.125,1,0,0,0,255,0.104166664,0.5833333,-0.89252245,-0.6848566,0.21650635,1,0,0,0,255,0.104166664,0.6666667,-0.6941842,-0.53266627,0.21650635,1,0,0,0,255,0.104166664,0.8333333,-0.67852545,-0.39174667,0.125,1,0,0,0,255,0.083333336,0.9166667,-0.6215873,-0.47696072,0.125,1,0,0,0,255,0.104166664,0.9166667,-0.595015,-0.45657107,3.061617e-17,1,0,0,0,255,0.104166664,2.220446e-16,-0.6941842,-0.53266627,-0.21650635,1,0,0,0,255,0.104166664,0.16666667,-0.8660255,-0.49999982,-0.25,1,0,0,0,255,0.083333336,0.25,-0.7933533,-0.6087614,-0.25,1,0,0,0,255,0.104166664,0.25,-0.96511936,-0.74056214,-0.125,1,0,0,0,255,0.104166664,0.41666666,-0.8838837,-0.88388324,0,1,0,0,0,255,0.125,0.5,-0.79549533,-0.7954949,0.21650635,1,0,0,0,255,0.125,0.6666667,-0.7933533,-0.6087614,0.25,1,0,0,0,255,0.104166664,0.75,-0.70710695,-0.7071066,0.25,1,0,0,0,255,0.125,0.75,-0.61871856,-0.61871827,0.21650635,1,0,0,0,255,0.125,0.8333333,-0.5540138,-0.5540135,0.125,1,0,0,0,255,0.125,0.9166667,-0.595015,-0.45657107,3.061617e-17,1,0,0,0,255,0.104166664,1,-0.5303302,-0.53032994,3.061617e-17,1,0,0,0,255,0.125,2.220446e-16,-0.6215873,-0.47696072,-0.125,1,0,0,0,255,0.104166664,0.083333336,-0.5540138,-0.5540135,-0.125,1,0,0,0,255,0.125,0.083333336,-0.70710695,-0.7071066,-0.25,1,0,0,0,255,0.125,0.25,-0.89252245,-0.6848566,-0.21650635,1,0,0,0,255,0.104166664,0.33333334,-0.79549533,-0.7954949,-0.21650635,1,0,0,0,255,0.125,0.33333334,-0.8602001,-0.8601997,-0.125,1,0,0,0,255,0.125,0.41666666,-0.7405627,-0.965119,0.125,1,0,0,0,255,0.14583333,0.5833333,-0.8602001,-0.8601997,0.125,1,0,0,0,255,0.125,0.5833333,-0.6848571,-0.89252216,0.21650635,1,0,0,0,255,0.14583333,0.6666667,-0.5326666,-0.6941839,0.21650635,1,0,0,0,255,0.14583333,0.8333333,-0.47696105,-0.62158704,0.125,1,0,0,0,255,0.14583333,0.9166667,-0.5303302,-0.53032994,3.061617e-17,1,0,0,0,255,0.125,1,-0.4565714,-0.59501475,3.061617e-17,1,0,0,0,255,0.14583333,2.220446e-16,-0.47696105,-0.62158704,-0.125,1,0,0,0,255,0.14583333,0.083333336,-0.61871856,-0.61871827,-0.21650635,1,0,0,0,255,0.125,0.16666667,-0.5326666,-0.6941839,-0.21650635,1,0,0,0,255,0.14583333,0.16666667,-0.60876185,-0.793353,-0.25,1,0,0,0,255,0.14583333,0.25,-0.6848571,-0.89252216,-0.21650635,1,0,0,0,255,0.14583333,0.33333334,-0.7405627,-0.965119,-0.125,1,0,0,0,255,0.14583333,0.41666666,-0.7609523,-0.9916913,0,1,0,0,0,255,0.14583333,0.5,-0.608253,-1.0535256,0.125,1,0,0,0,255,0.16666667,0.5833333,-0.5624998,-0.9742787,0.21650635,1,0,0,0,255,0.16666667,0.6666667,-0.60876185,-0.793353,0.25,1,0,0,0,255,0.14583333,0.75,-0.49999985,-0.8660255,0.25,1,0,0,0,255,0.16666667,0.75,-0.3917467,-0.67852545,0.125,1,0,0,0,255,0.16666667,0.9166667,-0.4565714,-0.59501475,3.061617e-17,1,0,0,0,255,0.14583333,1,-0.37499988,-0.64951915,3.061617e-17,1,0,0,0,255,0.16666667,2.220446e-16,-0.3917467,-0.67852545,-0.125,1,0,0,0,255,0.16666667,0.083333336,-0.43749988,-0.7577723,-0.21650635,1,0,0,0,255,0.16666667,0.16666667,-0.5624998,-0.9742787,-0.21650635,1,0,0,0,255,0.16666667,0.33333334,-0.608253,-1.0535256,-0.125,1,0,0,0,255,0.16666667,0.41666666,-0.4783544,-1.1548494,0,1,0,0,0,255,0.1875,0.5,-0.6249998,-1.0825319,0,1,0,0,0,255,0.16666667,0.5,-0.46553692,-1.1239053,0.125,1,0,0,0,255,0.1875,0.5833333,-0.43051895,-1.0393645,0.21650635,1,0,0,0,255,0.1875,0.6666667,-0.38268352,-0.9238795,0.25,1,0,0,0,255,0.1875,0.75,-0.43749988,-0.7577723,0.21650635,1,0,0,0,255,0.16666667,0.8333333,-0.33484808,-0.80839455,0.21650635,1,0,0,0,255,0.1875,0.8333333,-0.2998301,-0.7238537,0.125,1,0,0,0,255,0.1875,0.9166667,-0.37499988,-0.64951915,3.061617e-17,1,0,0,0,255,0.16666667,1,-0.28701264,-0.6929096,3.061617e-17,1,0,0,0,255,0.1875,2.220446e-16,-0.2998301,-0.7238537,-0.125,1,0,0,0,255,0.1875,0.083333336,-0.38268352,-0.9238795,-0.25,1,0,0,0,255,0.1875,0.25,-0.49999985,-0.8660255,-0.25,1,0,0,0,255,0.16666667,0.25,-0.46553692,-1.1239053,-0.125,1,0,0,0,255,0.1875,0.41666666,-0.3235242,-1.2074072,0,1,0,0,0,255,0.20833333,0.5,-0.31485543,-1.1750548,0.125,1,0,0,0,255,0.20833333,0.5833333,-0.2911718,-1.0866665,0.21650635,1,0,0,0,255,0.20833333,0.6666667,-0.25881937,-0.96592575,0.25,1,0,0,0,255,0.20833333,0.75,-0.20278333,-0.75679666,0.125,1,0,0,0,255,0.20833333,0.9166667,-0.28701264,-0.6929096,3.061617e-17,1,0,0,0,255,0.1875,1,-0.19411454,-0.7244443,3.061617e-17,1,0,0,0,255,0.20833333,2.220446e-16,-0.20278333,-0.75679666,-0.125,1,0,0,0,255,0.20833333,0.083333336,-0.33484808,-0.80839455,-0.21650635,1,0,0,0,255,0.1875,0.16666667,-0.22646695,-0.84518504,-0.21650635,1,0,0,0,255,0.20833333,0.16666667,-0.25881937,-0.96592575,-0.25,1,0,0,0,255,0.20833333,0.25,-0.43051895,-1.0393645,-0.21650635,1,0,0,0,255,0.1875,0.33333334,-0.31485543,-1.1750548,-0.125,1,0,0,0,255,0.20833333,0.41666666,-0.16315849,-1.239306,0,1,0,0,0,255,0.22916667,0.5,-0.14684264,-1.1153754,0.21650635,1,0,0,0,255,0.22916667,0.6666667,-0.1305268,-0.99144477,0.25,1,0,0,0,255,0.22916667,0.75,-0.22646695,-0.84518504,0.21650635,1,0,0,0,255,0.20833333,0.8333333,-0.102266915,-0.7767907,0.125,1,0,0,0,255,0.22916667,0.9166667,-0.19411454,-0.7244443,3.061617e-17,1,0,0,0,255,0.20833333,1,-0.0978951,-0.74358356,3.061617e-17,1,0,0,0,255,0.22916667,2.220446e-16,-0.102266915,-0.7767907,-0.125,1,0,0,0,255,0.22916667,0.083333336,-0.1305268,-0.99144477,-0.25,1,0,0,0,255,0.22916667,0.25,-0.2911718,-1.0866665,-0.21650635,1,0,0,0,255,0.20833333,0.33333334,-0.14684264,-1.1153754,-0.21650635,1,0,0,0,255,0.22916667,0.33333334,-0.15878668,-1.2060989,-0.125,1,0,0,0,255,0.22916667,0.41666666,9.4372375e-8,-1.25,0,1,0,0,0,255,0.25,0.5,-0.15878668,-1.2060989,0.125,1,0,0,0,255,0.22916667,0.5833333,9.1843674e-8,-1.2165064,0.125,1,0,0,0,255,0.25,0.5833333,7.54979e-8,-1,0.25,1,0,0,0,255,0.25,0.75,6.6060664e-8,-0.875,0.21650635,1,0,0,0,255,0.25,0.8333333,-0.11421095,-0.8675142,0.21650635,1,0,0,0,255,0.22916667,0.8333333,5.6623428e-8,-0.75,3.061617e-17,1,0,0,0,255,0.25,1,-0.0978951,-0.74358356,3.061617e-17,1,0,0,0,255,0.22916667,1,5.6623428e-8,-0.75,3.061617e-17,1,0,0,0,255,0.25,2.220446e-16,5.9152125e-8,-0.78349364,-0.125,1,0,0,0,255,0.25,0.083333336,-0.11421095,-0.8675142,-0.21650635,1,0,0,0,255,0.22916667,0.16666667,6.6060664e-8,-0.875,-0.21650635,1,0,0,0,255,0.25,0.16666667,7.54979e-8,-1,-0.25,1,0,0,0,255,0.25,0.25,8.493514e-8,-1.125,-0.21650635,1,0,0,0,255,0.25,0.33333334,9.1843674e-8,-1.2165064,-0.125,1,0,0,0,255,0.25,0.41666666,0.15878572,-1.206099,0.125,1,0,0,0,255,0.27083334,0.5833333,8.493514e-8,-1.125,0.21650635,1,0,0,0,255,0.25,0.6666667,0.14684176,-1.1153755,0.21650635,1,0,0,0,255,0.27083334,0.6666667,0.130526,-0.9914449,0.25,1,0,0,0,255,0.27083334,0.75,0.114210255,-0.86751425,0.21650635,1,0,0,0,255,0.27083334,0.8333333,5.9152125e-8,-0.78349364,0.125,1,0,0,0,255,0.25,0.9166667,0.1022663,-0.77679074,0.125,1,0,0,0,255,0.27083334,0.9166667,0.097894505,-0.7435837,3.061617e-17,1,0,0,0,255,0.27083334,2.220446e-16,0.114210255,-0.86751425,-0.21650635,1,0,0,0,255,0.27083334,0.16666667,0.130526,-0.9914449,-0.25,1,0,0,0,255,0.27083334,0.25,0.14684176,-1.1153755,-0.21650635,1,0,0,0,255,0.27083334,0.33333334,0.15878572,-1.206099,-0.125,1,0,0,0,255,0.27083334,0.41666666,0.32352325,-1.2074075,0,1,0,0,0,255,0.29166666,0.5,0.16315751,-1.2393061,0,1,0,0,0,255,0.27083334,0.5,0.31485447,-1.175055,0.125,1,0,0,0,255,0.29166666,0.5833333,0.29117092,-1.0866667,0.21650635,1,0,0,0,255,0.29166666,0.6666667,0.2588186,-0.96592593,0.25,1,0,0,0,255,0.29166666,0.75,0.22646627,-0.84518516,0.21650635,1,0,0,0,255,0.29166666,0.8333333,0.19411394,-0.72444445,3.061617e-17,1,0,0,0,255,0.29166666,1,0.097894505,-0.7435837,3.061617e-17,1,0,0,0,255,0.27083334,1,0.19411394,-0.72444445,3.061617e-17,1,0,0,0,255,0.29166666,2.220446e-16,0.1022663,-0.77679074,-0.125,1,0,0,0,255,0.27083334,0.083333336,0.20278272,-0.75679684,-0.125,1,0,0,0,255,0.29166666,0.083333336,0.2588186,-0.96592593,-0.25,1,0,0,0,255,0.29166666,0.25,0.29117092,-1.0866667,-0.21650635,1,0,0,0,255,0.29166666,0.33333334,0.31485447,-1.175055,-0.125,1,0,0,0,255,0.29166666,0.41666666,0.47835457,-1.1548493,0,1,0,0,0,255,0.3125,0.5,0.4655371,-1.1239052,0.125,1,0,0,0,255,0.3125,0.5833333,0.43051913,-1.0393643,0.21650635,1,0,0,0,255,0.3125,0.6666667,0.38268366,-0.92387944,0.25,1,0,0,0,255,0.3125,0.75,0.3348482,-0.8083945,0.21650635,1,0,0,0,255,0.3125,0.8333333,0.20278272,-0.75679684,0.125,1,0,0,0,255,0.29166666,0.9166667,0.29983023,-0.72385365,0.125,1,0,0,0,255,0.3125,0.9166667,0.28701276,-0.6929096,3.061617e-17,1,0,0,0,255,0.3125,2.220446e-16,0.29983023,-0.72385365,-0.125,1,0,0,0,255,0.3125,0.083333336,0.22646627,-0.84518516,-0.21650635,1,0,0,0,255,0.29166666,0.16666667,0.3348482,-0.8083945,-0.21650635,1,0,0,0,255,0.3125,0.16666667,0.43051913,-1.0393643,-0.21650635,1,0,0,0,255,0.3125,0.33333334,0.4655371,-1.1239052,-0.125,1,0,0,0,255,0.3125,0.41666666,0.62499994,-1.0825318,0,1,0,0,0,255,0.33333334,0.5,0.6082531,-1.0535254,0.125,1,0,0,0,255,0.33333334,0.5833333,0.49999997,-0.86602545,0.25,1,0,0,0,255,0.33333334,0.75,0.43749997,-0.75777227,0.21650635,1,0,0,0,255,0.33333334,0.8333333,0.3917468,-0.67852545,0.125,1,0,0,0,255,0.33333334,0.9166667,0.28701276,-0.6929096,3.061617e-17,1,0,0,0,255,0.3125,1,0.37499997,-0.6495191,3.061617e-17,1,0,0,0,255,0.33333334,2.220446e-16,0.3917468,-0.67852545,-0.125,1,0,0,0,255,0.33333334,0.083333336,0.43749997,-0.75777227,-0.21650635,1,0,0,0,255,0.33333334,0.16666667,0.38268366,-0.92387944,-0.25,1,0,0,0,255,0.3125,0.25,0.49999997,-0.86602545,-0.25,1,0,0,0,255,0.33333334,0.25,0.56249994,-0.9742786,-0.21650635,1,0,0,0,255,0.33333334,0.33333334,0.74056184,-0.9651196,0.125,1,0,0,0,255,0.35416666,0.5833333,0.56249994,-0.9742786,0.21650635,1,0,0,0,255,0.33333334,0.6666667,0.68485636,-0.8925227,0.21650635,1,0,0,0,255,0.35416666,0.6666667,0.6087612,-0.7933535,0.25,1,0,0,0,255,0.35416666,0.75,0.532666,-0.6941843,0.21650635,1,0,0,0,255,0.35416666,0.8333333,0.4769605,-0.6215874,0.125,1,0,0,0,255,0.35416666,0.9166667,0.37499997,-0.6495191,3.061617e-17,1,0,0,0,255,0.33333334,1,0.4565709,-0.5950151,3.061617e-17,1,0,0,0,255,0.35416666,2.220446e-16,0.4769605,-0.6215874,-0.125,1,0,0,0,255,0.35416666,0.083333336,0.532666,-0.6941843,-0.21650635,1,0,0,0,255,0.35416666,0.16666667,0.6087612,-0.7933535,-0.25,1,0,0,0,255,0.35416666,0.25,0.74056184,-0.9651196,-0.125,1,0,0,0,255,0.35416666,0.41666666,0.6082531,-1.0535254,-0.125,1,0,0,0,255,0.33333334,0.41666666,0.7609515,-0.9916919,0,1,0,0,0,255,0.35416666,0.5,0.86019945,-0.8602004,0.125,1,0,0,0,255,0.375,0.5833333,0.7071064,-0.7071072,0.25,1,0,0,0,255,0.375,0.75,0.6187181,-0.6187188,0.21650635,1,0,0,0,255,0.375,0.8333333,0.5540134,-0.55401397,0.125,1,0,0,0,255,0.375,0.9166667,0.4565709,-0.5950151,3.061617e-17,1,0,0,0,255,0.35416666,1,0.5303298,-0.5303304,3.061617e-17,1,0,0,0,255,0.375,2.220446e-16,0.5540134,-0.55401397,-0.125,1,0,0,0,255,0.375,0.083333336,0.6187181,-0.6187188,-0.21650635,1,0,0,0,255,0.375,0.16666667,0.7071064,-0.7071072,-0.25,1,0,0,0,255,0.375,0.25,0.68485636,-0.8925227,-0.21650635,1,0,0,0,255,0.35416666,0.33333334,0.86019945,-0.8602004,-0.125,1,0,0,0,255,0.375,0.41666666,0.883883,-0.88388395,0,1,0,0,0,255,0.375,0.5,0.9651195,-0.740562,0.125,1,0,0,0,255,0.39583334,0.5833333,0.79549474,-0.79549557,0.21650635,1,0,0,0,255,0.375,0.6666667,0.79335344,-0.6087613,0.25,1,0,0,0,255,0.39583334,0.75,0.69418424,-0.53266615,0.21650635,1,0,0,0,255,0.39583334,0.8333333,0.6215874,-0.4769606,0.125,1,0,0,0,255,0.39583334,0.9166667,0.5303298,-0.5303304,3.061617e-17,1,0,0,0,255,0.375,1,0.59501505,-0.45657098,3.061617e-17,1,0,0,0,255,0.39583334,2.220446e-16,0.69418424,-0.53266615,-0.21650635,1,0,0,0,255,0.39583334,0.16666667,0.79335344,-0.6087613,-0.25,1,0,0,0,255,0.39583334,0.25,0.79549474,-0.79549557,-0.21650635,1,0,0,0,255,0.375,0.33333334,0.89252263,-0.6848565,-0.21650635,1,0,0,0,255,0.39583334,0.33333334,0.9651195,-0.740562,-0.125,1,0,0,0,255,0.39583334,0.41666666,1.0825317,-0.6250001,0,1,0,0,0,255,0.41666666,0.5,0.9916918,-0.76095164,0,1,0,0,0,255,0.39583334,0.5,1.0535253,-0.6082533,0.125,1,0,0,0,255,0.41666666,0.5833333,0.89252263,-0.6848565,0.21650635,1,0,0,0,255,0.39583334,0.6666667,0.9742785,-0.5625001,0.21650635,1,0,0,0,255,0.41666666,0.6666667,0.8660253,-0.5000001,0.25,1,0,0,0,255,0.41666666,0.75,0.75777215,-0.43750012,0.21650635,1,0,0,0,255,0.41666666,0.8333333,0.6785253,-0.3917469,0.125,1,0,0,0,255,0.41666666,0.9166667,0.59501505,-0.45657098,3.061617e-17,1,0,0,0,255,0.39583334,1,0.64951897,-0.3750001,3.061617e-17,1,0,0,0,255,0.41666666,2.220446e-16,0.6215874,-0.4769606,-0.125,1,0,0,0,255,0.39583334,0.083333336,0.75777215,-0.43750012,-0.21650635,1,0,0,0,255,0.41666666,0.16666667,0.8660253,-0.5000001,-0.25,1,0,0,0,255,0.41666666,0.25,1.0535253,-0.6082533,-0.125,1,0,0,0,255,0.41666666,0.41666666,1.1548493,-0.47835475,0,1,0,0,0,255,0.4375,0.5,1.1239052,-0.46553728,0.125,1,0,0,0,255,0.4375,0.5833333,0.9238794,-0.3826838,0.25,1,0,0,0,255,0.4375,0.75,0.80839443,-0.33484834,0.21650635,1,0,0,0,255,0.4375,0.8333333,0.72385365,-0.29983035,0.125,1,0,0,0,255,0.4375,0.9166667,0.64951897,-0.3750001,3.061617e-17,1,0,0,0,255,0.41666666,1,0.69290954,-0.28701288,3.061617e-17,1,0,0,0,255,0.4375,2.220446e-16,0.6785253,-0.3917469,-0.125,1,0,0,0,255,0.41666666,0.083333336,0.72385365,-0.29983035,-0.125,1,0,0,0,255,0.4375,0.083333336,0.80839443,-0.33484834,-0.21650635,1,0,0,0,255,0.4375,0.16666667,0.9238794,-0.3826838,-0.25,1,0,0,0,255,0.4375,0.25,0.9742785,-0.5625001,-0.21650635,1,0,0,0,255,0.41666666,0.33333334,1.0393643,-0.43051928,-0.21650635,1,0,0,0,255,0.4375,0.33333334,1.1239052,-0.46553728,-0.125,1,0,0,0,255,0.4375,0.41666666,1.2074074,-0.32352346,0,1,0,0,0,255,0.45833334,0.5,1.175055,-0.31485468,0.125,1,0,0,0,255,0.45833334,0.5833333,1.0393643,-0.43051928,0.21650635,1,0,0,0,255,0.4375,0.6666667,1.0866666,-0.29117113,0.21650635,1,0,0,0,255,0.45833334,0.6666667,0.9659259,-0.25881878,0.25,1,0,0,0,255,0.45833334,0.75,0.84518516,-0.22646643,0.21650635,1,0,0,0,255,0.45833334,0.8333333,0.7567968,-0.20278287,0.125,1,0,0,0,255,0.45833334,0.9166667,0.69290954,-0.28701288,3.061617e-17,1,0,0,0,255,0.4375,1,0.7244444,-0.19411409,3.061617e-17,1,0,0,0,255,0.45833334,2.220446e-16,0.84518516,-0.22646643,-0.21650635,1,0,0,0,255,0.45833334,0.16666667,0.9659259,-0.25881878,-0.25,1,0,0,0,255,0.45833334,0.25,1.0866666,-0.29117113,-0.21650635,1,0,0,0,255,0.45833334,0.33333334,1.175055,-0.31485468,-0.125,1,0,0,0,255,0.45833334,0.41666666,1.206099,-0.15878591,0.125,1,0,0,0,255,0.47916666,0.5833333,1.1153755,-0.14684194,0.21650635,1,0,0,0,255,0.47916666,0.6666667,0.9914449,-0.13052617,0.25,1,0,0,0,255,0.47916666,0.75,0.86751425,-0.1142104,0.21650635,1,0,0,0,255,0.47916666,0.8333333,0.7435837,-0.097894624,3.061617e-17,1,0,0,0,255,0.47916666,1,0.7244444,-0.19411409,3.061617e-17,1,0,0,0,255,0.45833334,1,0.7435837,-0.097894624,3.061617e-17,1,0,0,0,255,0.47916666,2.220446e-16,0.7567968,-0.20278287,-0.125,1,0,0,0,255,0.45833334,0.083333336,0.77679074,-0.10226642,-0.125,1,0,0,0,255,0.47916666,0.083333336,0.9914449,-0.13052617,-0.25,1,0,0,0,255,0.47916666,0.25,1.1153755,-0.14684194,-0.21650635,1,0,0,0,255,0.47916666,0.33333334,1.206099,-0.15878591,-0.125,1,0,0,0,255,0.47916666,0.41666666,1.2393061,-0.16315772,0,1,0,0,0,255,0.47916666,0.5,0.77679074,-0.10226642,0.125,1,0,0,0,255,0.47916666,0.9166667,0.86751425,-0.1142104,-0.21650635,1,0,0,0,255,0.47916666,0.16666667,-1.25,1.09278474e-7,0,1,0,0,0,255,1,0.5,-0.75,6.556708e-8,3.061617e-17,1,0,0,0,255,1,1,-0.78349364,6.849519e-8,-0.125,1,0,0,0,255,1,0.083333336]); - -export default new Mesh({ - mesh, - positionSize: 4, - colorSize: 4, - uvSize: 2, - vertexCount: 637, - stride: 10, - name: "src/meshes/torus.ply", -});