Re: Architecting and programming a graphics engine in C++ & OpenGL
"Nathan Martz" <[email protected]> Sun, 20 Mar 2011 13:08:00 -0700
| Newsgroups | gmane.games.devel.sweng |
|---|---|
| Message-ID | <[email protected]> |
It could mean a variety of things. Maybe it's just that you thought about the implications of these trends as you were writing the renderer. That way when you get questions in your interview about how you would handle parallelism, you'll have a thoughtful answer. Often being able to say "well, it wasn't worth the time to implement, but I designed it make that easy in the future because I..." is totally sufficient. If you want something more tangible, try something like dynamic GI or one of the more advanced types of AA which, depending on the hardware you are targeting, might involve a fair bit of back and forth between the GPU and the CPU (while making sure that neither is ever starved for work). Another way to put it is that folks tend to be impressed when you solve problems that are contemporary or even a bit future looking. A couple decades ago, showing a demo of a bunch of bouncing env mapped sphere rendered in OpenGL would have been pretty cutting edge. Now, it's not quite so impressive. Similarly, shader permutations is something that people were wrangling 5+ years ago, but is pretty sorted out now (unless you are talking about a toolchain/workflow idea in which case, as Jon says, could be quite cool). IMHO, most of today's interesting graphics problems involve a lot of parallelism. Lastly, I realized while writing this that you might get more out of targeting interesting features (terrain rendering, realtime GI, whatever) and over time evolving those features into a renderer than trying to start very broadly. Again, I don't want to tell you what project to do or where you should start, just hoping that this perspective informs your ideas and helps you chose the most productive course. -Nathan From: [email protected] [mailto:[email protected]] On Behalf Of Massimo Del Zotto Sent: Sunday, March 20, 2011 3:21 AM To: [email protected] Subject: Re: [Sweng-Gamedev] Architecting and programming a graphics engine in C++ & OpenGL 2011/3/19 Nathan Martz <[email protected]> but if your goal is to land a job at a high end game dev studio, there are, for my money, few more impressive things you could demonstrate than a renderer that is thoughtfully and productively parallel. I find this very interesting but in practice, what does that mean? When I talk about the way I deal with shader combinatorial explosion I have an easy way to show the benefit. I talk about the "basic" shaders (admittedly choosen ad-hoc to maximize drama), I show some slides, I estimate the benefit in terms of production gained. But this is more performance oriented, more technical. Perhaps it involves specific "performance patterns", perhaps it needs adeguate workload. If I had to demo this thing, I wouldn't know where to start. I'd like to read some further elaborations on that. Thank you in advance. Massimo _______________________________________________ Sweng-Gamedev mailing list [email protected] http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-midnightryder.com