glsl-defines

Takes an object or array of variable names/values and gives you back a list of #define statements you can drop into GLSL.

glsl-defines

Takes an object or array of variable names/values and gives you back a list of #define statements you can drop into GLSL.

Pass in an object with one or more values: each key will be mapped to a variable name. If the value is undefined or null, the resulting #define will not have a value set. Strings are not formatted in any way, numbers and booleans work too.

require('glsl-defines')({
    USE_LIGHTING: true
  , USE_BLOOM: null
  , LIGHT_COUNT: 3
})
 
// output: 
// #define USE_LIGHTING true 
// #define USE_BLOOM 
// #define LIGHT_COUNT 3 
// 

You can also pass a list of variable names to glsl-defines to get a list of #defines without values.

require('glsl-defines')([
    'USE_LIGHTING'
  , 'USE_BLOOM'
  , 'USE_GRAIN'
])
 
// output: 
// #define USE_LIGHTING 
// #define USE_BLOOM 
// #define USE_GRAIN 
// 

MIT. See LICENSE.md for details.