Using WebGL to handle calculation and visulization