Я работаю над проектом WebGL, для которого требуются пользовательские .glsl
шейдеры. Проект связывает приложение с Gulp, поэтому я пытаюсь использовать https://github.com/mikecao/gulp-glsl, который представляет собой «плагин Gulp, преобразующий код GLSL в минимизированные строки». Идеально!
Я запустил npm install gulp-glsl --save-dev
, и мой gulpfile.js
выглядит следующим образом:
const gulp = require('gulp');
const glsl = require('gulp-glsl');
gulp.src('**/GLSL/*.glsl')
.pipe(glsl({format: 'raw'}))
.pipe(gulp.dest('build'));
И затем я пытаюсь импортировать свой шейдер следующим образом:
import fragShader from "./GLSL/frag.glsl";
Но компилятор Gulp выдает ошибку компиляции:
[13:27:17] gulp-notify: [Compile Error]
/Users/.../WebGL/GLSL/polyFrag.glsl:1
#extension GL_OES_standard_derivatives : enable
^
ParseError: Unexpected character '#'
Мне не нужен Gulp для компиляции файла .glsl
, он мне нужен только для преобразования его в строку для использования с WebGL. Что я могу сделать с Gulp, чтобы это произошло?
build
в примере readme (.pipe(gulp.dest('build'))
). Это изменение одного файла .glsl на другой файл .glsl (уменьшенный). Содержимое старых файлов также можно рассматривать как строку. 17.10.2018gulp-glsl
кажется бесполезным в контексте объединения. 17.10.2018