glsl-inject-defines
Safely inject #define
statements into a shader source.
If the shader contains any #version
or #extension
statements, the defines are added after them.
Example
// Your cool shader #version 330#extension GL_OES_standard_derivatives : enable void
You can process it at runtime, like so:
var injectDefines = var fs = var source = fs var transformed = console
The resulting shader:
// Your cool shader #version 330#extension GL_OES_standard_derivatives : enable void
Works in the browser with browserify and glslify.
Install
npm install glsl-inject-defines
Usage
newSource = injectDefines(source, defines)
Injects the set of defines
, an object with <name, value>
pairs that will get turned into strings for the shader source.
Returns the transformed source, with defines injected after extension and version statements.
License
MIT. See LICENSE.md for details.