Skip to content
loading...

Context2D Canvas question. But is it Webgl?

github logo ・1 min read  

When canvas came out, you might or rather I might be forgiven for what I am about to say.

For the longest time I had believed that 2D context was somehow less powerful and slower than webgl and webgl2 contexts and perhaps even rendered on the CPU 😣, now that I write this I can see how silly this might sound. But I wonder if you can clear this up. Is context2d just webgl aka opengl but higher level and an API that is specific to JavaScript.

Next if context 2D is not transferable to other environments which utilize shaders, then the reasons to learn glsl are ....

And lastly, can you use webgl and webgl2 in JavaScript without ever writing a line of glsl?

twitter logo DISCUSS (6)
markdown guide
 

Context2d is platform sependent, but from what I heard some modern brossers have gpu accelerated canvas, but it will never be anywhere close to actual webgl

You cak use webgl without glsl if you ise a library, but usually you need to write custom shaders if you want more unusual effects. I think there was also a package in the thi.ng/umbrella repo which compiled a subset of typescript to webgl or something, but don't quote me on thst one

 

Interesting, I had thought about a DSL in ts, this might solve one problem at least. The main problem with glsl is absolutely 0 debugging for V.ES 3.0. there are some tools that I could attempt to port but that's a really big ask for one person. I also have enough projects on the go already. I should really get on with Jess Lang.

 

Yep, better debugging would be super nice to have, maybe just a sandbox which allows you to see all the variables at any step, or allowing printing to the console, but I'm guessing this would only be possible by compiling glsl itself to a spower js version

 

2D Context and WebGL are two separate things. WebGL (and GLSL) are way more powerful and allow to render 3D environments (QuakeII in the browser without plugin ? sure, why not.)
Working with GLSL can be a real hassle and I don't know any abstraction to avoid that. However, performance wise, shaders are incredibles.

 

That's what I thought, so is 2d still GPU?

 

It must depend of the browser, but I'll say yes it is. Not sure tho

Classic DEV Post from Sep 11 '19

Are You a Mediocre Developer? ME TOO

Adam Crockett profile image
I work at ForgeRock as a Front End Engineer, I play with all sorts really. Lately WASM is my toy of interest.

Hey there reader...

Do you prefer sans serif over serif?

You can change your font preferences in the "misc" section of your settings. ❤️