{"size": 880, "ext": "js", "max_stars_repo_path": "src/shaders/glsl/mesh.vertex.position.js", "max_stars_repo_name": "ChristopherChudzicki/mathbox", "max_stars_repo_stars_event_min_datetime": "2019-02-08T09:56:08.000Z", "max_stars_repo_stars_event_max_datetime": "2020-05-27T05:31:24.000Z", "max_issues_repo_path": "src/shaders/glsl/mesh.vertex.position.js", "max_issues_repo_name": "ChristopherChudzicki/mathbox", "max_issues_repo_issues_event_min_datetime": null, "max_issues_repo_issues_event_max_datetime": null, "max_forks_repo_path": "src/shaders/glsl/mesh.vertex.position.js", "max_forks_repo_name": "ChristopherChudzicki/mathbox", "max_forks_repo_forks_event_min_datetime": null, "max_forks_repo_forks_event_max_datetime": null}
{"max_stars_count": 3, "max_issues_count": null, "max_forks_count": null, "avg_line_length": 18.7234042553, "max_line_length": 62, "alphanum_fraction": 0.6988636364}
export default /* glsl */ `uniform vec4 geometryResolution;

#ifdef POSITION_STPQ
varying vec4 vSTPQ;
#endif
#ifdef POSITION_U
varying float vU;
#endif
#ifdef POSITION_UV
varying vec2 vUV;
#endif
#ifdef POSITION_UVW
varying vec3 vUVW;
#endif
#ifdef POSITION_UVWO
varying vec4 vUVWO;
#endif

// External
vec3 getPosition(vec4 xyzw, in vec4 stpqIn, out vec4 stpqOut);

vec3 getMeshPosition(vec4 xyzw, float canonical) {
  vec4 stpqOut, stpqIn = xyzw * geometryResolution;
  vec3 xyz = getPosition(xyzw, stpqIn, stpqOut);

  #ifdef POSITION_MAP
  if (canonical > 0.5) {
    #ifdef POSITION_STPQ
    vSTPQ = stpqOut;
    #endif
    #ifdef POSITION_U
    vU = stpqOut.x;
    #endif
    #ifdef POSITION_UV
    vUV = stpqOut.xy;
    #endif
    #ifdef POSITION_UVW
    vUVW = stpqOut.xyz;
    #endif
    #ifdef POSITION_UVWO
    vUVWO = stpqOut;
    #endif
  }
  #endif
  return xyz;
}
`;