|
Krita Source Code Documentation
|
#include <kis_opengl_shader_loader.h>
Public Member Functions | |
| KisShaderProgram * | loadCheckerShader () |
| KisShaderProgram * | loadDisplayShader (QSharedPointer< KisDisplayFilter > displayFilter, bool useHiQualityFiltering) |
| KisShaderProgram * | loadSolidColorShader () |
Private Member Functions | |
| KisShaderProgram * | loadShader (QString vertPath, QString fragPath, QByteArray vertHeader, QByteArray fragHeader) |
A utility class for loading various shaders we use in Krita. It provides specific methods for shaders that pick the correct vertex and fragment files depending on the availability of OpenGL3. Additionally, it provides a generic shader loading method to prevent duplication.
Definition at line 71 of file kis_opengl_shader_loader.h.
| KisShaderProgram * KisOpenGLShaderLoader::loadCheckerShader | ( | ) |
Specific checker shader loading function. It picks the appropriate shader files depending on the availability of OpenGL3 on the target machine.
Definition at line 175 of file kis_opengl_shader_loader.cpp.
References loadShader(), and KisOpenGL::supportsLoD().
| KisShaderProgram * KisOpenGLShaderLoader::loadDisplayShader | ( | QSharedPointer< KisDisplayFilter > | displayFilter, |
| bool | useHiQualityFiltering ) |
Specific display shader loading function. It adds the appropriate extra code to the fragment shader depending on what is available on the target machine. Additionally, it picks the appropriate shader files depending on the availability of OpenGL3.
Definition at line 134 of file kis_opengl_shader_loader.cpp.
References loadShader(), and KisOpenGL::supportsLoD().
|
private |
Generic shader loading function that will compile a shader program given a vertex shader and fragment shader resource path. Extra code can be prepended to each shader respectively using the header parameters.
| vertPath | Resource path to a vertex shader |
| fragPath | Resource path to a fragment shader |
| vertHeader | Extra code which will be prepended to the vertex shader |
| fragHeader | Extra code which will be prepended to the fragment shader |
Definition at line 44 of file kis_opengl_shader_loader.cpp.
References KisOpenGL::hasOpenGL3(), KisOpenGL::hasOpenGLES(), PROGRAM_TEXCOORD_ATTRIBUTE, PROGRAM_VERTEX_ATTRIBUTE, and KisOpenGL::supportsLoD().
| KisShaderProgram * KisOpenGLShaderLoader::loadSolidColorShader | ( | ) |
Specific uniform shader loading function. It picks the appropriate shader files depending on the availability of OpenGL3 on the target machine.
Definition at line 196 of file kis_opengl_shader_loader.cpp.
References loadShader(), and KisOpenGL::supportsLoD().