From 1554fc9611e44d55eacc577bfed51d0f9c1c3a25 Mon Sep 17 00:00:00 2001 From: Jan Holesovsky Date: Tue, 20 May 2014 22:00:19 +0200 Subject: libgltf: Updated version. Change-Id: Ia394ff00421f495757cc2ce55e7b91bfebe715eb --- avmedia/source/opengl/oglframegrabber.cxx | 4 +- avmedia/source/opengl/oglplayer.cxx | 3 +- avmedia/source/opengl/oglwindow.cxx | 12 +- download.lst | 2 +- external/libgltf/UnpackedTarball_libgltf.mk | 2 +- external/libgltf/patches/disable_fps.patch | 31 ------ .../libgltf/patches/disable_fps_and_timer.patch | 124 +++++++++++++++++++++ 7 files changed, 135 insertions(+), 43 deletions(-) delete mode 100644 external/libgltf/patches/disable_fps.patch create mode 100644 external/libgltf/patches/disable_fps_and_timer.patch 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 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 -@@ -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 -- cgit v1.2.3