diff options
author | Pasi Keränen <pasi.keranen@qt.io> | 2019-06-05 13:22:33 +0300 |
---|---|---|
committer | Pasi Keränen <pasi.keranen@qt.io> | 2019-06-10 21:22:35 +0300 |
commit | fa46a1dc716c499b5eefdfd8f0cfcfc8ac303937 (patch) | |
tree | 61f7f6eed72822cf39a52769dfaba24d1bde9522 /src/Runtime/ogl-runtime/res/effectlib/gles2/refraction.glsllib | |
parent | fe7649841f68c6fe99bf08e477df77770c7dffa0 (diff) |
Switch to qt3dstudio/ogl-runtime submodule
Module config change so that ogl-runtime builds from submodule.
Task-number: QT3DS-3600
Change-Id: Ib22fda6aed1cf9336f15b79256b5f9db8774159f
Reviewed-by: Pasi Keränen <pasi.keranen@qt.io>
Diffstat (limited to 'src/Runtime/ogl-runtime/res/effectlib/gles2/refraction.glsllib')
m--------- | src/Runtime/ogl-runtime | 0 | ||||
-rw-r--r-- | src/Runtime/ogl-runtime/res/effectlib/gles2/refraction.glsllib | 87 |
2 files changed, 0 insertions, 87 deletions
diff --git a/src/Runtime/ogl-runtime b/src/Runtime/ogl-runtime new file mode 160000 +Subproject 2025912174c4cf99270b7439ec3b021e1d089ae diff --git a/src/Runtime/ogl-runtime/res/effectlib/gles2/refraction.glsllib b/src/Runtime/ogl-runtime/res/effectlib/gles2/refraction.glsllib deleted file mode 100644 index 837d7f50..00000000 --- a/src/Runtime/ogl-runtime/res/effectlib/gles2/refraction.glsllib +++ /dev/null @@ -1,87 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 NVIDIA Corporation. -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:GPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 or (at your option) any later version -** approved by the KDE Free Qt Foundation. The licenses are as published by -** the Free Software Foundation and appearing in the file LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -// this is entirly phiysical incorrect -// We just use this to fake distortion when we have no environment available -// The displacement is calculated on ior -vec3 refraction( in sampler2D sampler, in float materialIOR ) -{ - vec3 displace = fresnel( viewDir, vec3( materialIOR )); - - float xdir = abs( viewDir.x ); - float ydir = abs( viewDir.y ); - - vec2 texSize = vec2( textureSize( sampler, 0 ) ); - vec2 newUV = vec2(gl_FragCoord.xy/texSize); - if ( xdir > ydir) - { - newUV = ( viewDir.x > 0.0) ? newUV + displace.xy : newUV - displace.xy; - } - else - { - newUV = ( viewDir.y > 0.0) ? newUV - displace.xy : newUV + displace.xy; - } - - vec3 refractColor = texture( sampler, newUV ).rgb; - - return refractColor; -} - -// This should really not be used, but it's there for the sake of testing. -vec3 refractBlur( in sampler2D sampler, in vec3 viewDir, in float materialIOR, in float blurWidth ) -{ - // This is really terrible, but at least is a little better than - vec3 displace = viewDir * materialIOR; - - vec2 texSize = vec2( textureSize( sampler, 0 ) ); - texSize = vec2(1.0) / texSize; - vec2 newUV = vec2(gl_FragCoord.xy * texSize); - newUV += displace.xy * 0.005; - - //vec3 refractColor = texture( sampler, newUV ).rgb; - vec3 refractColor = vec3(0); - int sz = int(ceil(blurWidth)); - float wtsum = 0.0; - - for (int y = -sz; y <= sz; ++y) - { - for (int x = -sz; x <= sz; ++x) - { - float wt = float(x*x + y*y) / (blurWidth * 0.5); - wt = exp2(-wt); - //refractColor += wt * textureOffset( sampler, newUV, ivec2(x, y) ).rgb; - vec2 uvOfs = vec2(x, y) * texSize; - refractColor += wt * texture( sampler, newUV+uvOfs).rgb; - wtsum += wt; - } - } - - return refractColor / wtsum; -} |