Grass shader (most fillrate heavy): vertex 189, pixel 46 - per-vertex lighting So for scene where hi-z doesnt work well, z prepass does not give performance gain (it's even worse on slower videocards like Intel Graphics).Ĭonsequences of not having depth texture in color pass will be discussed later.Īverage shader instructions count: vertex 140, pixel 90. Z prepass time: 4-5ms, consecutive color pass: 5-8ms, plus CPU time required to draw scene twice. 280000 faces, opaque color pass overdraw: 1.5įor GTX 260, GPU opaque color pass time: 7-8ms (resolution 1450x860).
*DIP - "draw indexed primitive", a basic operation of submitting draw command to GPU, amount of DIPs defines how much CPU time does rendering system use. 420 DIPs (a lot of instancing), 50 various pixel/vertex shaders (DirectX effects system used).3340 trees (below average for Spin Tires).220 meters visibility distance (below average for 3D game).Spin Tires basically consists of a heightmap and trees!ġa. Let's say Spin Tires is good looking, so there are several unique algorithms that make it work fast, all based on a fact that a driving game like that is essentially a 2D game. High-end for Spin Tires is GeForce GTX 260 which is at best considered mid-end in the industry.
Spin Tires - day with sun lighting Figure 2.
SPIN TIRES GAME SCALE CODE
In code samples, left-handed DirectX coordinate space is assumed. You can download playable demo (100 Mb) and see screenshots/videos at official site or at Oovee site.Īll code samples are either given in C++ language, or DirectX HLSL. This paper describes some tech details in Spin Tires, a game about a big truck driving through mud/water, crushing trees and everything else on its path.