I'm observing that developers these days are quite surprised to see anyone write code for OpenGL / WebGL directly instead of using some layer of abstraction on top, such as Three.js or Unity etc. Few seem to know that OpenGL already is an abstraction of the computing model underneath.
A couple years ago I did some consulting for a company that needed a point cloud rendering engine. Luckily I had one ready to go. I showed them and they liked it and their young devs asked which library I was using. When I told them I used OpenGL they couldn't believe it. To them OpenGL was the "black magic box" and using it akin to having secret conversations with the GPU in some arcane cryptic language.
I wrote interactive 3D graphics programs in SGI IrisGL, the proprietary predecessor of OpenGL. At that time I considered it super easy because it was so high-level. Even so, as an experiment, I networked an Iris to a Lisp machine so I could write graphics code in Lisp and let the SGI machine render the output. Good times.
History tidbit: Jim Clark, the founder of SGI, invented the GPU which was what made SGI machines so fast at 3D.. Later he went on to found Netscape.
> History tidbit: Jim Clark, the founder of SGI, invented the GPU which was what made SGI machines so fast at 3D.
Even more trivial: When I moved to Silicon Valley I bought a used Porsche on a whim (my recruiter implied it was a proper consultant accessory in SV) and fixed it up a bit until it became my daily driver. When I researched the title I discovered Jim Clark was the original owner. So I’d like to credit Jim Clark for starting me on the road to speed up my commute.
When I was in college, I got really deep into OpenGL and worked through old textbooks about OpenGL 1.1. I think my favorite one was just called "The Red Book"? It was so much fun.
After finishing that I found out that they were already several major versions ahead and had fancy things like shaders... it really is an amazing tool.
Recently I started messing with some Three.js stuff and it does have some nice abstractions... main benefit of it for me is the ecosystem around it. Being able to just plug in some physics and interactivity and not have to deal with digging up old screen-to-world conversion code is nice.
A couple years ago I did some consulting for a company that needed a point cloud rendering engine. Luckily I had one ready to go. I showed them and they liked it and their young devs asked which library I was using. When I told them I used OpenGL they couldn't believe it. To them OpenGL was the "black magic box" and using it akin to having secret conversations with the GPU in some arcane cryptic language.