Advertisement

Difference Between Graphics Programmer and Graphics Engine Programmer?

Started by February 23, 2013 08:29 AM
3 comments, last by poron 11 years, 8 months ago

What's the difference, if any, between a graphics programmer and a graphics engine programmer?

Please try to keep the explanations somewhat simple. I'm kinda a newb at programming, but I've taken some intro courses in Java at my university. I'm basically looking for a description of what kinds of duties each one has. Thanks :)

Terminology is never exact with job titles like this, so it will vary from company to company, and they may be the same thing.

As a guess though:

Graphics (Engine) programmer

Builds the graphics engine wink.png

This is a library of code built around D3D/OpenGL/etc, which abstracts those APIs and makes graphics programming easy and efficient for use in a game.

(Game) Graphics programmer

Performs specific graphics programming duties for a specific game. If the game needs dynamic sunsets, or explosions, or a specific kind of shadows or materials or lights, then the graphics programmer will implement these features by using the graphics engine library.

Advertisement
Yeah, I pretty much agree with Hodgman on that.

When I was doing game graphics programming it was all about using shaders + game code to drive the engine to produce the game.
Now I'm doing engine programming it is all about setting up the frame works needed for people to interact with them from the game side.

The former tends to be worrying more about shaders/materials and submitting work; the latter is more architecture, data formats and making sure that work submission is easy and efficient to do.

It probably depends a lot on the company. Some larger companies will have a dedicated graphics team that's separate from the engine team, and the graphics guys will focus purely on rendering features, fixes, and optimizations. Then the engine guys will focus on the general nuts and bolts of the engine: resource loading, streaming architecture, multithreaded task schedulers, that sort of thing.

At my company we're on the small side, so myself and the other graphics programmers are also considered engine programmers. So I will end up splitting my time (not always equally) between graphics work and engine work. I actually spend quite a bit of time working on tools and our content build pipeline as well, since we don't really have a dedicated team for that.

Thanks, everyone! Your explanations were all easy to understand.

This topic is closed to new replies.

Advertisement