Some of those questions were answered by Capcom’s Deputy General Manager of Technology Research and Development Masaru ijuin and by Programmers Daisuke Shimizu and Hitoshi Mishima as part of a very extensive interview on the Japanese website Game Watch.
The development of Panta Rhei started in the summer of 2011, to address problems with Capcom’s proprietary engine MT Framework that led to the deterioration of development efficiency.
The Deep Down demo ran in real time at the PS4 presentation and displayed between 10 and 20 million polygons per frame. It had a variable frame rate above 30 frames per second and a total texture capacity of 2 GB. It ran 30 different shaders at the same time.
The demo can run on a PC with an NVIDIA Geforce GTX 570, 8 GB of RAM, and an Intel Core i7 CPU. The development machines used at Capcom have Geforce GTX 680 and GTX 590 GPUs.
The peak performance of the PS4 is lower than that of an high end PC theoretically, but due to the ease of development and the streamlined architecture there are areas in which it can be superior. The same can be said about the Xbox One which has a similar architecture and potential.
The engine can use Tessellation and in certain areas Approximating Catmull-Clark Subdivision Surfaces, that is unfortunately too heavy to be used systematically for every element . It also uses Dynamic Level of Detail (DLOD) to avoid pop-in. Thanks to the PS4′s high memory capacity it’s possible to achieve both stable performance and avoiding pop-in with LOD.
The rendering pipeline has been redesigned. It can use Tile Based Deferred Rendering combined with Forward Rendering for special and semi transparent materials. Tile Based Deferred Rendering can grant very high performance but Forward rendering can be used when you want to use the Bidirectional Reflectance Distribution Function (a four-dimensional function that defines how light is reflected at an opaque surface) or render translucent materials. Material rendering is done with a diffuse map, a specular map, a normal map and a roughness map.
It’s possible to use Partially Resident textures both on PS4 and Xbox One. It’s the same technology as the Mega Texture used in Rage by id Software and the DirectX 11.2 Tiled Resources technology flaunted by Microsoft at BUILD 2013 is pretty exactly that. Panta Rhei Can do it as well.
Those DF shots make even more clear that we were actually seeing real time footage.
I took a glance of the watch article using google translate, there were some complementary info:
- 10-20 million per frame, 10x increase of the previous gen. However that's the amount of polygons per frame, it doesn't mean the scene is composed of 10-20 millions polys. For instance they have to redrawn any object that cast shadow for the shadow maps.
- To develop the engine and the game, they presumed Ps4 would be about 8 times more powerful than Ps3. From the specs Ps4 falls in line with they expected.
- The 30 shaders they are using are not comparable to previous gen shaders. With Dx9 and last gen shaders had to be much simpler because dynamic branching would destroy performance. Now they can have more complex/intelligent shaders and so they can use less of them to achieve the desired look.
- Apparently the Pc demo uses only 1.2GB of video ram (compared to Ps4's 2GB)... There's a explanation for that, but due poor translation I couldn't make sense of it.
- Apparently they are using tesselation for LOD, but not for drawing objects with higher poly count.
- For increasing geometry using tesselation, they used Catmull-Clark sub division surfaces, but that proved too resource heavy to be used everywhere. For the demo, it was only being used on the robe the witch was using.
- They are testing faster algorithms of tesselation that would allow them to enable tessellation on all drawn objects.
- For rendering they use Tile based deferred rendering, and for transparent objects they use a mix of foward rendering too.
- They talk about performances advantages of TBDR, but that is also impossible to understand, but I think papers on the tech shouldn't be hard to find.
- They seem to use physically correct shaders and area lights.
- They initially wanted to have real time GI using SVOGI (the same of the Ue4 demo). But creating and maintaining the octree was too heavy for the Ps4 to handle alongside the game.
- But the work done there allowed them to use the voxel cone tracing algorithm in more some areas. Specifically for the demo, this technique is used to handle the dragon's flames. Just like the UE4 elemental demo, voxel cone tracing allows an entire object to become emissive (in essentially, a light source). That was also used in the demo: The rocks and the shield that receive the flames become emissive of lights too.
- They talk about a 3d mega texture using GCN Partially resident textures. It could be useful for static geometry, and could be a way to get SVOGI working on the next gen consoles.
- In some place there they say that the flames propagation are actually simulated used fluid dynamics, and I think the voxel representation of the flames also helped that...