 return r * 180 / Math.PI;
  }

  function drawModel(programInfo, bufferInfo, type, uniforms, world) {
    m4.multiply(viewProjection, world, worldViewProjection);
    m4.inverse(world, worldInverseTranspose);
    m4.transpose(worldInverseTranspose, worldInverseTranspose);
    gl.useProgram(programInfo.program);
    twgl.setBuffersAndAttributes(gl, programInfo, bufferInfo);
    twgl.setUniforms(programInfo, sharedUniforms, uniforms);
    twgl.drawBufferInfo(gl, bufferInfo, type);
  }

  function degToRad(de