summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@collabora.com>2014-05-20 22:00:19 +0200
committerJan Holesovsky <kendy@collabora.com>2014-05-21 17:52:28 +0200
commit1554fc9611e44d55eacc577bfed51d0f9c1c3a25 (patch)
tree2f04de3bbcb2c6b59cd79dc1e625626007ab4bbf
parentf9d3abef3300e68b0ac69d789dc0babaee82b644 (diff)
libgltf: Updated version.
Change-Id: Ia394ff00421f495757cc2ce55e7b91bfebe715eb
-rw-r--r--avmedia/source/opengl/oglframegrabber.cxx4
-rw-r--r--avmedia/source/opengl/oglplayer.cxx3
-rw-r--r--avmedia/source/opengl/oglwindow.cxx12
-rw-r--r--download.lst2
-rw-r--r--external/libgltf/UnpackedTarball_libgltf.mk2
-rw-r--r--external/libgltf/patches/disable_fps.patch31
-rw-r--r--external/libgltf/patches/disable_fps_and_timer.patch124
7 files changed, 135 insertions, 43 deletions
diff --git a/avmedia/source/opengl/oglframegrabber.cxx b/avmedia/source/opengl/oglframegrabber.cxx
index 9db1f1b028d0..e92cd862aec8 100644
--- a/avmedia/source/opengl/oglframegrabber.cxx
+++ b/avmedia/source/opengl/oglframegrabber.cxx
@@ -33,11 +33,11 @@ OGLFrameGrabber::~OGLFrameGrabber()
{
}
-uno::Reference< css::graphic::XGraphic > SAL_CALL OGLFrameGrabber::grabFrame( double fMediaTime )
+uno::Reference< css::graphic::XGraphic > SAL_CALL OGLFrameGrabber::grabFrame( double /*fMediaTime*/ )
throw ( uno::RuntimeException, std::exception )
{
boost::scoped_array<sal_uInt8> pBuffer(new sal_uInt8[m_pHandle->viewport.width * m_pHandle->viewport.height * 4]);
- gltf_renderer_get_bitmap(&m_pHandle, 1, fMediaTime, (char*)pBuffer.get(), GL_BGRA);
+ gltf_renderer_get_bitmap(&m_pHandle, 1, (char*)pBuffer.get(), GL_BGRA);
BitmapEx aBitmap = OpenGLHelper::ConvertBGRABufferToBitmapEx(pBuffer.get(), m_pHandle->viewport.width, m_pHandle->viewport.height);
return Graphic( aBitmap ).GetXGraphic();
}
diff --git a/avmedia/source/opengl/oglplayer.cxx b/avmedia/source/opengl/oglplayer.cxx
index 83f5221e52ef..323242aabb4b 100644
--- a/avmedia/source/opengl/oglplayer.cxx
+++ b/avmedia/source/opengl/oglplayer.cxx
@@ -30,8 +30,7 @@ OGLPlayer::OGLPlayer()
OGLPlayer::~OGLPlayer()
{
- // Comment out while it causes segmentation fault
- // gltf_renderer_release(m_pHandle);
+ gltf_renderer_release(m_pHandle);
}
static bool lcl_LoadFile( glTFFile* io_pFile, const OUString& rURL)
diff --git a/avmedia/source/opengl/oglwindow.cxx b/avmedia/source/opengl/oglwindow.cxx
index 7bdc9f785ee9..6f39b0e82d7a 100644
--- a/avmedia/source/opengl/oglwindow.cxx
+++ b/avmedia/source/opengl/oglwindow.cxx
@@ -32,9 +32,9 @@ OGLWindow::~OGLWindow()
void SAL_CALL OGLWindow::update() throw (css::uno::RuntimeException, std::exception)
{
m_pContext->makeCurrent();
- gltf_prepare_renderer(&m_pHandle->viewport);
+ gltf_prepare_renderer(m_pHandle);
gltf_renderer(m_pHandle);
- gltf_complete_renderer();
+ gltf_complete_renderer(m_pHandle);
m_pContext->swapBuffers();
}
@@ -257,8 +257,8 @@ IMPL_LINK(OGLWindow, CameraHandler, VclWindowEvent*, pEvent)
glm::vec3 vEye;
glm::vec3 vView;
glm::vec3 vUp;
- gltf_get_camera_pos(&vEye,&vView,&vUp);
- float fModelSize =(float)gltf_get_model_size();
+ gltf_get_camera_pos(m_pHandle, &vEye,&vView,&vUp);
+ float fModelSize =(float)gltf_get_model_size(m_pHandle);
glm::vec3 vMove = vView-vEye;
vMove = glm::normalize(vMove);
@@ -277,7 +277,7 @@ IMPL_LINK(OGLWindow, CameraHandler, VclWindowEvent*, pEvent)
if(nCode == KEY_W)vMoveBy -= vMup*(0.001f*fModelSize);
if(nCode == KEY_S)vMoveBy += vMup*(0.001f*fModelSize);
}
- gltf_renderer_move_camera(vMoveBy.x,vMoveBy.y,vMoveBy.z,0.0);
+ gltf_renderer_move_camera(m_pHandle, vMoveBy.x, vMoveBy.y, vMoveBy.z, 0.0);
update();
}
}
@@ -309,7 +309,7 @@ IMPL_LINK(OGLWindow, CameraHandler, VclWindowEvent*, pEvent)
long nDeltaX = m_aLastMousePos.X()-aCurPos.X();
long nDeltaY = aCurPos.Y()-m_aLastMousePos.Y();
// TODO: It seems this method just moves the camera but not rotate it.
- gltf_renderer_rotate_camera((float)nDeltaX*fSensitivity,(float)nDeltaY*fSensitivity,0.0,0.0);
+ gltf_renderer_rotate_camera(m_pHandle, (float)nDeltaX*fSensitivity, (float)nDeltaY*fSensitivity, 0.0, 0.0);
update();
m_aLastMousePos = aCurPos;
diff --git a/download.lst b/download.lst
index 0d960ce58bdb..ccbb7f35c660 100644
--- a/download.lst
+++ b/download.lst
@@ -88,7 +88,7 @@ export LIBATOMIC_OPS_TARBALL := libatomic_ops-7_2d.zip
export LIBEOT_MD5SUM := aa24f5dd2a2992f4a116aa72af817548
export LIBEOT_TARBALL := libeot-0.01.tar.bz2
export LIBEXTTEXTCAT_TARBALL := ae330b9493bd4503ac390106ff6060d7-libexttextcat-3.4.3.tar.bz2
-export LIBGLTF_TARBALL := 02faa5e385c7083fc1e9cfbe71470e1f-libgltf.tar.bz2
+export LIBGLTF_TARBALL := 510c3f8504bfb8cc8c8fc5d0fac74055-libgltf.tar.bz2
export LIBLANGTAG_TARBALL := 36271d3fa0d9dec1632029b6d7aac925-liblangtag-0.5.1.tar.bz2
export LIBXMLSEC_TARBALL := 1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz
export LIBXML_TARBALL := 9c0cfef285d5c4a5c80d00904ddab380-libxml2-2.9.1.tar.gz
diff --git a/external/libgltf/UnpackedTarball_libgltf.mk b/external/libgltf/UnpackedTarball_libgltf.mk
index 3c96babd46af..e919c71dcde7 100644
--- a/external/libgltf/UnpackedTarball_libgltf.mk
+++ b/external/libgltf/UnpackedTarball_libgltf.mk
@@ -18,7 +18,7 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,libgltf,1))
$(eval $(call gb_UnpackedTarball_add_patches,libgltf,\
external/libgltf/patches/include_path_glew.patch \
external/libgltf/patches/include_path_freetype.patch \
- external/libgltf/patches/disable_fps.patch \
+ external/libgltf/patches/disable_fps_and_timer.patch \
))
# vim: set noet sw=4 ts=4:
diff --git a/external/libgltf/patches/disable_fps.patch b/external/libgltf/patches/disable_fps.patch
deleted file mode 100644
index bc64d90cd462..000000000000
--- a/external/libgltf/patches/disable_fps.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git libgltf/src/FPSCounter.h libgltf/src/FPSCounter.h
-index c6c4279..66f7e2b 100644
---- libgltf/src/FPSCounter.h
-+++ libgltf/src/FPSCounter.h
-@@ -7,6 +7,11 @@
- */
- #ifndef FPSCOUNTER_H
- #define FPSCOUNTER_H
-+
-+#define ENABLE_FPS 0
-+
-+#if ENABLE_FPS
-+
- #include "time.h"
- #include "Font.h"
- #include "Shaders.h"
-@@ -17,7 +22,6 @@
-
- #define WRITEFPS2FILE 1
- #define TIMETHRESHOLD 30
--#define ENABLE_FPS 1
- #define FPS_FILE "./FPSCounter.txt"
- #if WRITEFPS2FILE
- #include <iostream>
-@@ -136,4 +140,6 @@ private:
- #endif
- };
-
-+#endif // ENABLE_FPS
-+
- #endif
diff --git a/external/libgltf/patches/disable_fps_and_timer.patch b/external/libgltf/patches/disable_fps_and_timer.patch
new file mode 100644
index 000000000000..c5d5eb289186
--- /dev/null
+++ b/external/libgltf/patches/disable_fps_and_timer.patch
@@ -0,0 +1,124 @@
+diff --git libgltf/src/RenderScene.cpp libgltf/src/RenderScene.cpp
+index 88c5c9a..6639572 100644
+--- libgltf/src/RenderScene.cpp
++++ libgltf/src/RenderScene.cpp
+@@ -383,7 +383,9 @@ void RenderWithFBO::releaseFbo()
+
+
+ CPhysicalCamera* RenderScene::sCamera = NULL;
++#if ENABLE_FPS
+ FPSCounter* RenderScene::pFPSCounter = NULL;
++#endif
+ ShaderProgram RenderScene::mShaderProgram = ShaderProgram();
+
+ RenderScene::RenderScene()
+@@ -400,10 +402,12 @@ RenderScene::RenderScene()
+
+ RenderScene::~RenderScene()
+ {
++#if ENABLE_FPS
+ if (pFPSCounter != NULL)
+ {
+ delete pFPSCounter;
+ }
++#endif
+ #if ENABLE_TIMER
+ if(pTimer != NULL)
+ {
+@@ -815,8 +819,10 @@ int RenderScene::initRender(glTFHandle* handle)
+
+ void RenderScene::initFPS(unsigned char* fontBuf,unsigned int bufSize)
+ {
++#if ENABLE_FPS
+ pFPSCounter = new FPSCounter(fontBuf,bufSize);
+ pFPSCounter->loadFPSShader(&mShaderProgram);
++#endif
+ }
+
+ void RenderScene::renderPrimitive(RenderPrimitive* pPrimitive,
+@@ -1132,10 +1138,12 @@ void RenderScene::drawTriangle(RenderPrimitive* pPrimitive)
+
+ void RenderScene::prepareRender(void* lpParam)
+ {
++#if ENABLE_FPS
+ if (pFPSCounter != NULL)
+ {
+ pFPSCounter->timeStamp();
+ }
++#endif
+ viewport = *((glTFViewport*)lpParam);
+ fbo.createAndBindFbo(viewport.width * SSAA, viewport.height * SSAA);
+ glBindFramebuffer(GL_FRAMEBUFFER, fbo.mFboId);
+@@ -1229,10 +1237,12 @@ void RenderScene::renderShader(Technique* pTechnique)
+
+ void RenderScene::completeRender()
+ {
++#if ENABLE_FPS
+ if (pFPSCounter != NULL)
+ {
+ pFPSCounter->printFPS(&viewport);
+ }
++#endif
+ glViewport(viewport.x, viewport.y, viewport.width, viewport.height);
+ glBindFramebuffer(GL_FRAMEBUFFER, 0);
+ fbo.renderFboTexture();
+@@ -1356,4 +1366,4 @@ double RenderScene::getAnimDuration()
+ int RenderScene::isAnimPlay()
+ {
+ return this->mAnimationPlay ? 1 : 0;
+-}
+\ No newline at end of file
++}
+diff --git libgltf/src/RenderScene.h libgltf/src/RenderScene.h
+index cc0b3e5..065a689 100644
+--- libgltf/src/RenderScene.h
++++ libgltf/src/RenderScene.h
+@@ -8,12 +8,22 @@
+ #ifndef RENDERSCENE_H
+ #define RENDERSCENE_H
+
++#ifndef ENABLE_FPS
++#define ENABLE_FPS 0
++#endif
++
++#ifndef ENABLE_TIMER
++#define ENABLE_TIMER 0
++#endif
++
+ #include "Shaders.h"
+ #include "Common.h"
+ #include "Texture.h"
+ #include "Camera.h"
+ #include "LoadScene.h"
++#if ENABLE_FPS
+ #include "FPSCounter.h"
++#endif
+ #include "Timer.h"
+
+ using namespace glTF;
+@@ -246,7 +256,9 @@ private:
+ bool loadFPSShader();
+ int getFPS();
+ void printFPS(glTFViewport* pViewpoit);
++#if ENABLE_FPS
+ static FPSCounter* pFPSCounter;
++#endif
+ RenderWithFBO fbo;
+ #if ENABLE_TIMER
+ Timer* pTimer;
+diff --git libgltf/src/Timer.h libgltf/src/Timer.h
+index e4d778b..9ab2d74 100644
+--- libgltf/src/Timer.h
++++ libgltf/src/Timer.h
+@@ -10,7 +10,10 @@
+ #include "time.h"
+ #include "Common.h"
+
+-#define ENABLE_TIMER 1
++#ifndef ENABLE_TIMER
++#define ENABLE_TIMER 0
++#endif
++
+ #define DETAILED_INFO 1
+
+ #if ENABLE_TIMER