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.