informa
2 min read
article

A story about shaders, Part III

Even with fancy shader builder GUIs, we can't completely ditch the programmers from the shader creation process. Now explore what's involved in sharing the work between programmers and artists in the artist-driven paradigm.

In the previous post, I looked at how optimization is hard and suggested that you probably need to dedicate a graphics programmer to analysis and guiding the artists in the optimization of the shaders. This leads into a new issue, the question of differing and sometimes conflicting values across disciplines.

When you add a programmer to what was going to be a pure art task, it's not hard to inadvertently pit artist against programmer, fighting for visual fidelity and performance, respectively. Some artists will be more than happy to Cock fightabdicate all responsibility for performance, especially if they were uncomfortable with it in the first place. Many artists don't think that performance is their responsibility to start with, rather that they should make the best looking content and let someone else sort out making it efficient. Others may take some level of offence to being "babysat" by a programmer. Programmers can get annoyed spending time and effort tracking down performance problems in shaders they had no part in creating. Both programmers and artists can get their feathers ruffled, but regardless of the cause, an adversarial relationship is going to kill shader performance. Successful optimization requires balance, and balance requires cooperation and compromise.

The values problem is really a social issue, so the solution depends how your team works together. Maybe you work in a studio where programmers and artists frolic merrily together producing kick ass games with nary a conflict. If that's the case, just keep doing what you're doing. Otherwise, you could try to find a way to make the graphics programmer part of the art team, for example call her/him a technical artist and have them sit with the art team. Another approach is to have the art team hire a contract programmer to work for them. Either way, the programmer should be involved in shader creation from the start, this both helps to head off potential performance issues sooner and can create a sense of shared ownership of the shaders. Whatever approach you choose, the critical part is getting the artists and the programmers to share the responsibility for reaching the performance targets. If you can achieve a good level of collaboration, the quality of the work will improve dramatically.

Next post will wrap things up and touch on how time factors into shader performance.
 

Latest Jobs

Disbelief

Chicago, Illinois
05.10.22
Producer

Build a Rocket Boy Games

Edinburgh, Scotland
05.12.22
Lead Animation Programmer

Windwalk Games

Austin, Texas
05.16.22
Game Designer

Sucker Punch Productions

Bellevue, Washington
05.10.22
Campaign Director
More Jobs   

CONNECT WITH US

Register for a
Subscribe to
Follow us

Game Developer Account

Game Developer Newsletter

@gamedevdotcom

Register for a

Game Developer Account

Gain full access to resources (events, white paper, webinars, reports, etc)
Single sign-on to all Informa products

Register
Subscribe to

Game Developer Newsletter

Get daily Game Developer top stories every morning straight into your inbox

Subscribe
Follow us

@gamedevdotcom

Follow us @gamedevdotcom to stay up-to-date with the latest news & insider information about events & more