glslespreprocessor

0.0.9 • Public • Published

glslesPreprocessor

Preprocess webgl shader code before browser/drivergpu compilation:

  • lint

  • minimize

  • obfuscate

  • optimize

  • format

  • Tokens subAST API:

    • token: type, depth, scope
    • identifiers instances/declaration
    • variables usage range (reuse/prune)
  • error and warnings

    • invalid
    • vague "perfromance token to cycles"
    • uniform flow warning
    • unused uniform/varying/variable/function
  • prune

    • comment
    • unused
    • preprocessor branched out code
    • whitespace
  • format

    • guarantee consistent style
  • perf oriented

    • performance/allocation oriented
    • tokenisation and strip at same passe
    • tokens Actions in least pass possible
    • export to string and minify/stylify in one pass

TODO: - worker sample - faster - token based editor (Edit sub token array update from diff. (shader edit a 'view' of token tree)) - try to work on array/typedarray uint8 instead of js strings (immutable js string makes for a lot of allocations...)

Fork/Code/Inspiration From:

License

MIT, see LICENSE.md for further information.

Package Sidebar

Install

npm i glslespreprocessor

Weekly Downloads

0

Version

0.0.9

License

MIT

Unpacked Size

1.78 MB

Total Files

32

Last publish

Collaborators

  • tuan_kuranes