summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-09-06 14:48:31 +0100
committerCaolán McNamara <caolanm@redhat.com>2017-09-07 10:04:52 +0200
commit9f28a9e6593fcb9031cd1f80b073c62e624eddd8 (patch)
tree20745f436c369956c8c3cf37fec55b94f2e22506
parent1da162bedf1ab3907caa5ed8ba202a8251dae0a1 (diff)
Related: tdf#103884 poke libgltf towards core profile
poke libgltf towards working with a core profile as available under gtk3 Change-Id: I48a5a33c6d401e0aa3e6d18f93a498465eda8634 Reviewed-on: https://gerrit.libreoffice.org/41999 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--external/libgltf/UnpackedTarball_libgltf.mk3
-rw-r--r--external/libgltf/libgltf-add-a-vao.149
-rw-r--r--external/libgltf/libgltf-disable-non-core.128
-rw-r--r--external/libgltf/libgltf-quads-to-triangles.169
4 files changed, 149 insertions, 0 deletions
diff --git a/external/libgltf/UnpackedTarball_libgltf.mk b/external/libgltf/UnpackedTarball_libgltf.mk
index 89a06da8d2db..8f677ab62a0a 100644
--- a/external/libgltf/UnpackedTarball_libgltf.mk
+++ b/external/libgltf/UnpackedTarball_libgltf.mk
@@ -18,6 +18,9 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,libgltf,1))
$(eval $(call gb_UnpackedTarball_add_patches,libgltf,\
external/libgltf/libgltf-msvc-disable-sse2.patch.1 \
external/libgltf/libgltf-msvc-x64.patch.1 \
+ external/libgltf/libgltf-quads-to-triangles.1 \
+ external/libgltf/libgltf-add-a-vao.1 \
+ external/libgltf/libgltf-disable-non-core.1 \
))
# vim: set noet sw=4 ts=4:
diff --git a/external/libgltf/libgltf-add-a-vao.1 b/external/libgltf/libgltf-add-a-vao.1
new file mode 100644
index 000000000000..0013d4796399
--- /dev/null
+++ b/external/libgltf/libgltf-add-a-vao.1
@@ -0,0 +1,49 @@
+From b260dd9f337af262a48054f3ff537df38083513a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
+Date: Wed, 6 Sep 2017 14:40:16 +0100
+Subject: [PATCH] add a vao
+
+Change-Id: I48879f7450d1ed5ad216276f2b9b92d8f5f784fb
+---
+ src/RenderScene.cpp | 5 ++++-
+ src/RenderScene.h | 1 +
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/RenderScene.cpp b/src/RenderScene.cpp
+index 09670b5..6d5e8ae 100644
+--- a/src/RenderScene.cpp
++++ b/src/RenderScene.cpp
+@@ -700,7 +700,8 @@ unsigned int RenderShader::getRenderPrimSize() const
+ }
+
+ RenderScene::RenderScene()
+- : maCamera()
++ : mVAO(0)
++ , maCamera()
+ , cCamera(0)
+ , vCameraIndex()
+ , mOrbitInitViewMatrix(0.0)
+@@ -979,6 +980,8 @@ void RenderScene::initOpengl()
+ glEnable(GL_LIGHTING);
+ glEnable(GL_LIGHT0);
+ glDepthFunc(GL_LESS);
++ glGenVertexArrays(1, &mVAO);
++ glBindVertexArray(mVAO);
+ }
+
+ void RenderScene::createDefaultCamera()
+diff --git a/src/RenderScene.h b/src/RenderScene.h
+index ebc44c3..fa01859 100644
+--- a/src/RenderScene.h
++++ b/src/RenderScene.h
+@@ -286,6 +286,7 @@ private:
+ int initSSAAFrameBuf(glTFViewport* pViewport);
+ void setModelBoundaryValue();
+
++ GLuint mVAO;
+ CPhysicalCamera maCamera;
+ ParseCamera* cCamera;
+ std::vector<std::string> vCameraIndex;
+--
+2.9.4
+
diff --git a/external/libgltf/libgltf-disable-non-core.1 b/external/libgltf/libgltf-disable-non-core.1
new file mode 100644
index 000000000000..c6251a01ffb1
--- /dev/null
+++ b/external/libgltf/libgltf-disable-non-core.1
@@ -0,0 +1,28 @@
+From f944ca8d14feee3787937bff0ba5b47e47f1d04f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
+Date: Wed, 6 Sep 2017 14:47:22 +0100
+Subject: [PATCH] remove non-core opengl glenables
+
+Change-Id: I28306eaf9fb8ac6705242ecb74de7c19bca65ff4
+---
+ src/RenderScene.cpp | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/src/RenderScene.cpp b/src/RenderScene.cpp
+index 6d5e8ae..c0e8a62 100644
+--- a/src/RenderScene.cpp
++++ b/src/RenderScene.cpp
+@@ -975,10 +975,7 @@ void RenderScene::initOpengl()
+ {
+ glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
+ glClear(GL_COLOR_BUFFER_BIT);
+- glEnable(GL_TEXTURE_2D);
+ glEnable(GL_DEPTH_TEST);
+- glEnable(GL_LIGHTING);
+- glEnable(GL_LIGHT0);
+ glDepthFunc(GL_LESS);
+ glGenVertexArrays(1, &mVAO);
+ glBindVertexArray(mVAO);
+--
+2.9.4
+
diff --git a/external/libgltf/libgltf-quads-to-triangles.1 b/external/libgltf/libgltf-quads-to-triangles.1
new file mode 100644
index 000000000000..94361e19663e
--- /dev/null
+++ b/external/libgltf/libgltf-quads-to-triangles.1
@@ -0,0 +1,69 @@
+From b01a2afeac2749ade7fac96b663a684aa988b28f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
+Date: Wed, 6 Sep 2017 14:31:36 +0100
+Subject: [PATCH] Related: tdf#103884 convert GL_QUADS to GL_TRIANGLES
+
+---
+ src/RenderScene.cpp | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/src/RenderScene.cpp b/src/RenderScene.cpp
+index f4b1c24..09670b5 100644
+--- a/src/RenderScene.cpp
++++ b/src/RenderScene.cpp
+@@ -141,13 +141,15 @@ void RenderWithFBO::inverseBitMap(int width, int height)
+ 1.0f, 1.0f,
+ 1.0f, 0.0f,
+ 0.0f, 0.0f,
++ 0.0f, 1.0f,
+ };
+ GLfloat squareVertices[] =
+ {
+ -1.0f, -1.0f, -1.0,
+ 1.0f, -1.0f, -1.0,
+ 1.0f, 1.0f, -1.0,
+- -1.0f, 1.0f, -1.0
++ -1.0f, 1.0f, -1.0,
++ -1.0f, -1.0f, -1.0,
+ };
+ setBufferForFbo(texCoordBuf, vertexBuf, coordVertices,
+ sizeof(coordVertices), squareVertices,
+@@ -266,7 +268,8 @@ void RenderWithFBO::inverseTexture(GLuint proId, GLuint texCoordBuf,
+ glActiveTexture(GL_TEXTURE0);
+ glBindTexture(GL_TEXTURE_2D, mShotTexId);
+ glUniform1i(textureId, 0);
+- glDrawArrays(GL_QUADS, 0, 4);
++ glDrawArrays(GL_TRIANGLES, 0, 3);
++ glDrawArrays(GL_TRIANGLES, 2, 3);
+ glDisableVertexAttribArray(vertexId);
+ glDisableVertexAttribArray(texCoordId);
+ glActiveTexture(GL_TEXTURE0);
+@@ -416,7 +419,8 @@ int RenderWithFBO::renderFboTexture()
+
+ glBindTexture(GL_TEXTURE_2D, mRenderTexId);
+ glUniform1i(textureId, 0);
+- glDrawArrays(GL_QUADS, 0, 4);
++ glDrawArrays(GL_TRIANGLES, 0, 3);
++ glDrawArrays(GL_TRIANGLES, 2, 3);
+ glDisableVertexAttribArray(texCoordId);
+ glDisableVertexAttribArray(vertexId);
+ return LIBGLTF_SUCCESS;
+@@ -456,6 +460,7 @@ int RenderWithFBO::createAndBindFbo(int width, int height, bool isUseMSAA)
+ 1.0f, 0.0f,
+ 1.0f, 1.0f,
+ 0.0f, 1.0f,
++ 0.0f, 0.0f,
+ };
+ GLfloat squareVertices[] =
+ {
+@@ -463,6 +468,7 @@ int RenderWithFBO::createAndBindFbo(int width, int height, bool isUseMSAA)
+ 1.0f, -1.0f,
+ 1.0f, 1.0f,
+ -1.0f, 1.0f,
++ -1.0f, -1.0f,
+ };
+ setBufferForFbo(mTexCoordBuf, mVertexBuf, coordVertices,
+ sizeof(coordVertices), squareVertices,
+--
+2.9.4
+