Skip to content

📦 Rollup plugin for optimising inline GLSL

License

Notifications You must be signed in to change notification settings

epreston/rollup-shader-chunks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rollup-shader-chunks

Rollup plugin for optimising inline GLSL shaders.

NPM version License CI

Example

This plugin processes template literals marked with a syntax highlighting and embedded script editing hint.

// shaders.js
export const vertex = /* glsl */ `
  void main() {
      gl_Position = mvp * vec4( position, 1.0 );
  }
`;

Install

npm i rollup-shader-chunks --save-dev

Usage

// rollup.config.js

import { shaderChunks } from 'rollup-shader-chunks';

/** @type {import('rollup').RollupOptions} */
export default {
  input: 'src/index.js',
  plugins: [
    //... other plugins, preprocessing
    shaderChunks()
    //... other plugins, terser, etc
  ]
  //...other options
};

Defaults

shaderChunks({
  include: [
    // Glob pattern, or array of glob patterns to include
    '**/*.js'
  ],
  exclude: undefined, // Glob pattern, or array of glob patterns to ignore
  enabled: true // Enable or disable the processing of files
});

Scripts

Action Command Description
lint npm run lint Run static code analysis
format npm run format Format source files

Tools

Tool Reference
Node.js https://nodejs.org
rollup.js https://rollupjs.org
ESLint https://eslint.org
Prettier https://prettier.io
EditorConfig https://editorconfig.org

References

Website Reference
WebGL2 https://www.khronos.org/webgl/

License

This project is released under the MIT License.