222 #ifndef QGLENGINE_SHADER_MANAGER_H 223 #define QGLENGINE_SHADER_MANAGER_H 226 #include <QGLShaderProgram> 228 #include <private/qgl_p.h> 229 #include <private/qglcustomshaderstage_p.h> 335 #if defined (QT_DEBUG) 350 QGLEngineSharedShaders(
const QGLContext *context);
351 ~QGLEngineSharedShaders();
356 QGLEngineShaderProg *findProgramInCache(
const QGLEngineShaderProg &prog);
359 static QGLEngineSharedShaders *shadersForContext(
const QGLContext *context);
374 static const char* qShaderSnippets[TotalSnippetCount];
424 enum MaskType {NoMask, PixelMask, SubPixelMaskPass1, SubPixelMaskPass2, SubPixelWithGammaMask};
470 void removeCustomStage();
472 GLuint getUniformLocation(
Uniform id);
475 bool useCorrectShaderProg();
477 void useSimpleProgram();
478 void useBlitProgram();
481 complexGeometry = hasComplexGeometry;
482 shaderProgNeedsChanging =
true;
486 return complexGeometry;
515 #endif //QGLENGINE_SHADER_MANAGER_H
QGLSharedResourceGuard ctxGuard
static const GLuint QT_PMV_MATRIX_3_ATTR
bool shaderProgNeedsChanging
#define QT_END_NAMESPACE
This macro expands to.
QVector< uint > uniformLocations
QGLEngineSharedShaders::SnippetName mainVertexShader
CompositionMode
Defines the modes supported for digital image compositing.
QGLCustomShaderStage * customSrcStage
QGLEngineSharedShaders::SnippetName mainFragShader
The QByteArray class provides an array of bytes.
QGLShaderProgram * blitProgram()
QGLEngineSharedShaders::SnippetName maskFragShader
QGLEngineSharedShaders::SnippetName positionVertexShader
QGLShaderProgram * blitShaderProg
The QObject class is the base class of all Qt objects.
QByteArray customStageSource
QGLShaderProgram * simpleShaderProg
static const GLuint QT_OPACITY_ATTR
QGLEngineShaderProg * currentShaderProg
bool hasComplexGeometry() const
#define QT_BEGIN_NAMESPACE
This macro expands to.
QTransform brushTransform
QList< QGLShader * > shaders
The QGLContext class encapsulates an OpenGL rendering context.
QPainter::CompositionMode compositionMode
static const GLuint QT_PMV_MATRIX_2_ATTR
QList< QGLEngineShaderProg * > cachedPrograms
bool usePmvMatrixAttribute
QGLShaderProgram * simpleProgram()
QGLEngineSharedShaders::SnippetName compositionFragShader
bool operator==(const QGLEngineShaderProg &other)
void setHasComplexGeometry(bool hasComplexGeometry)
static const GLuint QT_PMV_MATRIX_1_ATTR
static const GLuint QT_TEXTURE_COORDS_ATTR
QGLEngineSharedShaders::SnippetName srcPixelFragShader
static const GLuint QT_VERTEX_COORDS_ATTR
QGLEngineSharedShaders * sharedShaders
QGLShaderProgram * program
The QGLShaderProgram class allows OpenGL shader programs to be linked and used.
The QList class is a template class that provides lists.