Revision control

Copy as Markdown

// Copyright (C) 2014 NVIDIA Corporation.
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef DEPTHPASS_GLSLIB
#define DEPTHPASS_GLSLIB 1
float qt_getDepthValue( vec4 depth_texture_sample, vec2 cameraProperties )
{
#if __VERSION__ >= 300
float zNear = cameraProperties.x;
float zFar = cameraProperties.y;
float zRange = zFar - zNear;
float z_b = depth_texture_sample.x;
float z_n = 2.0 * z_b - 1.0;
float z_e = 2.0 * zNear * zFar / (zFar + zNear - z_n * (zRange));
return 1.0 - ((z_e - cameraProperties.x) / (zRange));
#else
return depth_texture_sample.x + (depth_texture_sample.y / 255.0);
#endif
}
float qt_depthValueToLinearDistance( float depth_value, vec2 cameraProperties )
{
float FarClipDistance = cameraProperties.y;
float NearClipDistance = cameraProperties.x;
float DepthRange = FarClipDistance - NearClipDistance;
float linearDepth = NearClipDistance + (DepthRange * (1.0 - depth_value));
return linearDepth;
}
#endif