diff options
author | Pasi Keranen <pasi.keranen@digia.com> | 2014-02-13 16:43:18 +0200 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2014-02-14 14:43:10 +0100 |
commit | 8267045c79e6a9359bc71dea5ece637276e29967 (patch) | |
tree | cd1d658b70d2428a177fa05ba4b2b148fe56dfc4 | |
parent | 59ad5f7fbe28f1290c0d9fec249ae7952e648a42 (diff) |
Fix for Mac OS X 10.8 compilation issues.
Changed used GL version to 3.2 and put use of double vector definitions behind #ifdef.
Also removed references to old code from sync.profile.
Change-Id: I806cd882de22f828fbacd162c71b71f52bbd5fbe
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
-rw-r--r-- | src/render/backend/rendermesh.cpp | 4 | ||||
-rw-r--r-- | src/render/backend/rendermesh.h | 4 | ||||
-rw-r--r-- | src/render/frontend/technique.cpp | 2 | ||||
-rw-r--r-- | src/render/io/meshdata.cpp | 26 | ||||
-rw-r--r-- | sync.profile | 2 |
5 files changed, 25 insertions, 13 deletions
diff --git a/src/render/backend/rendermesh.cpp b/src/render/backend/rendermesh.cpp index b7e3252c6..fadd8a544 100644 --- a/src/render/backend/rendermesh.cpp +++ b/src/render/backend/rendermesh.cpp @@ -49,7 +49,7 @@ #include <technique.h> #include <QOpenGLContext> -#include <QOpenGLFunctions_3_3_Core> +#include <QOpenGLFunctions_3_2_Core> #include <QOpenGLShaderProgram> namespace Qt3D { @@ -123,7 +123,7 @@ void RenderMesh::initializeGL(QGraphicsContext* gc) // TODO Be careful about where we do this OpenGL work QOpenGLContext* ctx = QOpenGLContext::currentContext(); - m_funcs = ctx->versionFunctions<QOpenGLFunctions_3_3_Core>(); + m_funcs = ctx->versionFunctions<QOpenGLFunctions_3_2_Core>(); if ( m_funcs ) m_funcs->initializeOpenGLFunctions(); else diff --git a/src/render/backend/rendermesh.h b/src/render/backend/rendermesh.h index 5f2c0cdf8..87987dc03 100644 --- a/src/render/backend/rendermesh.h +++ b/src/render/backend/rendermesh.h @@ -50,7 +50,7 @@ #include <QOpenGLVertexArrayObject> #include <QMatrix4x4> -class QOpenGLFunctions_3_3_Core; +class QOpenGLFunctions_3_2_Core; namespace Qt3D { @@ -115,7 +115,7 @@ private: QOpenGLVertexArrayObject m_vao; - QOpenGLFunctions_3_3_Core *m_funcs; + QOpenGLFunctions_3_2_Core *m_funcs; QMatrix4x4 m_modelMatrix; }; diff --git a/src/render/frontend/technique.cpp b/src/render/frontend/technique.cpp index 5779e8f10..5ef7c46ff 100644 --- a/src/render/frontend/technique.cpp +++ b/src/render/frontend/technique.cpp @@ -267,9 +267,11 @@ Render::QUniformValue::Type Parameter::uniformType() const return Render::QUniformValue::Float; case GL_DOUBLE: +#ifdef GL_DOUBLE_VEC3 // Required to compile on pre GL 4.1 systems case GL_DOUBLE_VEC2: case GL_DOUBLE_VEC3: case GL_DOUBLE_VEC4: +#endif return Render::QUniformValue::Double; default: diff --git a/src/render/io/meshdata.cpp b/src/render/io/meshdata.cpp index 7c68adb6b..2784d3d0a 100644 --- a/src/render/io/meshdata.cpp +++ b/src/render/io/meshdata.cpp @@ -58,9 +58,11 @@ GLint elementType(GLint type) return GL_FLOAT; case GL_DOUBLE: +#ifdef GL_DOUBLE_VEC3 // For compiling on pre GL 4.1 systems case GL_DOUBLE_VEC2: case GL_DOUBLE_VEC3: case GL_DOUBLE_VEC4: +#endif return GL_DOUBLE; default: @@ -80,13 +82,22 @@ GLint tupleSizeFromType(GLint type) break; // fall through case GL_FLOAT_VEC2: - case GL_DOUBLE_VEC2: return 2; +#ifdef GL_DOUBLE_VEC2 // For compiling on pre GL 4.1 systems. + case GL_DOUBLE_VEC2: +#endif + return 2; case GL_FLOAT_VEC3: - case GL_DOUBLE_VEC3: return 3; +#ifdef GL_DOUBLE_VEC3 // For compiling on pre GL 4.1 systems. + case GL_DOUBLE_VEC3: +#endif + return 3; case GL_FLOAT_VEC4: - case GL_DOUBLE_VEC4: return 4; +#ifdef GL_DOUBLE_VEC4 // For compiling on pre GL 4.1 systems. + case GL_DOUBLE_VEC4: +#endif + return 4; default: qWarning() << Q_FUNC_INFO << "unsupported:" << QString::number(type, 16); @@ -104,14 +115,13 @@ GLuint byteSizeFromType(GLint type) case GL_UNSIGNED_INT: return sizeof(GLuint); case GL_FLOAT_VEC2: return sizeof(float) * 2; - case GL_DOUBLE_VEC2: return sizeof(double) * 2; - case GL_FLOAT_VEC3: return sizeof(float) * 3; - case GL_DOUBLE_VEC3: return sizeof(double) * 3; - case GL_FLOAT_VEC4: return sizeof(float) * 4; +#ifdef GL_DOUBLE_VEC3 // Required to compile on pre GL 4.1 systems + case GL_DOUBLE_VEC2: return sizeof(double) * 2; + case GL_DOUBLE_VEC3: return sizeof(double) * 3; case GL_DOUBLE_VEC4: return sizeof(double) * 4; - +#endif default: qWarning() << Q_FUNC_INFO << "unsupported:" << QString::number(type, 16); } diff --git a/sync.profile b/sync.profile index aec8fc637..7796cf2e5 100644 --- a/sync.profile +++ b/sync.profile @@ -1,5 +1,5 @@ %modules = ( # path to module name map - "Qt3DCore" => "$basedir/src/threed", + "Qt3DCore" => "$basedir/src/core", "Qt3D" => "$basedir/src/threed", "Qt3DQuick" => "$basedir/src/quick3d", ); |