Gerrion

Members
  • Content count

    2
  • Joined

  • Last visited

Community Reputation

3 Neutral

About Gerrion

  • Rank
    Newbie

Personal Information

  • Interests
    Programming
  1. Depth-only pass

    For what it's worth, both MotorStorm: Pacific Rift & Apocalypse (PS3) and Driveclub (PS4) used varying degress of Depth-only passes. Rift had lots of foliage and ground-rush (grass and the like) so we did a depth-only pass of just the world geometry after rendering upto 64 'occluders'. The occluders were just large polys, upto 8 verts I think, that were inside canyon walls, etc. These occluders were also used further up the pipe on the CPU side to do simple coarse-grained PVS. On Apocalypse, our VS were very heavy from lots of skinning and the like, so we ended up using conditional rendering. We did a full depth-only pass, and used the RSX feature that wrote out a pixel count for each draw call. On the full G-Buffer pass, the RSX used the value to decided whether to skip the draw-call. We did a large number of automated fly-throughs of our levels looking Fwd / Rev with this stuff on/off and it was a win, something like 1ms - 2ms if I recall. Everyone told us that Conditional Rendering was way slower, but not for us. On Driveclub, we again used Occluders but also a full depth-only pass. We fired off a ComputeShader right after to build tile info for lighting, etc which ran in parallel with our ShadowMap passes. Overally, this was a nice win despite some very heavy vertex shaders.
  2. Hey everyone, just stumbled across this thread and thought I'd post! Yep, I'm a self-taught Graphics Programmer Started programming when I was 9 at Xmas 1982 with my new ZX Spectrum. Wrote a 3D spinning cube demo about a year later in Z80 assembly on the speccy after seeing Starglider. Moved onto an Atari ST in 1986 and wrote lots of 3D demos to share around school. Didn't really think I could get a job as a programmer as I had no formal training or a degree so I just did it as a hobby whilst working at a Game retail store. I kept thinking, I really wish I was doing that as a job making those game rather than selling them. By chance I got invited to a Launch party for one of the games. Much beer later, I kind of plucked up the courage to ask the programmers how do you get into the industry. One chap said, "Just write a demo and send it in to places". So, I quit my job on New Year Eve 1995 and spent 3 months working on a 3D demo on my PC in x86 assembly. (Still have the print out of the code!) I applied to a couple of places around where I lived (Northwest England, UK) and sure enough I managed to get a job. I was terrified at first, but realised that I could do the stuff they asked me to do. Then it turned out the no-one really did assembly any more and came to me to help optimise code and that boosted my confidence. But I had to learn 'C' as quickly as I could, so bought lots of books and just wrote lots of code in my spare time to get used to the language. Anyways, did that for a few years, moved to a couple of other places and finally ended up working on a game called Isle of Man TT Superbikes on PS2. I was the lead graphics programmer on that, which was pretty cool. The company went through a bit of a sticky patch towards the end of development, so I ended up joining another company called Evolution Studios... Not sure if you've heard of them, but I ended up working on the MotorStorm series on PS3 as a Senior/Principal Graphics programmer across all 3 titles, MotorStorm, MotorStorm: Pacific Rift and MotorStorm: Apocalypse. They were using C++ which was new to me, which I told them in the interview. I failed miserably at the C++ test they gave me, but I said I was into low-level assembly and graphics. I ended up talking for way too long about all the VU, DMA, GS optimisations that I had done on PS2 and they hired me on the spot! That was an awesome time as I got to sit in secret rooms, with secret hardware with stickers on the side saying "Danger of Death". I had to sign some crazy USA Nuclear non-proliferation agreements from IBM to do with the CELL processor. It was truly cool stuff working with the SPU processors, and we had to mostly use assembly as the SPU 'C' compiler was awful to begin with! After MotorStorm, I then got to work on the PS4 before it was even a thing around 2009. Lots of secret meetings, with lost of clever people from major studios all over the world. Eventually what we we were working on became Driveclub for PS4 on which I was a Principal/Lead Graphics and Core Tech programmer. So pretty humble beginnings and the main thing I've learnt is to never stand still. Not having a degree hasn't held me back, as I have been able to prove what I can do. The key thing is that once you know the key concepts, the API / Code behind it is always evolving and you really have to keep up. But, choose your battles wisely. Don't focus on too narrow an area as before you know it, it's old hat and something new has come along. So for anyone starting out, just keep doing demos. Start off with something simple, understand it, improve it and then do another demo. Just keep building up, advancing your knowledge, and read lots of stuff. Hope that's helpful... Best of luck...