我正在尝试将纹理加载到 2d 平面中,如这篇文章How to draw 2D image with TWGL (WebGL helper Library) 中所示。
像这样包含脚本标签时它工作正常 <script src="https://twgljs.org/dist/twgl-full.min.js"></script>
但是当尝试使用与 es6 模块完全相同的代码执行此操作时,我收到以下错误 [.WebGL-0x7f90b084f000]RENDER WARNING: Render count or primcount is 0.
像这样使用 gulp 和 browserify
"dependencies": {
"animejs": "^3.2.1",
"twgl.js": "^4.16.1"
},
"devDependencies": {
"@barba/core": "^2.9.7",
"babel-core": "^6.26.3",
"babel-preset-env": "^1.7.0",
"babelify": "^8.0.0",
"browserify": "^17.0.0",
"gulp": "^3.9.1",
"gulp-autoprefixer": "^4.0.0",
"gulp-livereload": "^4.0.2",
"gulp-rename": "^2.0.0",
"gulp-sass": "^4.1.0",
"gulp-sourcemaps": "^2.6.5",
"tinyify": "^3.0.0",
"vinyl-buffer": "^1.0.1",
"vinyl-source-stream": "^2.0.0"
}
}
我的吞咽任务
gulp.task('js', function () {
const options = {
basedir: '.',
debug: !is_prod,
entries: [paths.listen.js + 'app.js'],
cache: {},
packageCache: {}
}
const b = browserify(options)
b.transform(babelify.configure({"presets": ["env"]}))
if(is_prod) b.plugin('tinyify', { flat: false })
b.bundle()
.on('error', swallowError)
.pipe(source('app.min.js'))
.pipe(gulp.dest(paths.output.js))
.pipe(livereload())
return b
})
导入 import * as twgl from 'twgl.js'
难道我做错了什么 ?
该示例使用 twgl 1.x,而您的 gulp 使用 4.x,情况发生了变化。特别是twgl.drawBufferInfo
从
twgl.drawBufferInfo(gl, primitiveType, bufferInfo)
到
twgl.drawBufferInfo(gl, bufferInfo, optionalPrimitiveType)
我编辑了该答案以使用 4.x
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句