/***************************************************************************** The Dark Mod GPL Source Code This file is part of the The Dark Mod Source Code, originally based on the Doom 3 GPL Source Code as published in 2011. The Dark Mod Source Code is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. For details, see LICENSE.TXT. Project: The Dark Mod (http://www.thedarkmod.com/) ******************************************************************************/ //returns eye Z coordinate with reversed sign (monotonically increasing with depth) //in other words, it is eye-fragment distance along view direction float depthToZ(mat4 projectionMatrix, float depth) { float clipZ = 2.0 * depth - 1.0; float A = projectionMatrix[2].z; float B = projectionMatrix[3].z; return B / (A + clipZ); }