given a file path, create a readable stream of glsl-parser AST nodes that represent the complete dependency tree of a glsl program.
// usage: node test.js main.glsl > output.glslvar glslify =deparser =var file =
// main.glslprecision highp float;uniform float time;uniform vec2 mouse;uniform vec2 resolution;intvoid
GLSLify works by mangling top-level identities in non-root modules.
Exported variables will be aliased on requirement.
#pragma glslify: VARIABLE = require(MODULE[, NAME=EXPR])
Import a module and assign it the name
VARIABLE in the local program.
MODULE may be located within
node_modules/ or relative to the current file.
Quotes are not allowed.
If the target module defines
uniform global variables,
you may map those to a local definition or expression:
attribute vec4 position;
If a mapping is not defined, those requirements are forwarded on to the module requiring the current module -- if no mappings are found for a definition, an error is raised.
#pragma glslify: export(NAME)
Exports a local name from the current module. If the current module is the root, this is
a no-op. There may be only one exported
NAME per module. The
NAME may represent a
type, function, or variable.
glslify(path_to_file) -> readable stream
Return a readable stream of AST nodes representing the complete program.