shader-park-core

A JavaScript framework for creating real-time raymarched 3D shaders. JS -> Shader.

Showing:

Popularity

Downloads/wk

10

GitHub Stars

10

Maintenance

Last Commit

21d ago

Contributors

2

Package

Dependencies

3

License

Apache-2.0

Type Definitions

Tree-Shakeable

Yes?

Categories

Readme

Library powering Shaderpark

Build Status

Shaderpark simplifies creating procedural graphics using javascript.
With just a few lines of code, create shaders which are:

  • Animated
  • Interactive
  • 2D or 3D (with PBR)

Easily integrated with:

  • webpages
  • threejs
  • touchdesigner
  • unity (under development)

Example

(TODO)

Install

npm i shader-park-core

Live edit, remix and share your creations on shaderpark.com

Examples/Templates Repo

Dev Setup:

npm install or yarn install

Build:

npm run build or yarn build

Watch:

npm watch or yarn watch

CLI usage:

npm run toThreeJS my-sculpture.js
npm run toOffline my-sculpture.js
npm run toRawSDF4Meshing my-sculpture.js

For development with SP website:

In shader-park-core repo run npm link or yarn link

In shader-park-website repo run npm link shader-park-core or yarn link shader-park-core

API usage:

The simple cli tools in the converters directory are simple examples of how the API can be used. (TODO, put more examples in readme, and examples folder) For now, explore the available functions in index.js, and see their implementations in the targets directory.

To add new targets:

  1. Implement a class in targets that converts sculpt to the format your target requires (see existing targets for example of available tools for this)
  2. Expose the functions externally in index.js
  3. Implement a basic cli converter, (for now this means just copy-pasting an existing converter and swapping out the single converter function. The boilerplate could be factored out and the cli converters could be automatically generated) and use as a cli tool, or use API directly.

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100