diff --git a/ui/gl/gl_shader.cpp b/ui/gl/gl_shader.cpp index 217dbef..aa37476 100644 --- a/ui/gl/gl_shader.cpp +++ b/ui/gl/gl_shader.cpp @@ -41,15 +41,14 @@ void main() { )"; } -ShaderPart VertexPassTextureCoord() { +ShaderPart VertexPassTextureCoord(char prefix) { + const auto name = prefix + QString("_texcoord"); return { .header = R"( -attribute vec2 texcoord; -varying vec2 v_texcoord; -)", +attribute vec2 )" + name + R"(In; +varying vec2 )" + name + ";\n", .body = R"( - v_texcoord = texcoord; -)", + )" + name + " = " + name + "In;\n", }; } diff --git a/ui/gl/gl_shader.h b/ui/gl/gl_shader.h index cacb1f3..3ce7aa6 100644 --- a/ui/gl/gl_shader.h +++ b/ui/gl/gl_shader.h @@ -21,7 +21,7 @@ struct ShaderPart { [[nodiscard]] QString VertexShader(const std::vector &parts); [[nodiscard]] QString FragmentShader(const std::vector &parts); -[[nodiscard]] ShaderPart VertexPassTextureCoord(); +[[nodiscard]] ShaderPart VertexPassTextureCoord(char prefix = 'v'); [[nodiscard]] ShaderPart FragmentSampleARGB32Texture(); [[nodiscard]] ShaderPart FragmentSampleYUV420Texture(); [[nodiscard]] ShaderPart VertexViewportTransform();