summaryrefslogtreecommitdiffstats
path: root/src/qtmultimediaquicktools/shaders/triplanaryuvvideo.vert
diff options
context:
space:
mode:
authorYoann Lopes <yoann.lopes@theqtcompany.com>2015-04-28 18:35:38 +0200
committerYoann Lopes <yoann.lopes@theqtcompany.com>2015-04-30 09:02:20 +0000
commitfe13f5bb05ef278eb5109a9518118dda7ddb0b9d (patch)
tree167e3b090efb82e41dac6fd2cd8fd5504a72a60b /src/qtmultimediaquicktools/shaders/triplanaryuvvideo.vert
parent61033aa420b4d34107e3cc67e8751506bc4ab745 (diff)
Minor refactor of built-in QSGVideoNodes.v5.5.0-beta1
- Load shader source from resource files. - Correctly report material types: each material can use different shaders depending on the video pixel format but it was reporting a unique material type. This was causing the node to keep using the same shader even if its pixel format changed. Change-Id: Ib903ecd6e7dd1dd56d7cefe255ab7049933df17d Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Diffstat (limited to 'src/qtmultimediaquicktools/shaders/triplanaryuvvideo.vert')
-rw-r--r--src/qtmultimediaquicktools/shaders/triplanaryuvvideo.vert16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/qtmultimediaquicktools/shaders/triplanaryuvvideo.vert b/src/qtmultimediaquicktools/shaders/triplanaryuvvideo.vert
new file mode 100644
index 000000000..d76b3f358
--- /dev/null
+++ b/src/qtmultimediaquicktools/shaders/triplanaryuvvideo.vert
@@ -0,0 +1,16 @@
+uniform highp mat4 qt_Matrix;
+uniform highp float plane1Width;
+uniform highp float plane2Width;
+uniform highp float plane3Width;
+attribute highp vec4 qt_VertexPosition;
+attribute highp vec2 qt_VertexTexCoord;
+varying highp vec2 plane1TexCoord;
+varying highp vec2 plane2TexCoord;
+varying highp vec2 plane3TexCoord;
+
+void main() {
+ plane1TexCoord = qt_VertexTexCoord * vec2(plane1Width, 1);
+ plane2TexCoord = qt_VertexTexCoord * vec2(plane2Width, 1);
+ plane3TexCoord = qt_VertexTexCoord * vec2(plane3Width, 1);
+ gl_Position = qt_Matrix * qt_VertexPosition;
+}