[
  {
    "path": ".gitignore",
    "content": "node_modules\n"
  },
  {
    "path": "curl.glsl",
    "content": "#pragma glslify: snoise = require(glsl-noise/simplex/3d)\n\nvec3 snoiseVec3( vec3 x ){\n\n  float s  = snoise(vec3( x ));\n  float s1 = snoise(vec3( x.y - 19.1 , x.z + 33.4 , x.x + 47.2 ));\n  float s2 = snoise(vec3( x.z + 74.2 , x.x - 124.5 , x.y + 99.4 ));\n  vec3 c = vec3( s , s1 , s2 );\n  return c;\n\n}\n\n\nvec3 curlNoise( vec3 p ){\n  \n  const float e = .1;\n  vec3 dx = vec3( e   , 0.0 , 0.0 );\n  vec3 dy = vec3( 0.0 , e   , 0.0 );\n  vec3 dz = vec3( 0.0 , 0.0 , e   );\n\n  vec3 p_x0 = snoiseVec3( p - dx );\n  vec3 p_x1 = snoiseVec3( p + dx );\n  vec3 p_y0 = snoiseVec3( p - dy );\n  vec3 p_y1 = snoiseVec3( p + dy );\n  vec3 p_z0 = snoiseVec3( p - dz );\n  vec3 p_z1 = snoiseVec3( p + dz );\n\n  float x = p_y1.z - p_y0.z - p_z1.y + p_z0.y;\n  float y = p_z1.x - p_z0.x - p_x1.z + p_x0.z;\n  float z = p_x1.y - p_x0.y - p_y1.x + p_y0.x;\n\n  const float divisor = 1.0 / ( 2.0 * e );\n  return normalize( vec3( x , y , z ) * divisor );\n\n}\n\n#pragma glslify: export(curlNoise)\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"glsl-curl-noise\",\n  \"version\": \"0.0.3\",\n  \"description\": \"curl noise\",\n  \"main\": \"curl.glsl\",\n  \"scripts\": {\n    \"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n  },\n  \"keywords\": [\n    \"curl\",\n    \"noise\",\n    \"glsl\"\n  ],\n  \"author\": \"Isaac Cohen <isaaclandoncohen@gmail.com>\",\n  \"license\": \"BSD\",\n  \"dependencies\": {\n    \"glsl-noise\": \"0.0.0\"\n  }\n}\n"
  }
]