Der Z-Buffer kann Werte von 0.0 bis 1.0 enthalten, 16 oder 32 Bit. Die Z-Werte der Szene werden entsprechend Deiner Near- und Far-Plane so umgerechnet, dass die Near-Plane 0.0 und die Far-Plane 1.0 entspricht. Mit % ist da eigentlich gar nichts.
Ich vermute mal er meint die nicht lineare Verteilung der Werte im Depthbuffer. Die Werte werden von der Hardware so erzeugt, dass die Präzision zur Farplane hin abnimmt. Der Grund ist, dass der Rasterizer versucht perspektivisch korrekt zu interpolieren und daher 1/z linear interpoliert (statt z linear zu interpolieren) um verzerrtes (affines) Texturmapping zu vermeiden. Um eine teure Rekonstruktion des z-Wertes zu vermeiden wird im Depthbuffer auch 1/z gespeichert und einfach verglichen.
Dies hat als netten Nebeneffekt, dass die Verteilung gut zu einem LOD System passen. Nahe, detailreiche Objekte werden mit einer höheren Präzision behandelt als detailarme Objekte in der Ferne.
Manchmal möchte man allerdings auch lineare Tiefenwerte haben, zum Beispiel um die Position eines Punktes zu rekonstruieren. In dem Fall sollte man die z-Werte, in einem Prepass, in ein Rendertarget schreiben oder eben direkt zurückrechnen.