I know that gameplay mechanics programmers, either directly working with source or with scripting are needed, however there are so many shaders written already that I would imagine you could find anything to meet the visual effects you are looking for, is this a fair assumption?
closed as primarily opinion-based by Josh Petrie♦ Apr 16 '14 at 14:49Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question. |
|||||
|
Shader programming is a highly specialised section of general Graphics Programming. Like any other highly specialised section of development, it depends on two factors; namely the Team-Size and the Goals you wish to achieve 1. Team Size: On smaller teams, having an entire resource (read: person) dedicated to ONLY shader programming might be a huge overkill. In smaller teams, your general graphics programmer (and in some cases, THE programmer) would probably be enough handling most of the coding needed in that direction On larger teams and as we go towards AAA development end where there are usually multiple graphics programmers on a team, having highly specialised people usually leads to more efficient and better optimised code; meaning you can squeeze more performance out of the hardware 2. Goals: Here, by goals, I mean the graphical goal of the project. If you are creating a game with not much new stuff going on on the graphics side, then you might be able to find something to fit your needs specifically On the other hand, if you are going for a more unqiue, new or innovative technique (like implementing a SIGGRAPH paper) then you very likely would need a more specialised coder dedicated to the shader coder alone Also, on the note of
This could almost be said for almost all areas of the game development. There has to be enough tutorials about AI, UI, graphics, sound, networking and all other fields of the development that you could argue the same thing. However, these samples are either too generic to be optimised, or too optimised to be easily plugged into your code, without extensive knowledge from your side on what the code expects, does and achieves So while you may find a shader somewhere that does exactly what you want, if you don't have a moderate understanding of its code, you might come across a bug that will just block your progress completely. And this might not even be a bug, but just coming out of different expectations between you and the code author |
|||
|
Shader coding is a pretty specific skillset, however it is one that anybody who calls themselves a graphics programmer nowadays should be familiar with since writing shaders has become absolutely crucial to that profession. It's not quite as simple as just jumping in and integrating samples you can find online, because you need to make different shaders work together and be performant. That requires an understanding of the larger graphics pipeline and all that goes into it, on GPU and CPU. You can get by without another coder. But you will be spending a lot of time learning, if you are not already quite familiar with writing shaders (and by proxy, engine code) yourself. You may be burnt out before you ever get anything worthwhile running -- consider that. Like any specialised field such as writing physics engines or AI, it is a highly specialised skillset and way of thinking, with many pitfalls. If the goal is to get a working game (demo) up and running, and your human resource is limited, then I would not recommend diving into GPU programming unless you have are least 5 years of professional technical programming experience. Because it will take up a lot of your time, even so. |
||||
|
Well, you usually need someone to make your game looks good whether was a good artist a great shader writer or both. The actual question that should be asked, do we need an expert level shaders writers with low level hardware knowledge or not?If you are making the next AAA title and want to squeeze every last cycle from your GPU then and want your game still to look good, shader/graphics programmers are far more important than in smaller games. Knowledge in hardware and low level shader optimization is essential in achieving visual effects without making your game crawl, let's say games like Battlefield and Crysis. This is nicely summarized in this slideshow
Again the same point applies, but keep in mind that shaders found in tutorials are usually unoptimized, due to the nature of tutorials. Finally if you are making a smaller/mid game you probably need better artists than expert level shader coders. |
|||
|