   return (1. - c * .25) * (cos(p.x) + sin(p.y) + sin(p.z)) / 20. * (2. * (sin(a / 20.) + 1.15));
 }
 
+float sdBloodVein(vec3 p) {
+  vec3 c = vec3(2.,3.,5.);
+  return -(length(p.xy-c.xz)-c.y);
+}
+
+float sdBloodVein2(vec3 p) {
+  // the first constant sets size of torus
+  // second sets size of middle
+  return -(length(vec2(length(p.xz)-4.,p.y)) - 1.5);
+}
+
+
 vec2 heart(vec3 p) {
   float plasma1 = calcPlasma(p.x, p.y, p.z, a / 10.);
   float hue = sin(plasma1) * 100. + a * 10.;

  );
}

/*
vec2 scene1(vec3 pos) {
  // Blood vein thing

  float end3 = 70.;

  // Uncomment when debugging single scene
  return scene1(pos);

  /* ---------- SCENES --------- */

  // first scene
  if (a < end0 + transitionTime) {
    res = scene0(pos);
  }

  // start rendering after previous scene,
