{"_id":"@andersgee/webgl2-utils","_rev":"2-520b43e6ff76b2677ab1530cff08a6b9","name":"@andersgee/webgl2-utils","dist-tags":{"latest":"0.1.0"},"versions":{"0.0.2":{"name":"@andersgee/webgl2-utils","author":{"name":"andersgee"},"license":"MIT","version":"0.0.2","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","scripts":{"build":"tsup index.ts --format cjs,esm --dts","lint":"tsc"},"devDependencies":{"@changesets/cli":"^2.26.0","tsup":"^6.5.0","typescript":"^4.9.4"},"gitHead":"53be2a612a02a2857b135c5d79368525d75f9f8a","description":"utility functions for working with webgl2","_id":"@andersgee/webgl2-utils@0.0.2","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-kzUy8Ed6qy64p2uEfd7/yk7QK5cb/2mB5KGnhPdHW/PWA4It1fh5absB1KKA9PqW2veYAAONILnblQToN8Iyiw==","shasum":"350d748316e5c932cac4093d44d7c6f29c2bdf25","tarball":"https://registry.npmjs.org/@andersgee/webgl2-utils/-/webgl2-utils-0.0.2.tgz","fileCount":16,"unpackedSize":23894,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAJUXXW3zOeGMpF/7p7ZuuyEQCxY68vhvcz9aZxdzg9bAiEAsp2r5ENfNpuS2k8ZKqTFMdMTQEYfH9Z3kA4J+XtWRe0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2qEgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo8GQ/+OGR8OuoxZ+7jOkn7QXRURKdjGG3s5cRDNhD1xMiy40eDkzLm\r\nQwZzW5cMOdMuXWp+aG9TqQPC8JVW0aEDOuzvbFJC9oo8ATu/1tyXralY2syt\r\nmeLpw3Qcz5juprGp9Pyy+O0nnrXsZKO7OE+rowjfVpmFFpNGf2PWb4mAmLvL\r\nv4qUBKqW5QOiB3+3ncU3Es0ZkRDeRqBAuPKXwsm0azH0q8ewLq35OY2Yw8sa\r\nobCvo2gljopy+gahKSK5XzC3SrBXInMRVNZVX1iNwKW+ahChPkW7dV2uWtvd\r\nCoGOsH1AxS3pM/28A8rFxFQzm4L6Q/XUCrVvmDqxVoPekbtAHEaAAJbUBs1B\r\ndzYW1zxviiasSEL6qMQmv5IxXcQxi272dUCmGx5dR7kQIHtuK2TkQ+ZKZf4I\r\nCD2KlXwy47CVrjz4064yzvmuEhyuiV0JFA5axscQKdYFWmGKyKL7meWHDTHU\r\nLvj+kR+Fi+GDRM4R9rvmdwA6O29uV22L8aWjL2uubHpecy4Xyvo0h+/pTbjP\r\neFPNLmerqUoH+c9l7DzYGaXpg6l3N6+yNZQthCgMUwYla0ilwHOeEPhLXOfx\r\nbZqyMGOM7z6w2cFwbRZeLOUDPGqY9GUnIUPrqTzFR6QQ6EhmEIN7bGDhyQ26\r\nZ23G77zQJ9FYcAIsRNA1YU2sirj8A4oP3W4=\r\n=0F8F\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"andersgee","email":"andersgee@gmail.com"},"directories":{},"maintainers":[{"name":"andersgee","email":"andersgee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/webgl2-utils_0.0.2_1675272480724_0.7426363408334129"},"_hasShrinkwrap":false},"0.0.4":{"name":"@andersgee/webgl2-utils","author":{"name":"andersgee"},"license":"MIT","version":"0.0.4","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/andersgee/webgl2-utils.git"},"devDependencies":{"@changesets/cli":"^2.26.0","tsup":"^6.5.0","typescript":"^4.9.4"},"scripts":{"build":"tsup index.ts --format cjs,esm --dts","lint":"tsc"},"description":"utility functions for working with webgl2","bugs":{"url":"https://github.com/andersgee/webgl2-utils/issues"},"homepage":"https://github.com/andersgee/webgl2-utils#readme","_id":"@andersgee/webgl2-utils@0.0.4","_integrity":"sha512-DtB/6kjbtcRVD/5nQhqi24lJ7lujinPSydKTbh9jw6XnnlL81+4x1cxOsVtUP3P3DDC0fwyuJLA9h1lyfi3AdQ==","_resolved":"/tmp/3103f4016f7284dd91b9a66085bedd03/andersgee-webgl2-utils-0.0.4.tgz","_from":"file:andersgee-webgl2-utils-0.0.4.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-DtB/6kjbtcRVD/5nQhqi24lJ7lujinPSydKTbh9jw6XnnlL81+4x1cxOsVtUP3P3DDC0fwyuJLA9h1lyfi3AdQ==","shasum":"c652e9c51679c30587d8c8e1c6b620be82b94586","tarball":"https://registry.npmjs.org/@andersgee/webgl2-utils/-/webgl2-utils-0.0.4.tgz","fileCount":5,"unpackedSize":35095,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCtBuUa/LOchgSJfn27MUeEFEEQMkp86OCfkQ9wfgPF6gIgB8oNeOPYnZGunohhVqE16hE9VaKnelapWdJTCUkO9Vo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2tLqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq9iw/8CT8znPjCSuYJOxL2F3WmUy4jLnyUk/vQsii9R2xHKuvBHHfK\r\nAgRv1LaTwP5YBxlN4ss4gxlMsuGRl09R+4mOShodb6cVW/bhCWY4m20hRY6g\r\ng8fEPrMm2KSfPgCfvBOUvd15mBhrdx/rxUAjaEDBgYiAdSZJguIyXMuO57hh\r\nxbtyacMDpaFV7AamBesaGJfqqJXAJZdeP2p9bFALC9FEGej8rTpl41BiFwCg\r\n/WRzZIneMich27GGpABrjnkPih3nyS+aXXWXjQsDftppVMWSESGIkO85PBZp\r\nf9DgMBA1+a1jcvvz3nSeeFbqJ8ZTzfudHkIj1r5KRMBoTLK0G/gW1TddCTv5\r\nJzmtokO66jFahlSJ4JLOAsjtglP6ct3ECGwzL136equPtQ5Qbbg3azG2Dwme\r\nyJacBMbzsMDwaPEIh5wy3hY87DJHdA519wdFFNpNZJ9dk9ICptV5JLo/ILZ7\r\nQxrvm1J3o9qS9FRMJRf/J0x74WhrTjv+OApqsv4Tr+NA/pB/Bd7CyYecuR8M\r\nuv3qx1qdU4i2dL1BTuPxq+HbHm3DjqizROUOSWWWoeDK56zVX2UnyMHmTFgT\r\nALjDG70xMCMvaFyBafl084gAppRmdgls6PGbIugMjCSREbuoI9yZUXR4D4nC\r\nuoo47J+kMtFl8OAJhJ0NwaIhqAriGACbHag=\r\n=2AKh\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"andersgee","email":"andersgee@gmail.com"},"directories":{},"maintainers":[{"name":"andersgee","email":"andersgee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/webgl2-utils_0.0.4_1675285226709_0.6466523624291529"},"_hasShrinkwrap":false},"0.1.0":{"name":"@andersgee/webgl2-utils","author":{"name":"andersgee"},"license":"MIT","version":"0.1.0","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/andersgee/webgl2-utils.git"},"devDependencies":{"@changesets/cli":"^2.26.0","tsup":"^6.5.0","typescript":"^4.9.4"},"scripts":{"build":"tsup index.ts --format cjs,esm --dts","lint":"tsc"},"description":"utility functions for working with webgl2","bugs":{"url":"https://github.com/andersgee/webgl2-utils/issues"},"homepage":"https://github.com/andersgee/webgl2-utils#readme","_id":"@andersgee/webgl2-utils@0.1.0","_integrity":"sha512-v6wE8dIAmqR1/9JVfteOBx8VvEA/wjhJV1x/QGeeXZKpzMGbX0MrT80ieYipYPDuXbnQP74jZTiHr919Wn2HYw==","_resolved":"/tmp/a953c274f268d7ef6adff1d5f5d23dbf/andersgee-webgl2-utils-0.1.0.tgz","_from":"file:andersgee-webgl2-utils-0.1.0.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-v6wE8dIAmqR1/9JVfteOBx8VvEA/wjhJV1x/QGeeXZKpzMGbX0MrT80ieYipYPDuXbnQP74jZTiHr919Wn2HYw==","shasum":"974fe5f045d36a7bbc010c4b38f0a614a7bac6aa","tarball":"https://registry.npmjs.org/@andersgee/webgl2-utils/-/webgl2-utils-0.1.0.tgz","fileCount":5,"unpackedSize":38438,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAE3HUiSF0Gf+/QaXqEAeHtWapVJ5c1FqIX5mmtDMUpnAiEAi7El1cB+LqfSfFI63eZYY+NDz5Ts1SGBbC4QOj9upRQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj255GACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpWpQ//eRJ195mN/hF7m3C/a1xOE0cjBO45tv+Vki0jMSw/GepFloth\r\nzPk3aNJPxJGURzZLM9apT+ve/XoD06KsFBX6RvICRHSE43Os4CrUNHprmXXc\r\nxgC00J/wekrOv0e4BrH9YcCbvruVqc4t1Pt2b9vy1R5W0e0cEEw2Hp/Xej1s\r\nV+NWWLd3eMKMA8Fvg4L3UIqjw+G+5/rNJ2t69N1TkgPThdFFh8tvN8kY9tXH\r\ny/fe7ELkxS39QyyZMFDdMRAnZsJAH4O5YhjWnDoVtf3iCr4Z0/2GuYUplhMH\r\nDT66oOYjIlRcqlAF2bO0a58gZpoammxqFh0b8iN8sGE6rA8sRIAU3oy6EaaS\r\nEZiK9ZsntfhDC3yIK5yzCZ+I9AB4Sb5lTnEsZZ1ukbsDA4Rt2Od4gKCXgK4Y\r\nYn6TaU+4OBt2dO4uR/Jt4VkEzTOetpwbAo3OC0/2KO4X0yh6MRFBLCiiW5J2\r\nxdzxlcso8Mq0YpI5hXSmL0ifLpx08c+NkWWy/iF2XPktwRr/JPEIdewRHCAM\r\nOl7Qj7tFkpbU0EgQBdYv4RMzGjv94eeLWfFmOXLM2pVybzjjNIWTmaYz0TUi\r\n4usx26Nu8Ah2tpSg5FKDyIrrDNjDSichP+E9aGOgMXxK6n5MTjjlQ8i9wNDA\r\nwByXI3pOsEk+iutUP5+WrmcPjnqgDzB+h0Y=\r\n=Ao7T\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"andersgee","email":"andersgee@gmail.com"},"directories":{},"maintainers":[{"name":"andersgee","email":"andersgee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/webgl2-utils_0.1.0_1675337285916_0.6952700338364384"},"_hasShrinkwrap":false}},"time":{"created":"2023-02-01T17:28:00.612Z","0.0.2":"2023-02-01T17:28:00.936Z","modified":"2023-02-02T11:28:06.203Z","0.0.4":"2023-02-01T21:00:26.934Z","0.1.0":"2023-02-02T11:28:06.090Z"},"maintainers":[{"name":"andersgee","email":"andersgee@gmail.com"}],"description":"utility functions for working with webgl2","author":{"name":"andersgee"},"license":"MIT","readme":"# webgl2-utils\n\nutility functions for working with webgl2\n\n## example usage\n\nview this [example live here](https://webgl2-utils-example.vercel.app/)\n\n```ts\nimport * as webgl from \"@andersgee/webgl2-utils\";\n\n// a string containing both vertex and fragment shader\n// this would be in a .glsl file but inlined here for this example\nconst glsl = `#version 300 es\nprecision mediump float;\n\n#ifdef VERT\nin vec2 position;\nin vec2 uv;\nout vec2 vuv;\n\nvoid main() {\n  vuv = uv;\n  gl_Position = vec4(position, 0.0, 1.0);\n}\n#endif\n\n#ifdef FRAG\nuniform vec3 color1;\nuniform vec3 color2;\nin vec2 vuv;\nout vec4 fragcolor;\n\nvoid main() {\n  vec3 color = mix(color1, color2, vuv.x);\n  fragcolor = vec4(color, 1.0);\n}\n#endif\n`;\n\n// specify shader layout (what attributes and uniforms it uses)\nconst layout: webgl.ProgramLayout = {\n  attributes: new Map([\n    [\"position\", webgl.Atype.vec2],\n    [\"uv\", webgl.Atype.vec2],\n  ]),\n  uniforms: new Map([\n    [\"color1\", webgl.Utype.vec3],\n    [\"color2\", webgl.Utype.vec3],\n  ]),\n};\n\n// create some model data, to be used as vertex array object\nconst model: webgl.Model = {\n  index: [0, 1, 2, 2, 3, 0],\n  position: [-1, -1, 1, -1, 1, 1, -1, 1],\n  uv: [0, 0, 1, 0, 1, 1, 0, 1],\n};\n\n// and some default uniform values\nconst uniforms = {\n  color1: [1, 0, 0],\n  color2: [0, 1, 0],\n};\n\n//initialize everything\nconst canvas = document.getElementById(\"canvas\") as HTMLCanvasElement;\nconst gl = webgl.createWebgl2Context(canvas);\nconst shader = webgl.createProgram(gl, layout, glsl);\nconst vao = webgl.createVao(gl, shader.programAttributes, model);\n\n//and draw\nfunction render(elapsed_ms: number, elapsed_ms_since_last_render: number) {\n  webgl.setProgram(gl, shader.program);\n\n  //change colors a bit\n  uniforms.color1[0] = 0.5 + 0.5 * Math.sin(elapsed_ms / 1000);\n  uniforms.color2[2] = 0.5 + 0.5 * Math.cos(elapsed_ms / 1000);\n\n  webgl.setUniforms(gl, shader.programUniforms, uniforms);\n  gl.clear(gl.DEPTH_BUFFER_BIT | gl.COLOR_BUFFER_BIT);\n  webgl.draw(gl, vao);\n}\n\nwebgl.startRequestAnimationFrameLoop(render);\n```\n","readmeFilename":"README.md","homepage":"https://github.com/andersgee/webgl2-utils#readme","repository":{"type":"git","url":"git+https://github.com/andersgee/webgl2-utils.git"},"bugs":{"url":"https://github.com/andersgee/webgl2-utils/issues"}}