A brief introduction on
dubstep production computer graphics
Computer graphics is hard. It’s a field that’s steeped in esoteric math and bit-mangling voo-doo. I won’t pretend to be an expert on the subject by any means. Most people will never have to deal with this stuff, because they either
a.) Don’t need to deal with it, or
b.) Someone has provided them with the tools to abstract away all the scary stuff
In effect, graphics programming has little do with with being an artist and a lot to do with being really good at math and also understanding your physical hardware really really well.
All modern computers have some sort of hardware whose job is to handle graphics. Like I said before, graphics is effectively math, and it just so happens that the math required to do graphics well is kinda hard for a computer to handle quickly. So almost all modern computers have a piece of hardware that is dedicated to doing nothing but graphics. This piece of hardware is what you plug your monitor in to, and it’s called a graphics card. On a lower-end, standard consumer computer this is often called “integrated graphics” or “shared video memory” and it basically means that there’s a cheap graphic processor close to the regular processor on your computer, and the instructions that make up the math that has to be done gets stored in your memory (RAM) while its waiting for the processor to deal with whatever it’s doing at the moment. Higher end computers will sport what is known as dedicated graphics cards. These cards have their own processor, their own RAM, and typically a metric fuckton of specialized processors attached to them1 that are tuned to handling the type of math that is required for graphics processing. The graphics card handles the weird math, does it really quickly, and it uses the math to figure out which pixel needs to be which color and when, but for all of the pixels on your monitor. At more or less the same time.
Since the graphics card is its own piece of hardware, that means you have to communicate with it through a “driver”. And there are two main players in the “talking to graphics cards drivers” right now: OpenGL and DirectX. These are basically big hunks of code that other programmers can use in their own code that lets them talk to graphics cards.
The big difference between the two is that OpenGL is, well, open to everyone to use on any operating system… and DirectX is a Microsoft product, made for Windows.
OpenGL makes me think of PB&J sandwiches, for some reason
The big deal here is that WebGL is basically OpenGL in your browser. Web developers can write code that gets sent to your graphics card, which means that developers could potentially render impressive, interactive animations directly in your browser. Flash has been doing something similar to this for a while, though it wasn’t using your graphics card until very recently. Flash was having the regular processor do the work, which is why a lot of Flash sites could cause crashes and slow your computer down.
If you use Google Chrome, you can check out a neat example of what I’m talking about here.
Hopefully this is enough background to make the click-through article more sensible if it wasn’t before.
Because the take-away is this: Microsoft is, once again, full of shit.