canvas example

messing with canvas

HTML

<div id="clear">click for toggle start</div>
        <div class="eagle"></div>

CSS

canvas {
  position: absolute;
  left:0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.2);
}
div#clear {
    position: absolute;
    left: 21px;
    cursor: pointer;
    top: 10px;
    color: red;
    z-index: 99;
    font-size: 30px;
}

JavaScript

var ogl=function(t){"use strict";function e(t){let e=t[0],i=t[1],r=t[2];return Math.sqrt(e*e+i*i+r*r)}function i(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function r(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t[2]=e[2]+i[2],t}function s(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t[2]=e[2]-i[2],t}function n(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t}function a(t,e){let i=e[0],r=e[1],s=e[2],n=i*i+r*r+s*s;return n>0&&(n=1/Math.sqrt(n)),t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t}function h(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}const o=function(){const t=[0,0,0],e=[0,0,0];return function(r,s){i(t,r),i(e,s),a(t,t),a(e,e);let n=h(t,e);return n>1?0:n<-1?Math.PI:Math.acos(n)}}();class l extends Array{constructor(t=0,e=t,i=t){return super(t,e,i),this}get x(){return this[0]}set x(t){this[0]=t}get y(){return this[1]}set y(t){this[1]=t}get z(){return this[2]}set z(t){this[2]=t}set(t,e=t,i=t){return t.length?this.copy(t):(function(t,e,i,r){t[0]=e,t[1]=i,t[2]=r}(this,t,e,i),this)}copy(t){return i(this,t),this}add(t,e){return e?r(this,t,e):r(this,this,t),this}sub(t,e){return e?s(this,t,e):s(this,this,t),this}multiply(t){var e,i,r;return t.length?(i=this,r=t,(e=this)[0]=i[0]*r[0],e[1]=i[1]*r[1],e[2]=i[2]*r[2]):n(this,this,t),this}divide(t){var e,i,r;return t.length?(i=this,r=t,(e=this)[0]=i[0]/r[0],e[1]=i[1]/r[1],e[2]=i[2]/r[2]):n(this,this,1/t),this}inverse(t=this){var e,i;return i=t,(e=this)[0]=1/i[0],e[1]=1/i[1],e[2]=1/i[2],this}len(){return e(this)}distance(t){return t?function(t,e){let i=e[0]-t[0],r=e[1]-t[1],s=e[2]-t[2];return Math.sqrt(i*i+r*r+s*s)}(this,t):e(this)}squaredLen(){return this.squaredDistance()}squaredDistance(t){return t?function(t,e){let i=e[0]-t[0],r=e[1]-t[1],s=e[2]-t[2];return i*i+r*r+s*s}(this,t):function(t){let e=t[0],i=t[1],r=t[2];return e*e+i*i+r*r}(this)}negate(t=this){var e,i;return i=t,(e=this)[0]=-i[0],e[1]=-i[1],e[2]=-i[2],this}cross(t,e){return function(t,e,i){let...