5
$\begingroup$

Currently I'm 16 and in high school and I love graphics programming and I'm seriously considering it as a career path. I was wondering what a day as a graphics programmer looks like for offline Rendering (path tracing).

Since were close to hitting photorealism now it seems like the only main challenge for the next decade is performance. I've been digging through the recent SIGGRAPH papers for the Future directions for rendering but haven't found much.

So what kinda tasks can graphics programmers do these days? Working on performance can't be the only thing.

Also, is a lot of the work research based as opposed to traditional programming?

$\endgroup$
  • 1
    $\begingroup$ "Since were close to hitting photorealism now it seems like the only main challenge for the next decade is performance." Because God forbid that you would want a graphical effect that photorealism doesn't cover. $\endgroup$ – Nicol Bolas Aug 13 '17 at 17:19
  • $\begingroup$ Disney's rendering team recently built a brand-new path tracing renderer from the ground up to make 'Big Hero 6' while the artists were already well underway animating the movie. See here disneyanimation.com/technology/innovations/hyperion $\endgroup$ – russ Aug 18 '17 at 9:19
7
$\begingroup$

I don't know if this is exactly what you're looking for. I work tangentially in the film and TV industry. I don't work for a studio, but I work on the software that studios use for their productions. It's software that any user could buy if they wanted to, but it has been used in feature films, television shows, commercials, music videos, and more.

About half of my time is spent programming and debugging. This is the fun stuff. It involves implementing rendering and filters of various types, sometimes based on papers I've read from SIGGRAPH or cool web sites or book. I don't do very much user interface work, though there is some. I work with OpenGL and Metal mostly. I need to know image processing algorithms in addition to general computer science algorithms, like graph processing and traversing, for example. This includes dealing with source control, continuous integration, stepping through code to find and fix bugs, talking to QA about problems, etc.

The other half of my time is spent doing non-programming things. This is a variety of things like attending conferences to learn (things like the Game Developers Conference or SIGGRAPH), conventions to promote the company and/or product (things like NAB, IBC, etc.), answering tech support emails and writing sample code (we have an API so 3rd parties can extend our product), attending meetings (scrum, management updates, company-wide meetings, etc.), talking with marketing about how our new features work, meeting with customers to understand how they use the product, explaining to our documentation people how the product works so they can document it, etc.

This seems like a pretty similar breakdown to other programming jobs in other industries from talking to my friends who work in other areas.

$\endgroup$
  • 1
    $\begingroup$ Generally our customers decide what needs to be improved. They write up bugs or blog posts, or buy competitors products when ours don't meet their needs. Marketing figures out what the problems are from user feedback and passes it on to design. Design then decides how that should translate into product features. They discuss it with engineering who decides how it will be implemented. $\endgroup$ – user1118321 Aug 13 '17 at 18:52
  • $\begingroup$ At this point in time what are some of the common issues if you don't mind me asking? $\endgroup$ – Arjan Singh Aug 13 '17 at 19:14
  • $\begingroup$ Unfortunately, I can't go into details about not-yet-released features. But as mentioned above, we are in the process of moving from OpenGL to Metal, and we're always trying to take advantage of new hardware features. $\endgroup$ – user1118321 Aug 13 '17 at 22:17
  • $\begingroup$ Which software are you making? $\endgroup$ – wip Aug 17 '17 at 12:48
  • 1
    $\begingroup$ I'd rather not say publicly, as I like to keep my personal and work lives a little separate. $\endgroup$ – user1118321 Aug 18 '17 at 1:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.