Rollup plugin for optimising inline GLSL shaders.
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 );
}
`;
npm i rollup-shader-chunks --save-dev
// 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
};
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
});
Action | Command | Description |
---|---|---|
lint | npm run lint |
Run static code analysis |
format | npm run format |
Format source files |
Tool | Reference |
---|---|
Node.js | https://nodejs.org |
rollup.js | https://rollupjs.org |
ESLint | https://eslint.org |
Prettier | https://prettier.io |
EditorConfig | https://editorconfig.org |
Website | Reference |
---|---|
WebGL2 | https://www.khronos.org/webgl/ |
This project is released under the MIT License.