Dirt 2: Best graphics on PC due to DirectX 11 features
Dirt 2 has been confirmed to be one of the first games that will use Microsoft's new DirectX 11 API. PC Games Hardware had the chance to interview Bryan Marshall, the Technical Director of the Codemasters development team.
Although the console version of Dirt 2 is already on sale, the PC gamers still have to wait for the highly anticipated racing game. But Codemasters didn't delay it without a reason. The PC version of Dirt 2 will be one of the first games that support DirectX 11. Because of this it is rumored to become the best looking racing game. So therefore PC Games Hardware interviewed the Technical Director Bryan Marshall to get some more information about the technical base of Dirt 2 and the Codemasters employee revealed several interesting details. So for example he told us that the PC version of Dirt 2 makes use of Hardware Tessellation and Direct Compute 11 and thus will deliver the best visual quality.
PCGH: Why did you decide to develop a third generation of the Ego Engine for Dirt 2? What technical features could not be realized with the iteration of the engine that was utilized in Race Driver: Grid (Ego Engine 2)?
Bryan Marshall: The EGO Racing technology is part of the larger Codemasters EGO Game Technology Platform which covers all Codemasters Studios games (such as Operation Flashpoint: Dragon Rising). Each new wave of games always requires some great new features to make it stand it out from the crowd. So it's an on-going process to improve the technology and meet the consumer's needs. To pick out two cool features along those lines, if you look at DiRT2 compared to GRID, the cars can have up to 2 times the number of polys and crowds have gone from 30,000 to over 100,000 people in places!
PCGH: Will Dirt 2 be a cross platform porting type or will every platform like the PC, Xbox 360 or PS3 be developed by different teams? Will technology that is specific to each platform be utilized to the fullest extend? If so, will there be visual differences between the different versions?
Bryan Marshall: DiRT2 is cross platform and the same team is developing it for the three platforms. Our tech is cross platform but there is a lot of flexibility to really get the most out of the three different architectures. Probably the best example is the DX11 version and the fact that we have used hardware tessellation and Direct Compute 11 specifically. On a high-end PC system this will visually be the highest detailed, highest resolution and fastest framerate of all the versions.
PCGH: Do you in general try to leverage the possibilities current or next gen PC hardware has to offer or was DX11 a special case (in which way)? How important are technical aspects in general when developing the PC version of the game?
Bryan Marshall: We've always been a technically strong company but over the last few years we've been building up our knowledge and EGO codebase so we could get ourselves to be in the position of being at the front of PC technology. Note we didn't jump onto DX10 since we were still going to give better results to the gaming public with DX9 for a while. We're now in the position to reap rewards out of being more cautious. DX11 and Windows7 is a great gaming platform to deliver on and it's been well worth the wait.
PCGH: It was announced that the third generation of the Ego Engine will come with a new streaming system. Can you describe the major improvements compared to older incarnations of that technology? Why was it necessary to program new code for the streaming of textures and geometry?
Bryan Marshall: DiRT2 features texture streaming to bring lots of detail and variety into the scenes. This was an iteration of previous systems and essentially allows more textures to be loaded in a given time. A game like Operation Flashpoint however, features a whole world streaming system, which is a different beast again, but based on the same lower level EGO core libraries.
PCGH: Do you try to optimize the PC-Built of Dirt 2 for multi GPU-Systems (SLI/Crossfire/Cards with Dual-GPU)?
Bryan Marshall: Yes, DIRT2 will support multi-GPU systems. We're still working the optimizations for that part so let's wait and see what improvements we can get.
PCGH: The second version of the Ego Engine did already scale very well with dual- and multi-core processors. Have you nevertheless managed to improve this with the third generation? Up to how many cores are currently supported? What modules/tasks/systems can be parallelized to run in separate threads?
Bryan Marshall: Yes, we've continued to work with the hardware providers to improve our multi-core capabilities. We're still doing our benchmark tests but we're getting some really good improvements on moving from 2 core to 4 core systems (8 threads). A good example of the type of work we thread out is the physics solver.
PCGH: You advertized that Dirty 2 will feature more advanced physics. What parts of you inhouse physics engine did you upgrade? What are the new physics features, can you go into detail? Will this version even support Physics calculated on the GPU (Nvidia Physx)?
Bryan Marshall: Two of the coolest features are the water tech and dynamically driven animation of the driver. The water tech is very visually obvious, forms wakes, and affects the drag on the car. The DX11 version is more impressive again because of the tesselllation used across the mesh, giving height to the surface as well as visual effect.
The driver is physically driven (rather than animation driven) and you can see him realistically react in the car to rough tracks and the steering wheel bouncing around. The physics system is all part of the proprietary EGO physics system and we don't use physics middleware such as PhysX in DiRT2.
PCGH: It was announced that Dirt 2 will support the DX11 API that comes with Windows 7:
• What is the deciding technical advantages of the DX11 API/Shader Modell 5?
• In what way does it allow you to optimize or simplify the rendering process in DiRT2?
• Do you use DX11-Multithreading to lighten the load on the CPU?
• In what way will the DX 11 visualization differ from the graphics that are rendered with DX 10(.1) hardware or will DX11 just speed up the rendering process in DiRT2?
• What are the graphical features that can only be rendered with Shader Model 5 hardware?
Bryan Marshall: The DX11 version is a great place to showpiece DiRT2 and show that Codemasters' technology is at the forefront of PC gaming. We think there are 3 big ticket items in DX11: Hardware Tessellation, Direct Compute 11 (Compute Shaders) and the multi-threading of the command pipeline.
So Tessellation allows us to add a lot more detail to objects such the crowds, water surfaces and moving cloth. Up to this point hardware tessellation was difficult to achieve efficiently with all the other demands going on. Direct Compute 11 allows us to really push up the fidelity of our post-processing solution, giving a higher resolution to some of the effects such as motion blur. Finally the multi-threaded capabilities have made us think a lot about our rendering pipeline and how we can optimize this. That's not easy to get right and I think that will be one of the big challenges for developers in the next few years. Of course DX11 comes with amazing new video cards that allow all this to run faster to begin with!
PCGH: Does Dirt 2 still support Windows XP? When, do you think game development will be at a juncture where it's more viable to put all the effort into one rendering-path using only DirectX 11 (with downlevel-paths) and drop support for XP?
Bryan Marshall: Yes. Many of our loyal customers are still on XP so that's the best reason to support it! We think it will be a few years yet before XP and DX9 disappears, but we're firmly behind DX11 and think the advantages of that along with Windows7 will really push the consumers in that direction a lot quicker than DX10.