{"_id":"glsl-inject-defines","_rev":"6-3e0d93281042baa95627e17a1ea52ebf","name":"glsl-inject-defines","description":"injects a #define statement into a shader source","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"glsl-inject-defines","version":"1.0.0","description":"injects a #define statement into a shader source","main":"string.js","license":"MIT","scripts":{"test":"node test/test.js | faucet"},"author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"http://github.com/mattdesl"},"dependencies":{"glsl-token-string":"^1.0.1","glsl-tokenizer":"^2.0.2"},"devDependencies":{"faucet":"0.0.1","tape":"^4.0.0"},"repository":{"type":"git","url":"git://github.com/stackgl/glsl-inject-defines.git"},"keywords":["ecosystem:stackgl","inject","define","shader","stackgl","webgl","shader","glsl"],"homepage":"https://github.com/stackgl/glsl-inject-defines","bugs":{"url":"https://github.com/stackgl/glsl-inject-defines/issues"},"gitHead":"45491d3360c5bdff6c9145c41c87644f36b63a4b","_id":"glsl-inject-defines@1.0.0","_shasum":"c3ab0abb68e55712cb74a396995a59cef45cdeb6","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.10.32","_npmUser":{"name":"mattdesl","email":"dave.des@gmail.com"},"dist":{"shasum":"c3ab0abb68e55712cb74a396995a59cef45cdeb6","tarball":"https://registry.npmjs.org/glsl-inject-defines/-/glsl-inject-defines-1.0.0.tgz","integrity":"sha512-ty2J68k/0h00XD2e5YgfeJ6lLuA5C/30WlPPNuzNkBsSMVsLDH74iXjFPXMWz9A2W/hyD+CVT0K4wraC8EKvGA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDTdV+6bVViP6fkTsGiLeaXHN3y2N2edXIY5YG6DZ/8cgIgBXzVQBbkS7UK+kd2LaESWXzZcEeiT/vMXhUqwbYDnP8="}]},"maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}]},"1.0.1":{"name":"glsl-inject-defines","version":"1.0.1","description":"injects a #define statement into a shader source","main":"string.js","license":"MIT","scripts":{"test":"node test/test.js | faucet"},"author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"http://github.com/mattdesl"},"dependencies":{"glsl-token-string":"^1.0.1","glsl-tokenizer":"^2.0.2"},"devDependencies":{"faucet":"0.0.1","tape":"^4.0.0"},"repository":{"type":"git","url":"git://github.com/stackgl/glsl-inject-defines.git"},"keywords":["ecosystem:stackgl","inject","define","shader","stackgl","webgl","shader","glsl"],"homepage":"https://github.com/stackgl/glsl-inject-defines","bugs":{"url":"https://github.com/stackgl/glsl-inject-defines/issues"},"gitHead":"129fd0f774738b7bca60eee1f3096535e9aeac55","_id":"glsl-inject-defines@1.0.1","_shasum":"371a480f68a612d7e1a1682cf6c2d196915fd676","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.10.32","_npmUser":{"name":"mattdesl","email":"dave.des@gmail.com"},"dist":{"shasum":"371a480f68a612d7e1a1682cf6c2d196915fd676","tarball":"https://registry.npmjs.org/glsl-inject-defines/-/glsl-inject-defines-1.0.1.tgz","integrity":"sha512-qmpzgK6v2w8GszJwSz1zrVdMuX91oAoYsXyrQwcBa6M6lzJBeueFRkJiA7Fbql4C8TOj1gaGK+Mnkg2HBPXaJQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEXysQvR3wlhOQDwDfmt0bCc+uOAVVt2zul9iweYW17wAiARvfa3OhPA4Hqb/RNlgk0Ep3k0VQpPUchLvjfnlVqN+w=="}]},"maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}]},"1.0.2":{"name":"glsl-inject-defines","version":"1.0.2","description":"injects a #define statement into a shader source","main":"string.js","license":"MIT","scripts":{"test":"node test/test.js | faucet"},"author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"http://github.com/mattdesl"},"dependencies":{"glsl-token-inject-block":"^1.0.0","glsl-token-string":"^1.0.1","glsl-tokenizer":"^2.0.2"},"devDependencies":{"faucet":"0.0.1","tape":"^4.0.0"},"repository":{"type":"git","url":"git://github.com/stackgl/glsl-inject-defines.git"},"keywords":["ecosystem:stackgl","inject","define","shader","stackgl","webgl","shader","glsl"],"homepage":"https://github.com/stackgl/glsl-inject-defines","bugs":{"url":"https://github.com/stackgl/glsl-inject-defines/issues"},"gitHead":"53d89485748f878a6d0349a41aad3055f81c6af2","_id":"glsl-inject-defines@1.0.2","_shasum":"879b5c80a04779b45d5de0268c13cc91f3080751","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.10.32","_npmUser":{"name":"mattdesl","email":"dave.des@gmail.com"},"dist":{"shasum":"879b5c80a04779b45d5de0268c13cc91f3080751","tarball":"https://registry.npmjs.org/glsl-inject-defines/-/glsl-inject-defines-1.0.2.tgz","integrity":"sha512-+Oq3Wl+L+nmKiv13THvPD63Fgx+bcLocvH19GbZqFAJevQcRqTEKzL8I5HR/U4L7smR+cjKMBD+ZHJcNK5/6+A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFjeaDVJJx/jq9wAm6b4sBYtOzsUknNe/Igtqi2Qyoo9AiEAkyMWdYHpwFMJJoxuAR+FTljLVgrljV7W/AN65QbqEpY="}]},"maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}]},"1.0.3":{"name":"glsl-inject-defines","version":"1.0.3","description":"injects a #define statement into a shader source","main":"string.js","license":"MIT","scripts":{"test":"node test/test.js | faucet"},"author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"http://github.com/mattdesl"},"dependencies":{"glsl-token-inject-block":"^1.0.0","glsl-token-string":"^1.0.1","glsl-tokenizer":"^2.0.2"},"devDependencies":{"faucet":"0.0.1","tape":"^4.0.0"},"repository":{"type":"git","url":"git://github.com/mattdesl/glsl-inject-defines.git"},"keywords":["ecosystem:stackgl","inject","define","shader","stackgl","webgl","shader","glsl"],"homepage":"https://github.com/mattdesl/glsl-inject-defines","bugs":{"url":"https://github.com/mattdesl/glsl-inject-defines/issues"},"gitHead":"6a813e550553b18d3f4f88855558d810cb266084","_id":"glsl-inject-defines@1.0.3","_shasum":"dd1aacc2c17fcb2bd3fc32411c6633d0d7b60fd4","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.10.32","_npmUser":{"name":"mattdesl","email":"dave.des@gmail.com"},"dist":{"shasum":"dd1aacc2c17fcb2bd3fc32411c6633d0d7b60fd4","tarball":"https://registry.npmjs.org/glsl-inject-defines/-/glsl-inject-defines-1.0.3.tgz","integrity":"sha512-W49jIhuDtF6w+7wCMcClk27a2hq8znvHtlGnrYkSWEr8tHe9eA2dcnohlcAmxLYBSpSSdzOkRdyPTrx9fw49+A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDsfFHG0pqDOK+uLrNUKTbIcriZ/UrW0K5DHl2n9OcoHQIgBwzzceP3s8ykOhYsMo/p87ttqaRY23eDYCwUDFcQ6UY="}]},"maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}]}},"readme":"# glsl-inject-defines\n\n[![stable](http://badges.github.io/stability-badges/dist/stable.svg)](http://github.com/badges/stability-badges)\n\nSafely inject `#define` statements into a shader source. \n\nIf the shader contains any `#version` or `#extension` statements, the defines are added after them. \n\n## Example\n\n```glsl\n// Your cool shader\n#version 330\n#extension GL_OES_standard_derivatives : enable\n\nvoid main() {\n  #ifdef BLUE\n    gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0);\n  #else\n    gl_FragColor = vec4(0.0);\n  #endif\n}\n```\n\nYou can process it at runtime, like so:\n\n```js\nvar injectDefines = require('glsl-inject-defines')\nvar fs = require('fs')\n\nvar source = fs.readFileSync(__dirname + '/shader.glsl', 'utf8')\n\nvar transformed = injectDefines(source, {\n  PI: 3.14,\n  BLUE: ''\n})\nconsole.log(transformed)\n```\n\nThe resulting shader:\n\n```glsl\n// Your cool shader\n#version 330\n#extension GL_OES_standard_derivatives : enable\n#define PI 3.14\n#define BLUE \n\nvoid main() {\n  #ifdef BLUE\n    gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0);\n  #else\n    gl_FragColor = vec4(0.0);\n  #endif\n}\n```\n\nWorks in the browser with browserify and [glslify](https://www.npmjs.com/package/glslify).\n\n## Install\n\n```sh\nnpm install glsl-inject-defines\n```\n\n## Usage\n\n[![NPM](https://nodei.co/npm/glsl-inject-defines.png)](https://www.npmjs.com/package/glsl-inject-defines)\n\n#### `newSource = injectDefines(source, defines)`\n\nInjects the set of `defines`, an object with `<name, value>` pairs that will get turned into strings for the shader source.\n\nReturns the transformed source, with defines injected after extension and version statements.\n\n## License\n\nMIT. See [LICENSE.md](http://github.com/stackgl/glsl-inject-defines/blob/master/LICENSE.md) for details.\n","maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}],"time":{"modified":"2022-06-18T13:00:57.946Z","created":"2015-06-24T03:59:28.542Z","1.0.0":"2015-06-24T03:59:28.542Z","1.0.1":"2015-06-24T04:00:54.784Z","1.0.2":"2015-06-25T21:13:25.204Z","1.0.3":"2015-06-28T15:54:48.342Z"},"homepage":"https://github.com/mattdesl/glsl-inject-defines","keywords":["ecosystem:stackgl","inject","define","shader","stackgl","webgl","shader","glsl"],"repository":{"type":"git","url":"git://github.com/mattdesl/glsl-inject-defines.git"},"author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"http://github.com/mattdesl"},"bugs":{"url":"https://github.com/mattdesl/glsl-inject-defines/issues"},"license":"MIT","readmeFilename":"README.md"}