18 ms·
It's articles like this that actually get me interested in learning computer graphics. When I took graphics in college, I spent half my time debugging weird C++
by jez 5y ago
It's articles like this that actually get me interested in learning computer graphics. When I took graphics in college, I spent half my time debugging weird C++ build problems and the other half of the time trying to get X windows to forward over SSH from the school shared Linux machines to my personal laptop.
It would have been *so cool* to have had a course that could focus on just the neat graphics algorithms like this by having WebGL sandboxes for both the lecture notes and maybe even the homeworks!
- corysama 5y agoThe book https://www.realtimerendering.com/ https://www.realtimerendering.com/ is a great introduction. And, that site links several other great books that are available as free and legal downloads.
- diffuse_l 5y agoSee here: [1][2] for something that might get you started. Have fun! [1] https://github.com/stackgl/shader-school https://github.com/stackgl/shader-school [2] https://github.com/stackgl/webgl-workshop https://github.com/stackgl/webgl-workshop
- dahart 5y agoI wish I’d had that too. I’ve told several graphics prof friends of mine they should do a whole course using ShaderToy. None have yet, but I’m pretty sure there are such graphics classes out there. I also love doing graphics stuff in Python and in Processing and similar environments - for precisely the same reason, that you get to make pictures without having to muck through C++ and devices and all kinds of low-level details. One of my faves, that I’ve used to create quite a few published book illustrations is called “NodeBox” - it has a GUI version but I loved the older pure Python API. Somewhere in-between is JavaScript - it’s not quite as easy as NodeBox or ShaderToy, it’s not a sandbox necessarily, but it’s pretty damn easy to setup your own sandbox from scratch, you can do amazing amounts of graphics right in the browser with very little setup and very few low level details.