<p>In this day and age also there’s various libraries or frameworks that do a lot of the heavy lifting, but math is still required. Some math at least. </p>
<p>Depending on what graphics you do, it can be a humbling experience to basically start with little more than the ability to draw a line and fill a rectangle and end up with a window-based GUI. I did that on my first job 30 years ago. When you have to write code to blink the cursor…</p>
<p>The people who do game work are in two camps. One is the software types who write the ‘engine’ that the game operates on. This is lower level heavy duty math stuff. Then there’s the artists that use the engine’s capabilities to do the game.</p>
<p>The separation is not all black and white, tho. I work in consumer electronics and from the LCD screen to the guts of the machine there’s a lot of gray areas. From top to bottom:</p>
<p>User
User Experience Design (human factors engineers, industrial designers, marketing, R&D, customers)
User Interface Design (human factors engineers and industrial designers)
User Interface Creation (software people mostly)
High level software blocks (i.e.code that reads a button press) (software people)
Mid level software blocks (i.e. media players, database, other apps)
Low level software blocks (graphics, bluetooth drivers, wifi drivers)
board level computing (hardware / software interfaces) (vendor or BSP guys)
Actual hardware</p>
<p>Our graphics guys usually work on writing or improving drivers for crazy things like LCD’s and the like. They may use tools or libraries (OpenGL for example) to get their work done. When they’re done they give us high level guys the libraries to use. They also work with hardware people to select the right graphics processor and software depending on customer needs (2D, 2.5D, 3D). You generally need an understanding of hardware, a lot more than what I do for example. </p>
<p>My part is at the top, the first few layers (user experience design, human factors engineering and also software for user interfaces, maybe down to blocks). To me, all I need is the software to run. The graphics guy makes that happen. We’re close buddies needless to say :D</p>