 
 
 float softshadow(in vec3 ro, in vec3 rd, in float mint, in float tmax) {
-  float res = 1.;
+  float res = 2.;
   float t = mint;
 
   for( int i=0; i<16; i++ ) {

  // hue 80.0 = water ish
  // hue 240.0 = green ish
    //vec2(sdSphere(pos-offs, .5 - 0.01 * sin(20.0* pos.x + 15.0*pos.y + a * 3.0)), 80.0)
  return vec2(sdBloodCell2(
    opRep(
      pos,
      vec3(1.)
    )
  ), 54.0);
}


vec2 scene16(vec3 pos) {
  vec3 offs = vec3(-.5, -.35 * sin(a) / 5., sin(a) / 4.);
  vec2 res = vec2(opBlend_1(
    sdSphere(pos, .5),
    sdSphere(pos + offs, .5)
  ), abs(50. + sin(pos.x)*100.));

  res = opU(res,
    vec2(
      -sdSphere(pos, 6.),
      abs(50. + sin(pos.x) * 10.)
    )
  );

  return res;
}

vec2 map(in vec3 pos, in vec3 origin) {

*/


float sdBloodCell(vec3 p) {
  float d1 = length(vec2(length(p.xz)-.3,p.y)) - .1;
  vec2 d = abs(vec2(length(p.xz),p.y)) - vec2(.3,.06);
  float d2 = min(max(d.x,d.y),.0) + length(max(d,.0));
