bp.js v0.6.0-alpha
Bulletproof
Advanced danmaku render engine based on WebGL and other HTML 5 technologies
以 WebGL 和其他 HTML 5 技术为核心的高级弹幕渲染引擎
WORK IN PROGRESS
You can also check out the live demo from http://hozuki.github.io/Bulletproof.
Details
Coming soon...
Downloading from NPM
npm install bp.js(Why isn't the package name bulletproof? Because that name was registered before this
package publishes to NPM. ( つ Д `))
Building & Testing
Git, Node.js, NPM and Gulp are required.
$ git clone https://github.com/hozuki/Bulletproof.git
$ npm install
$ git submodule update --init --recursive
$ cd lib/glantern
$ npm install
$ cd ../../
$ gulpTo preview, at least one of modern browsers is required:
- Chrome (50-60 fps)
- NW.js (50-60 fps)
- Electron Has not been tested, but should work.
- Firefox (40-60 fps)
- Edge (~24 fps)
- IE 11 (~20 fps)
- Chrome for Android (~16 fps)
Although all these browsers are supported, the order of the list shows the how the experience will be. Chrome is greatly suggested since the performance on it is the best; Firefox sometimes is slow; Edge and IE 11 always have serious performance degeneration.
Features
- High speed rendering
- Cross browser compatibility
- Web video player interface
<video>- WebChimera
- Basic text danmakus (ref: CommentCoreLibrary)
- Flying (mode 0)
- Anchored (mode 1 - mode 6)
- Custom text danmakus (mode 7) (ref: BiliBili HTML5 Player)
- Scripted danmakus (mode 8)
DisplayFunctionsGlobalTweenPlayer(almost,createSound()andsetMask()are in progress)ScriptManagerUtils- External library:
Bitmap - External library:
Storage - Safety sandbox
- BiliBili XML parser
TODO
DisplayObject.mask(Player.setMask())- Easing (
TweenandITween,$object.motion.easing) - Linking
Playerto VideoPlayer Player.createSound()Display.createButton()- Library:
Bitmap Display.createCanvas()
License
Bulletproof uses The MIT License. A copy of it can be found here.
A part of Bulletproof uses modifications based on webgl-utils.js. Its license file
can be found here.
9 years ago