aboutsummaryrefslogtreecommitdiffstats
path: root/src/particles/shaders_ng
diff options
context:
space:
mode:
Diffstat (limited to 'src/particles/shaders_ng')
-rwxr-xr-xsrc/particles/shaders_ng/compile.bat28
-rw-r--r--src/particles/shaders_ng/imageparticle.frag7
-rw-r--r--src/particles/shaders_ng/imageparticle.vert22
-rw-r--r--src/particles/shaders_ng/imageparticle_colored.frag.qsbbin1676 -> 0 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_colored.vert.qsbbin4026 -> 0 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_coloredpoint.frag.qsbbin1663 -> 0 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_coloredpoint.vert.qsbbin3526 -> 0 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_deformed.frag.qsbbin1689 -> 0 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_deformed.vert.qsbbin5389 -> 0 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_simplepoint.frag.qsbbin1655 -> 0 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_simplepoint.vert.qsbbin3474 -> 0 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_sprite.frag.qsbbin1988 -> 0 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_sprite.vert.qsbbin6028 -> 0 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_tabled.frag.qsbbin1875 -> 0 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_tabled.vert.qsbbin5694 -> 0 bytes
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
deleted file mode 100644
index 5dfc5d1d97..0000000000
--- a/src/particles/shaders_ng/imageparticle_colored.frag.qsb
+++ /dev/null
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_colored.vert.qsb b/src/particles/shaders_ng/imageparticle_colored.vert.qsb
deleted file mode 100644
index b2548042ca..0000000000
--- a/src/particles/shaders_ng/imageparticle_colored.vert.qsb
+++ /dev/null
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_coloredpoint.frag.qsb b/src/particles/shaders_ng/imageparticle_coloredpoint.frag.qsb
deleted file mode 100644
index 6e0373fd3b..0000000000
--- a/src/particles/shaders_ng/imageparticle_coloredpoint.frag.qsb
+++ /dev/null
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_coloredpoint.vert.qsb b/src/particles/shaders_ng/imageparticle_coloredpoint.vert.qsb
deleted file mode 100644
index 09b31c77c3..0000000000
--- a/src/particles/shaders_ng/imageparticle_coloredpoint.vert.qsb
+++ /dev/null
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_deformed.frag.qsb b/src/particles/shaders_ng/imageparticle_deformed.frag.qsb
deleted file mode 100644
index 3df7e49cd0..0000000000
--- a/src/particles/shaders_ng/imageparticle_deformed.frag.qsb
+++ /dev/null
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_deformed.vert.qsb b/src/particles/shaders_ng/imageparticle_deformed.vert.qsb
deleted file mode 100644
index 121e35fbb0..0000000000
--- a/src/particles/shaders_ng/imageparticle_deformed.vert.qsb
+++ /dev/null
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_simplepoint.frag.qsb b/src/particles/shaders_ng/imageparticle_simplepoint.frag.qsb
deleted file mode 100644
index 6199c48589..0000000000
--- a/src/particles/shaders_ng/imageparticle_simplepoint.frag.qsb
+++ /dev/null
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_simplepoint.vert.qsb b/src/particles/shaders_ng/imageparticle_simplepoint.vert.qsb
deleted file mode 100644
index ff8a5403d6..0000000000
--- a/src/particles/shaders_ng/imageparticle_simplepoint.vert.qsb
+++ /dev/null
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_sprite.frag.qsb b/src/particles/shaders_ng/imageparticle_sprite.frag.qsb
deleted file mode 100644
index 2df0734683..0000000000
--- a/src/particles/shaders_ng/imageparticle_sprite.frag.qsb
+++ /dev/null
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_sprite.vert.qsb b/src/particles/shaders_ng/imageparticle_sprite.vert.qsb
deleted file mode 100644
index 5ef575a868..0000000000
--- a/src/particles/shaders_ng/imageparticle_sprite.vert.qsb
+++ /dev/null
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_tabled.frag.qsb b/src/particles/shaders_ng/imageparticle_tabled.frag.qsb
deleted file mode 100644
index 08a82fe8ab..0000000000
--- a/src/particles/shaders_ng/imageparticle_tabled.frag.qsb
+++ /dev/null
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_tabled.vert.qsb b/src/particles/shaders_ng/imageparticle_tabled.vert.qsb
deleted file mode 100644
index febe5a495a..0000000000
--- a/src/particles/shaders_ng/imageparticle_tabled.vert.qsb
+++ /dev/null
Binary files differ