Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cosmomyzrailgorynych/filterjs
A node-based procedural texture generator, written in node.js and powered by WebGL
https://github.com/cosmomyzrailgorynych/filterjs
node nwjs procedural-textures
Last synced: about 9 hours ago
JSON representation
A node-based procedural texture generator, written in node.js and powered by WebGL
- Host: GitHub
- URL: https://github.com/cosmomyzrailgorynych/filterjs
- Owner: CosmoMyzrailGorynych
- License: gpl-3.0
- Created: 2018-06-19T04:13:01.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-02-27T23:48:43.000Z (over 1 year ago)
- Last Synced: 2023-08-13T02:31:15.513Z (over 1 year ago)
- Topics: node, nwjs, procedural-textures
- Language: TypeScript
- Homepage: https://comigo.itch.io/filterjs
- Size: 23.4 MB
- Stars: 63
- Watchers: 7
- Forks: 6
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FilterJS
[![Made with Riot.js](https://img.shields.io/badge/riot-js-ff0044.svg)](http://riot.js.org/)
[![Made with Stylus](https://img.shields.io/badge/stylus-lang-ff6347.svg)](http://stylus-lang.com/)
[![Made with Pug](https://img.shields.io/badge/pug-lang-a86454.svg)](https://pugjs.org/)
[![Made with TypeScript](https://img.shields.io/badge/type-script-294E80.svg)](http://typescriptlang.org/)
[![Made with NW.js](https://img.shields.io/badge/nw-js-1CA0DA.svg)](https://nwjs.io/)FilterJS is a node-based procedural texture generator. It is easily extensible, and was made to add a free and open-source alternative to similar projects.
You can create textures for any kind of project, e.g. for private or commercial use.
![Screenshot](screenshot.png)
**Disclaimer:** Though there is much room for optimization, FilterJS is a rather slow generator if compared, for example, to Filter Forge or Substance Designer.
## Prebuilt binaries
Available on:
* [itch.io](https://comigo.itch.io/filterjs)
* [releases tab](https://github.com/CosmoMyzrailGorynych/FilterJS/releases)## How to run FilterJS from the source code
You will need [node.js](https://nodejs.org/) and [gulp.js](https://gulpjs.com/). Run `npm install --global gulp-cli` to install Gulp.
1. Clone or download the repo;
2. Run `npm install` in its root folder;
3. Run `npm install` in the `./app` folder;
4. Run `gulp` in the root of the repo.The first run will download the needed binaries of nw.js, but then the gulp command will run FilterJS just in seconds.
## How to hack on FilterJS
1. Make a fork;
2. Do a regular run with `gulp`;
3. Edit files in the `./src/` folder;
4. Changes will appear automagically after saving. Avoid losing unsaved filters!### Before you commit
- Make your commits as atomic as possible. Commit one serious change at a time.
- Make sure the `gulp lint` task shows no errors. Warnings are ok until you understand what you are doing, but they can still reveal some common gotchas. Stylint will tell false positives on every `riot-tag`, because it's an old rubbish, but keep an eye on its other warnings.
- Use [gitmoji guide](https://gitmoji.carloscuesta.me/) for naming your commits. Use the imperative mood, like `:sparkles: Add a "Blend" block to Processing`. Add two emojis to better describe a commit, if needed.## Help wanted!
You can help FilterJS grow by creating new nodes! See the existing ones in the `./src/js/blocks/` folder as an example. There is much to do, including:
* Text, shape, image drawing and scattering;
* generic pattern makers (like checkerboard, bricks, etc.);
* `canvas`-based transforms, masking and overlays;
* turning pixel-based noise generators to canvas-based (WebGL-powered);
* new noise generators;
* and everything you can come up with.Last but not least, you can help FilterJS just by telling about it to your friends, writing blog posts, etc.