What do graphics programmers do

<p>I’m a little confused as to what graphics programmers actually do. I’ve been looking at some material on my school’s career website for CS majors, and graphics programmers caught my attention. But the description is very vague.</p>

<p>Can someone explain what a graphics programmer does as opposed to a graphic designer/artist.</p>

<p>For example let’s say a bunch of people were working on a video game like Mario. What part does the graphics programmer do?</p>

<p>I was a graphics programmer for a long time. There are all kinds of things you can do. My first job was writing graphics software for military flight simulators. You tried to get the computer to do calculations as fast as possible, and then use the results of those calculations to draw images on screens. A fantastic job.</p>

<p>You can also write software for applications like Adobe Photoshop, do 3D modeling and visualization programming, GPS mapping systems, geographic information systems, website front-ends, broadcast applications, user interfaces, games, and about a million other things.</p>

<p>Unlike most areas of programming, there actually is a lot of math involved with graphics programming - mostly trig and linear algebra. You’ll use some analytic geometry in 3D modeling.</p>

<p>A graphic designer/artist won’t do any programming. They’ll be the end users of applications like Photoshop so they can produce icons and images for websites; or they might be the ones specifying the colors, fonts and layout for websites and applications. Imagine a painter painting on an easel with a paintbrush, except replace the easel and paintbrush with a tablet and computer stylus.</p>

<p>I never worked in the games industry, but I know an artist who does. He comes up with images of the characters and backgrounds of games he’s working on, and then it’s up to the programmers to create and manipulate them in the game.</p>

<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>