I have used canvas 2D context quite a lot, and recently started to learn some WebGL as well.
The question in the title came to me when I was working on a tutorial on how to implement context.drawImage() from 2D context in WebGL. The result was something that worked like context.drawImage() (at least pretty close), but was much faster because it was using WebGL.
In theory, I believe everything in canvas 2D context could be emulated in WebGL, resulting in large performance gains. So why isn't it?
I'm defenitely not talking about changing any syntax or anything. I really like the simplicity of 2D context. But why isn't the browser doing what that tutorial did under the hood?
I understand that WebGL doesn't have full support everywhere, but I still think that it could be used if possible, with regular 2D context as fallback.