glsl-superformula

1.0.3 • Public • Published

glsl-superformula

A GLSL function for generating 3D supershapes.

Inspired by Daniel Shiffman's 3D Supershapes Processing tutorial.

Demo

Screenshots

screenshot

Usage

NPM

#pragma glslify: superformula require('glsl-superformula') 
 
vec2 doModel(vec3 p) {
    float id = 1.0;
    float d = length(p);
    float theta = atan(p.y / p.x);
    float phi = asin(p.z / d);
 
    float r1 = superformula(theta, 8.060.0100.030.01.01.0);
    float r2 = superformula(phi, 2.010.010.010.01.01.0);
 
    vec3 q = r2 * vec3(r1 * cos(theta) * cos(phi), r1 * sin(theta) * cos(phi), sin(phi));
    d = d - length(q);
 
    return vec2(d, id);
}
 

License

MIT. See LICENSE.md for details.

Readme

Keywords

Package Sidebar

Install

npm i glsl-superformula

Weekly Downloads

5

Version

1.0.3

License

MIT

Last publish

Collaborators

  • jleyba92