Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 384308 Details for
Bug 518664
app-office/libreoffice-4.3 version bump
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
libreoffice-4.3.1.2-upgrade-to-libgltf-0.0.1.patch
libreoffice-4.3.1.2-upgrade-to-libgltf-0.0.1.patch (text/plain), 9.97 KB, created by
Andreas Sturmlechner
on 2014-09-06 19:12:58 UTC
(
hide
)
Description:
libreoffice-4.3.1.2-upgrade-to-libgltf-0.0.1.patch
Filename:
MIME Type:
Creator:
Andreas Sturmlechner
Created:
2014-09-06 19:12:58 UTC
Size:
9.97 KB
patch
obsolete
>From d431986bd49081581e86444af124d1d2ce90a407 Mon Sep 17 00:00:00 2001 >From: =?UTF-8?q?Zolnai=20Tam=C3=A1s?= <tamas.zolnai@collabora.com> >Date: Fri, 29 Aug 2014 22:41:26 +0200 >Subject: Upgrade libgltf to 0.0.1 >MIME-Version: 1.0 >Content-Type: text/plain; charset=UTF-8 >Content-Transfer-Encoding: 8bit > >News in this version: >- Solve some limitations of walkthrough mode (fdo#81425) >- Multisampling (better rendering quality, mainly at the edges) >- Better error handling (no crash in case of invalid input file) > >Reviewed-on: https://gerrit.libreoffice.org/11179 >Reviewed-by: Zolnai Tamás <tamas.zolnai@collabora.com> >Tested-by: Zolnai Tamás <tamas.zolnai@collabora.com> > >Conflicts: > download.lst > external/libgltf/UnpackedTarball_libgltf.mk > external/libgltf/pathces/append_shader_version.patch > external/libgltf/pathces/missing_include.patch > vcl/source/opengl/OpenGLContext.cxx > >Change-Id: I46fdf56b00476614487fbcc04178e43e33a01794 >Reviewed-on: https://gerrit.libreoffice.org/11194 >Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> >Tested-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> > >diff --git a/avmedia/source/opengl/oglframegrabber.hxx b/avmedia/source/opengl/oglframegrabber.hxx >index 0d38224..5beb15b 100644 >--- a/avmedia/source/opengl/oglframegrabber.hxx >+++ b/avmedia/source/opengl/oglframegrabber.hxx >@@ -14,11 +14,7 @@ > #include <com/sun/star/lang/XServiceInfo.hpp> > #include <com/sun/star/media/XFrameGrabber.hpp> > >-#ifdef SYSTEM_LIBGLTF >-#include <libgltf/libgltf.h> >-#else > #include <libgltf.h> >-#endif > > namespace avmedia { namespace ogl { > >diff --git a/avmedia/source/opengl/oglplayer.cxx b/avmedia/source/opengl/oglplayer.cxx >index a052dc9..d2e600b 100644 >--- a/avmedia/source/opengl/oglplayer.cxx >+++ b/avmedia/source/opengl/oglplayer.cxx >@@ -269,6 +269,12 @@ uno::Reference< media::XPlayerWindow > SAL_CALL OGLPlayer::createPlayerWindow( c > return uno::Reference< media::XPlayerWindow >(); > } > >+ if( !m_aContext.supportMultiSampling() ) >+ { >+ SAL_WARN("avmedia.opengl", "Context does not support multisampling!"); >+ return uno::Reference< media::XPlayerWindow >(); >+ } >+ > if( !lcl_CheckOpenGLRequirements() ) > { > SAL_WARN("avmedia.opengl", "Your platform does not have the minimal OpenGL requiremenets!"); >@@ -287,7 +293,7 @@ uno::Reference< media::XPlayerWindow > SAL_CALL OGLPlayer::createPlayerWindow( c > releaseInputFiles(); > if( nRet != 0 ) > { >- SAL_WARN("avmedia.opengl", "Error occured while parsing *.json file! Error code: " << nRet); >+ SAL_WARN("avmedia.opengl", "Error occured while setting up the scene! Error code: " << nRet); > return uno::Reference< media::XPlayerWindow >(); > } > // The background color is white by default, but we need to separate the >@@ -309,6 +315,12 @@ uno::Reference< media::XFrameGrabber > SAL_CALL OGLPlayer::createFrameGrabber() > return uno::Reference< media::XFrameGrabber >(); > } > >+ if( !m_aContext.supportMultiSampling() ) >+ { >+ SAL_WARN("avmedia.opengl", "Context does not support multisampling!"); >+ return uno::Reference< media::XFrameGrabber >(); >+ } >+ > if( !lcl_CheckOpenGLRequirements() ) > { > SAL_WARN("avmedia.opengl", "Your platform does not have the minimal OpenGL requiremenets!"); >@@ -324,7 +336,7 @@ uno::Reference< media::XFrameGrabber > SAL_CALL OGLPlayer::createFrameGrabber() > releaseInputFiles(); > if( nRet != 0 ) > { >- SAL_WARN("avmedia.opengl", "Error occured while parsing *.json file! Error code: " << nRet); >+ SAL_WARN("avmedia.opengl", "Error occured while setting up the scene! Error code: " << nRet); > return uno::Reference< media::XFrameGrabber >(); > } > glClearColor(0.5f, 0.5f, 0.5f, 0.5f); >diff --git a/avmedia/source/opengl/oglplayer.hxx b/avmedia/source/opengl/oglplayer.hxx >index 52aa395..465ed6b 100644 >--- a/avmedia/source/opengl/oglplayer.hxx >+++ b/avmedia/source/opengl/oglplayer.hxx >@@ -14,11 +14,9 @@ > #include <cppuhelper/basemutex.hxx> > #include <com/sun/star/lang/XServiceInfo.hpp> > #include <com/sun/star/media/XPlayer.hpp> >-#ifdef SYSTEM_LIBGLTF >-#include <libgltf/libgltf.h> >-#else >+ > #include <libgltf.h> >-#endif >+ > #include <vcl/opengl/OpenGLContext.hxx> > #include <vcl/timer.hxx> > >diff --git a/avmedia/source/opengl/oglwindow.cxx b/avmedia/source/opengl/oglwindow.cxx >index a770ff5..1092483 100644 >--- a/avmedia/source/opengl/oglwindow.cxx >+++ b/avmedia/source/opengl/oglwindow.cxx >@@ -23,7 +23,6 @@ OGLWindow::OGLWindow( glTFHandle& rHandle, OpenGLContext& rContext, Window& rEve > , meZoomLevel( media::ZoomLevel_ORIGINAL ) > , m_aLastMousePos(Point(0,0)) > , m_bIsOrbitMode( false ) >- , m_fCameraDistance(0.0) > { > } > >@@ -267,15 +266,15 @@ IMPL_LINK(OGLWindow, CameraHandler, VclWindowEvent*, pEvent) > glm::vec3 vMove = vView-vEye; > vMove = glm::normalize(vMove); > vMove *= 25.0f; >- glm::vec3 vStrafe = glm::cross(vView-vEye, vUp); >+ glm::vec3 vStrafe = glm::cross(vMove, vUp); > vStrafe = glm::normalize(vStrafe); > vStrafe *= 25.0f; >- glm::vec3 vMup = glm::cross(vView-vEye,glm::vec3(1.0f,0.0f,0.0f) ); >- vMup = glm::normalize(vMup); >- vMup *= 25.0f; >+ glm::vec3 vMup = vUp * 25.0f; > > if( !m_bIsOrbitMode ) > { >+ if(nCode == KEY_E)vMoveBy += vMup*(0.0005f*fModelSize); >+ if(nCode == KEY_Q)vMoveBy -= vMup*(0.0005f*fModelSize); > if(nCode == KEY_W)vMoveBy += vMove*(0.0005f*fModelSize); > if(nCode == KEY_S)vMoveBy -= vMove*(0.0005f*fModelSize); > if(nCode == KEY_A)vMoveBy -= vStrafe*(0.0005f*fModelSize); >@@ -283,15 +282,24 @@ IMPL_LINK(OGLWindow, CameraHandler, VclWindowEvent*, pEvent) > } > else > { >- if(nCode == KEY_E)vMoveBy += vMove*(0.0005f*fModelSize); >- if(nCode == KEY_Q)vMoveBy -= vMove*(0.0005f*fModelSize); >+ bool bZoomIn = false; >+ bool bZoomOut = false; >+ if(nCode == KEY_E) >+ { >+ vMoveBy += vMove*(0.0005f*fModelSize); >+ bZoomIn = true; >+ } >+ if(nCode == KEY_Q) >+ { >+ vMoveBy -= vMove*(0.0005f*fModelSize); >+ bZoomOut = true; >+ } > > // Limit zooming in orbit mode >- m_fCameraDistance += vMoveBy.z; >- if ((m_fCameraDistance < 0.5 * fModelSize && vMoveBy.z < 0.0 ) || >- (m_fCameraDistance > 2 * fModelSize && vMoveBy.z > 0.0 )) >+ float fCameraDistFromModelGlobe = glm::length(vEye + vMoveBy - vView) - fModelSize / 2.0f; >+ if ((fCameraDistFromModelGlobe < 0.5 * fModelSize && bZoomIn ) || >+ (fCameraDistFromModelGlobe > 2 * fModelSize && bZoomOut )) > { >- m_fCameraDistance -= vMoveBy.z; > vMoveBy = glm::vec3(0.0); > } > } >@@ -333,12 +341,6 @@ IMPL_LINK(OGLWindow, CameraHandler, VclWindowEvent*, pEvent) > { > gltf_orbit_mode_start(&m_rHandle); > m_bIsOrbitMode = true; >- // Set default camera distance >- glm::vec3 vEye; >- glm::vec3 vView; >- glm::vec3 vUp; >- gltf_get_camera_pos(&m_rHandle, &vEye,&vView,&vUp); >- m_fCameraDistance = vEye.z - gltf_get_model_center_pos(&m_rHandle)->z - (gltf_get_model_size(&m_rHandle)/2.0); > } > } > else if(nCode == KEY_F) >diff --git a/avmedia/source/opengl/oglwindow.hxx b/avmedia/source/opengl/oglwindow.hxx >index ae86083..8b15813 100644 >--- a/avmedia/source/opengl/oglwindow.hxx >+++ b/avmedia/source/opengl/oglwindow.hxx >@@ -17,11 +17,8 @@ > #include <com/sun/star/media/XPlayerWindow.hpp> > #include <com/sun/star/media/ZoomLevel.hpp> > >-#ifdef SYSTEM_LIBGLTF >-#include <libgltf/libgltf.h> >-#else > #include <libgltf.h> >-#endif >+ > #include <vcl/opengl/OpenGLContext.hxx> > #include <vcl/syschild.hxx> > >@@ -77,7 +74,6 @@ private: > com::sun::star::media::ZoomLevel meZoomLevel; > Point m_aLastMousePos; > bool m_bIsOrbitMode; >- double m_fCameraDistance; > }; > > } // namespace ogl >diff --git a/configure.ac b/configure.ac >index b6e8124..9cd589b 100644 >--- a/configure.ac >+++ b/configure.ac >@@ -10572,7 +10572,7 @@ if test "x$enable_gltf" != "xno" -a $_os != Darwin -a $_os != iOS -a $_os != And > AC_DEFINE(HAVE_FEATURE_GLTF,1) > if test "$with_system_libgltf" = "yes"; then > SYSTEM_LIBGLTF=TRUE >- PKG_CHECK_MODULES( LIBGLTF, libgltf-0.0 ) >+ PKG_CHECK_MODULES( LIBGLTF, [libgltf-0.0 >= 0.0.1] ) > else > BUILD_TYPE="$BUILD_TYPE LIBGLTF" > fi >diff --git a/include/vcl/opengl/OpenGLContext.hxx b/include/vcl/opengl/OpenGLContext.hxx >index 8a7eb55..f1e0bd2 100644 >--- a/include/vcl/opengl/OpenGLContext.hxx >+++ b/include/vcl/opengl/OpenGLContext.hxx >@@ -166,6 +166,8 @@ public: > return mbInitialized; > } > >+ bool supportMultiSampling() const; >+ > static SystemWindowData generateWinData(Window* pParent); > private: > SAL_DLLPRIVATE bool initWindow(); >diff --git a/vcl/source/opengl/OpenGLContext.cxx b/vcl/source/opengl/OpenGLContext.cxx >index 974f913..338edc3 100644 >--- a/vcl/source/opengl/OpenGLContext.cxx >+++ b/vcl/source/opengl/OpenGLContext.cxx >@@ -833,4 +833,9 @@ void OpenGLContext::show() > m_pWindow->Show(); > } > >+bool OpenGLContext::supportMultiSampling() const >+{ >+ return m_aGLWin.bMultiSampleSupported; >+} >+ > /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ >-- >cgit v0.10.2
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 518664
:
382110
|
382128
|
383036
|
383974
|
384020
|
384022
|
384024
|
384032
|
384034
| 384308 |
384310
|
384690
|
384836