From 2ca46a5526e4341a620b5c9adf93844fb9fddea9 Mon Sep 17 00:00:00 2001 From: Sean Harmer Date: Sat, 2 Feb 2013 23:06:51 +0000 Subject: OpenGL: Add support for OpenGL 4 tessellation shader stages This adds support for OpenGL 4 tessellation shader stages to QOpenGLShaderProgram and QOpenGLShader. Change-Id: Iefb2f411e00767990d54670c5d39413be694dd66 Reviewed-by: James Turner Reviewed-by: Giuseppe D'Angelo Reviewed-by: Gunnar Sletta --- src/gui/opengl/qopenglshaderprogram.h | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'src/gui/opengl/qopenglshaderprogram.h') diff --git a/src/gui/opengl/qopenglshaderprogram.h b/src/gui/opengl/qopenglshaderprogram.h index 00b67f94345..3677779a6a6 100644 --- a/src/gui/opengl/qopenglshaderprogram.h +++ b/src/gui/opengl/qopenglshaderprogram.h @@ -63,9 +63,11 @@ class Q_GUI_EXPORT QOpenGLShader : public QObject public: enum ShaderTypeBit { - Vertex = 0x0001, - Fragment = 0x0002, - Geometry = 0x0004 + Vertex = 0x0001, + Fragment = 0x0002, + Geometry = 0x0004, + TessellationControl = 0x0008, + TessellationEvaluation = 0x0010 }; Q_DECLARE_FLAGS(ShaderType, ShaderTypeBit) @@ -129,6 +131,15 @@ public: int maxGeometryOutputVertices() const; + void setPatchVertexCount(int count); + int patchVertexCount() const; + + void setDefaultOuterTessellationLevels(const QVector &levels); + QVector defaultOuterTessellationLevels() const; + + void setDefaultInnerTessellationLevels(const QVector &levels); + QVector defaultInnerTessellationLevels() const; + void bindAttributeLocation(const char *name, int location); void bindAttributeLocation(const QByteArray& name, int location); void bindAttributeLocation(const QString& name, int location); -- cgit v1.2.3