Reverse-Engineering GTA V (adriancourreges.com)
An anonymous reader writes: Software engineer Adrian Courrèges posted on his blog a breakdown of the rendering of a frame in Grand Theft Auto: V. Each rendering pass is explained in detail, with all the techniques and the tricks Rockstar used to make the game run on 8-year-old consoles. It's a fascinating trip through the making of a frame and reminds us of how far GPU computing power has come. Here's a brief snippet from the beginning: "As a first step, the game renders a cubemap of the environment. This cubemap is generated in realtime at each frame, its purpose is to help render realistic reflections later. This part is forward-rendered.
How is such cubemap rendered? For those not familiar with the technique, this is just like you would do in the real world when taking a panoramic picture: put the camera on a tripod, imagine you’re standing right in the middle of a big cube and shoot at the 6 faces of the cube, one by one, rotating by 90 degrees each time. This is exactly how the game does: each face is rendered into a 128x128 HDR texture."
Easy. By
a) examining the assembly from the pixel shader.
b) discarding all rendering until the end of frame.
The only "interpretation" is how the HDR tone mapping is applied but it is close enough to the real game that it is a minor point.
I am not a programmer, I do not work in the IT business, but I find this kind of stuff incredibly fascinating, its a major reason I still come here. So much so that I remember very clearly a particular article from a few months ago about auto-generating dungeons. Where can I find more?
As someone who 100%'ed JC2 (well, 99.95%, which was the best you could do because of a bug) I beg to differ. The sky and terrain on JC2 looked amazing and indeed rival modern games including GTA5, but the extra detail and variety and sheer amount of stuff going on in each and every scene in GTA 5 make it a massively prettier game, even if each individual element is not much more detailed then any other recent large open world game. The reflections and water in GTA5 are way ahead of JC2. Never mind that GTA5 is far more GPU usage efficient, yes the PC version of JC2 on max setting might look better than the PS3 version of GTA5 but that's hardly a fair comparison. Infact the GTA5 PC version has extensive GFX tweakability even for a PC game, and to run it om even above-average settings requires a top tier card and more VRAM than I care to speculate. In terms of world size, have you heard of Oblivion? JC2 is nothing, yes the world map may be physically huge but its so empty and unvaried compared to (admittedly newer) other games. In terms of explorability and variety I'd say Far Cry 4 packed in way more stuff to explore and discover and more variety than JC2 in a much smaller map.