diff options
Diffstat (limited to 'src/particles/shaders_ng')
15 files changed, 22 insertions, 35 deletions
diff --git a/src/particles/shaders_ng/compile.bat b/src/particles/shaders_ng/compile.bat deleted file mode 100755 index 1bbaec4290..0000000000 --- a/src/particles/shaders_ng/compile.bat +++ /dev/null @@ -1,28 +0,0 @@ -:: Copyright (C) 2019 The Qt Company Ltd. -:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only - -:: For HLSL we invoke fxc.exe (-c argument) and store the resulting intermediate format -:: instead of HLSL source, so this needs to be run on Windows from a developer command prompt. - -:: For SPIR-V the optimizer is requested (-O argument) which means spirv-opt must be -:: invokable (e.g. because it's in the PATH from the Vulkan SDK) - -qsb -DPOINT -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o imageparticle_simplepoint.vert.qsb imageparticle.vert -qsb -DPOINT --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o imageparticle_simplepoint.frag.qsb imageparticle.frag - -qsb -DPOINT -DCOLOR -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o imageparticle_coloredpoint.vert.qsb imageparticle.vert -qsb -DPOINT -DCOLOR --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o imageparticle_coloredpoint.frag.qsb imageparticle.frag - -qsb -DCOLOR -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o imageparticle_colored.vert.qsb imageparticle.vert -qsb -DCOLOR --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o imageparticle_colored.frag.qsb imageparticle.frag - -qsb -DDEFORM -DCOLOR -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o imageparticle_deformed.vert.qsb imageparticle.vert -qsb -DDEFORM -DCOLOR --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o imageparticle_deformed.frag.qsb imageparticle.frag - -qsb -DTABLE -DDEFORM -DCOLOR -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o imageparticle_tabled.vert.qsb imageparticle.vert -qsb -DTABLE -DDEFORM -DCOLOR --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o imageparticle_tabled.frag.qsb imageparticle.frag - -qsb -DSPRITE -DTABLE -DDEFORM -DCOLOR -b --zorder-loc 8 --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o imageparticle_sprite.vert.qsb imageparticle.vert -qsb -DSPRITE -DTABLE -DDEFORM -DCOLOR --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o imageparticle_sprite.frag.qsb imageparticle.frag - - diff --git a/src/particles/shaders_ng/imageparticle.frag b/src/particles/shaders_ng/imageparticle.frag index 90b79e6ea9..2134f54e1b 100644 --- a/src/particles/shaders_ng/imageparticle.frag +++ b/src/particles/shaders_ng/imageparticle.frag @@ -1,3 +1,6 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + #version 440 #if defined(TABLE) @@ -19,7 +22,11 @@ layout(location = 2) in float fFade; layout(location = 0) out vec4 fragColor; layout(std140, binding = 0) uniform buf { +#if QSHADER_VIEW_COUNT >= 2 + mat4 matrix[QSHADER_VIEW_COUNT]; +#else mat4 matrix; +#endif float opacity; float entry; float timestamp; diff --git a/src/particles/shaders_ng/imageparticle.vert b/src/particles/shaders_ng/imageparticle.vert index da3533dc40..52e4a59d62 100644 --- a/src/particles/shaders_ng/imageparticle.vert +++ b/src/particles/shaders_ng/imageparticle.vert @@ -44,7 +44,11 @@ layout(location = 2) out float fFade; #endif layout(std140, binding = 0) uniform buf { +#if QSHADER_VIEW_COUNT >= 2 + mat4 matrix[QSHADER_VIEW_COUNT]; +#else mat4 matrix; +#endif float opacity; float entry; float timestamp; @@ -53,18 +57,22 @@ layout(std140, binding = 0) uniform buf { float opacitytable[64]; } ubuf; -out gl_PerVertex { vec4 gl_Position; float gl_PointSize; }; - void main() { float t = (ubuf.timestamp - vData.x) / vData.y; +#if QSHADER_VIEW_COUNT >= 2 + mat4 matrix = ubuf.matrix[gl_ViewIndex]; +#else + mat4 matrix = ubuf.matrix; +#endif + if (t < 0. || t > 1.) { #if defined(DEFORM) - gl_Position = ubuf.matrix * vec4(vPosRot.x, vPosRot.y, 0., 1.); + gl_Position = matrix * vec4(vPosRot.x, vPosRot.y, 0., 1.); #elif defined(POINT) gl_PointSize = 0.; #else - gl_Position = ubuf.matrix * vec4(vPos.x, vPos.y, 0., 1.); + gl_Position = matrix * vec4(vPos.x, vPos.y, 0., 1.); #endif } else { #if defined(SPRITE) @@ -96,11 +104,11 @@ void main() if (currentSize <= 0.) { #if defined(DEFORM) - gl_Position = ubuf.matrix * vec4(vPosRot.x, vPosRot.y, 0., 1.); + gl_Position = matrix * vec4(vPosRot.x, vPosRot.y, 0., 1.); #elif defined(POINT) gl_PointSize = 0.; #else - gl_Position = ubuf.matrix * vec4(vPos.x, vPos.y, 0., 1.); + gl_Position = matrix * vec4(vPos.x, vPos.y, 0., 1.); #endif } else { @@ -146,7 +154,7 @@ void main() + vVec.xy * t * vData.y // apply velocity + 0.5 * vVec.zw * pow(t * vData.y, 2.); // apply acceleration #endif - gl_Position = ubuf.matrix * vec4(pos.x, pos.y, 0, 1); + gl_Position = matrix * vec4(pos.x, pos.y, 0, 1); #if defined(COLOR) fColor = vColor * fade; diff --git a/src/particles/shaders_ng/imageparticle_colored.frag.qsb b/src/particles/shaders_ng/imageparticle_colored.frag.qsb Binary files differdeleted file mode 100644 index 5dfc5d1d97..0000000000 --- a/src/particles/shaders_ng/imageparticle_colored.frag.qsb +++ /dev/null diff --git a/src/particles/shaders_ng/imageparticle_colored.vert.qsb b/src/particles/shaders_ng/imageparticle_colored.vert.qsb Binary files differdeleted file mode 100644 index b2548042ca..0000000000 --- a/src/particles/shaders_ng/imageparticle_colored.vert.qsb +++ /dev/null diff --git a/src/particles/shaders_ng/imageparticle_coloredpoint.frag.qsb b/src/particles/shaders_ng/imageparticle_coloredpoint.frag.qsb Binary files differdeleted file mode 100644 index 6e0373fd3b..0000000000 --- a/src/particles/shaders_ng/imageparticle_coloredpoint.frag.qsb +++ /dev/null diff --git a/src/particles/shaders_ng/imageparticle_coloredpoint.vert.qsb b/src/particles/shaders_ng/imageparticle_coloredpoint.vert.qsb Binary files differdeleted file mode 100644 index 09b31c77c3..0000000000 --- a/src/particles/shaders_ng/imageparticle_coloredpoint.vert.qsb +++ /dev/null diff --git a/src/particles/shaders_ng/imageparticle_deformed.frag.qsb b/src/particles/shaders_ng/imageparticle_deformed.frag.qsb Binary files differdeleted file mode 100644 index 3df7e49cd0..0000000000 --- a/src/particles/shaders_ng/imageparticle_deformed.frag.qsb +++ /dev/null diff --git a/src/particles/shaders_ng/imageparticle_deformed.vert.qsb b/src/particles/shaders_ng/imageparticle_deformed.vert.qsb Binary files differdeleted file mode 100644 index 121e35fbb0..0000000000 --- a/src/particles/shaders_ng/imageparticle_deformed.vert.qsb +++ /dev/null diff --git a/src/particles/shaders_ng/imageparticle_simplepoint.frag.qsb b/src/particles/shaders_ng/imageparticle_simplepoint.frag.qsb Binary files differdeleted file mode 100644 index 6199c48589..0000000000 --- a/src/particles/shaders_ng/imageparticle_simplepoint.frag.qsb +++ /dev/null diff --git a/src/particles/shaders_ng/imageparticle_simplepoint.vert.qsb b/src/particles/shaders_ng/imageparticle_simplepoint.vert.qsb Binary files differdeleted file mode 100644 index ff8a5403d6..0000000000 --- a/src/particles/shaders_ng/imageparticle_simplepoint.vert.qsb +++ /dev/null diff --git a/src/particles/shaders_ng/imageparticle_sprite.frag.qsb b/src/particles/shaders_ng/imageparticle_sprite.frag.qsb Binary files differdeleted file mode 100644 index 2df0734683..0000000000 --- a/src/particles/shaders_ng/imageparticle_sprite.frag.qsb +++ /dev/null diff --git a/src/particles/shaders_ng/imageparticle_sprite.vert.qsb b/src/particles/shaders_ng/imageparticle_sprite.vert.qsb Binary files differdeleted file mode 100644 index 5ef575a868..0000000000 --- a/src/particles/shaders_ng/imageparticle_sprite.vert.qsb +++ /dev/null diff --git a/src/particles/shaders_ng/imageparticle_tabled.frag.qsb b/src/particles/shaders_ng/imageparticle_tabled.frag.qsb Binary files differdeleted file mode 100644 index 08a82fe8ab..0000000000 --- a/src/particles/shaders_ng/imageparticle_tabled.frag.qsb +++ /dev/null diff --git a/src/particles/shaders_ng/imageparticle_tabled.vert.qsb b/src/particles/shaders_ng/imageparticle_tabled.vert.qsb Binary files differdeleted file mode 100644 index febe5a495a..0000000000 --- a/src/particles/shaders_ng/imageparticle_tabled.vert.qsb +++ /dev/null |