external/libgltf/UnpackedTarball_libgltf.mk   |    3 +
 external/libgltf/libgltf-add-a-vao.1          |   49 ++++++++++++++++++
 external/libgltf/libgltf-disable-non-core.1   |   28 ++++++++++
 external/libgltf/libgltf-quads-to-triangles.1 |   69 ++++++++++++++++++++++++++
 4 files changed, 149 insertions(+)

New commits:
commit 9f28a9e6593fcb9031cd1f80b073c62e624eddd8
Author: Caolán McNamara <caol...@redhat.com>
Date:   Wed Sep 6 14:48:31 2017 +0100

    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 <c...@libreoffice.org>
    Reviewed-by: Caolán McNamara <caol...@redhat.com>
    Tested-by: Caolán McNamara <caol...@redhat.com>

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?= <caol...@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?= <caol...@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?= <caol...@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
+
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to