Skip to content

Rendering library for web-based painting applications. Includes WebGL and software (2D canvas) backends.

Notifications You must be signed in to change notification settings

Oletus/glbrush.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

glbrush.js

Rendering library for web-based painting applications. Includes WebGL and software (2D canvas) backends.

See a simple example in action: http://oletus.github.io/glbrush.js/example.html

Supported features so far include:

  • Hard-edged, soft and texturized circular airbrush with opacity, flow and dynamic size control.
  • Linear gradients.
  • Unlimited undo, and all operations except layer merges and layer stack reordering can be undone out of sequence.
  • Wide support for blending modes: normal, erase, multiply, screen, overlay, hard light, pin light, vivid light, difference, exclusion...
  • Alpha blended layers.
  • Replay animation.
  • Rasterization is done internally with at least 16 bits of precision, resulting in much better quality soft brush rendering than what is achievable with 2D canvas.
  • Serialization of pictures in text-based vector format and resizing them when parsing the serialization.

Code standards:

Contributions welcome!

Getting started with development scripts (not necessary to simply use the package):

  • Install Python 2.7
  • Install node.js (tested with version 10.15.3 LTS)
  • run "npm install"
  • run "python tools\compile_glbrush.py" to compile the library using Closure compiler

About

Rendering library for web-based painting applications. Includes WebGL and software (2D canvas) backends.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published