From 0bc03960daf0d7e28d45513873e3d1feecbedbf6 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Wed, 16 Sep 2020 17:03:46 +0300 Subject: qcam: viewfinder_gl: Support #define in shaders MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Prepare the infrastructure to support defining preprocessor macros in shaders: - Rename the fragmentShaderSrc_ member to fragmentShaderFile_ to reflect better that it contains a file name, not shader source code - Add a new fragmentShaderDefines_ member to store preprocessor macros - Prepend the macros to the shader source before compiling it Signed-off-by: Laurent Pinchart Reviewed-by: Niklas Söderlund --- src/qcam/viewfinder_gl.h | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'src/qcam/viewfinder_gl.h') diff --git a/src/qcam/viewfinder_gl.h b/src/qcam/viewfinder_gl.h index 7675d0a0..53424dc1 100644 --- a/src/qcam/viewfinder_gl.h +++ b/src/qcam/viewfinder_gl.h @@ -65,17 +65,16 @@ private: QSize size_; unsigned char *yuvData_; - /* OpenGL components for rendering */ - QOpenGLShader *fragmentShader_; - QOpenGLShader *vertexShader_; + /* Shaders */ QOpenGLShaderProgram shaderProgram_; + QOpenGLShader *vertexShader_; + QOpenGLShader *fragmentShader_; + QString fragmentShaderFile_; + QStringList fragmentShaderDefines_; /* Vertex buffer */ QOpenGLBuffer vertexBuffer_; - /* Fragment shader file name */ - QString fragmentShaderSrc_; - /* YUV texture planars and parameters */ GLuint textureUniformU_; GLuint textureUniformV_; -- cgit v1.2.1