summaryrefslogtreecommitdiff
path: root/slideshow
AgeCommit message (Collapse)Author
2015-11-24fix build: "warning C4305: truncation from 'double' to 'float'"Thorsten Behrens
Change-Id: Ied01ccf789877c15080797de3723588e09fa6c7c
2015-11-24fix build "error C2065: ´M_PI´ : undeclared identifier"Thorsten Behrens
Change-Id: I0ba164cdc1c473184b953bffd7d264d1ec8733b6
2015-11-23slideshow: Fix rotations when the slide and the screen have a different ratioEmmanuel Gil Peyrot
Change-Id: Ia6dcc352531a6bf067f3e87086cb275b00f81c97
2015-11-23slideshow: Add back lighting in the SimpleTransition shadersEmmanuel Gil Peyrot
Change-Id: Iec854a8369a7a9f845f261233e46aea8097db109
2015-11-23slideshow: Fix the baseline version, we now require OpenGL 2.1Emmanuel Gil Peyrot
With ReflectionTransition requiring 3.0 instead. Change-Id: I9497dab91017d1d81a6a5a369524849ce5774694
2015-11-23slideshow: Make the Iris class private to the TransitionImpl translation unitEmmanuel Gil Peyrot
Change-Id: I9bf701a7f19d0f778b8fec7a39b762cc89b061b7
2015-11-23slideshow: Merge ShaderTransition into OGLTransitionImplEmmanuel Gil Peyrot
Change-Id: Ia585a5064362c261c137d8c4abefcfda7cb7bdd7
2015-11-23slideshow: Move Operation to its own translation unitEmmanuel Gil Peyrot
Change-Id: Ie0be68055152347e82da66cb48cf76c54b7966c0
2015-11-23loplugin:unusedfields in slideshow/Noel Grandin
Change-Id: I509dd0bdda284abb2b8abdb809bf1dec8b9632ce
2015-11-22loplugin:staticmethodsNoel Grandin
Change-Id: I57ab559112201269ce389bb6eff737168cec1e78 Reviewed-on: https://gerrit.libreoffice.org/20119 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-20slideshow: Reimplement reflections in shaders, and port Rochade and TurnAroundEmmanuel Gil Peyrot
This removes the hack reflections were previously, where a black quad was drawn on top of a mirror version of the first primitive only. Change-Id: I8c0863ab30e85d0130a8d7e838f3514e9be93788
2015-11-20slideshow: Reimplement both Fade transitions in shadersEmmanuel Gil Peyrot
Change-Id: I94187b9316a206578bb738411053afe070703f09
2015-11-20slideshow: Make SimpleTransition inherit from ShaderTransitionEmmanuel Gil Peyrot
Many transitions don’t like the simplistic default shader, especially since it doesn’t handle lighting or reflections properly. Those issues are addressed in the following commits. TODO: except lighting. Change-Id: Ia99308deb87c97d9bbe1da32aac64d0437061a84
2015-11-20Seems more natural to pass a homogenous list by initializer_listStephan Bergmann
...than by template parameter pack (even if that requires using ServiceDecl*, as initializer_list cannot take reference types) Change-Id: Ia986201b52d8daedfe925f132ebc79bc2c0ba378
2015-11-20loplugin:sallogareasStephan Bergmann
Change-Id: Ib1f06cb5f925535858bc14aab6f59ad7fd2a3a8d
2015-11-19loplugin:redundantcastStephan Bergmann
Change-Id: I89281db92f9b75e972313a95c33473d7649a9bef
2015-11-19slideshow: Port all matrix operations from GL to glmEmmanuel Gil Peyrot
We are still using glPushMatrix/glMultMatrix/glPopMatrix until everything is moved to shaders, at which point we will upload it with glUniformMatrix instead. Change-Id: I1684700eb9ed5867c5a2ae2b4e8cf2f1805f4d70
2015-11-19slideshow: Batch primitive display as much as possibleEmmanuel Gil Peyrot
We now set the state and upload all vertices data at once, before each batch, in order to minimize GL calls during drawing. The next step will be to move to shaders, in order to use per-primitive uniforms instead of changing the global modelview matrix and issuing another draw call. Change-Id: I8c7cf29047047b9cad575cc6264485ae77d6ba10
2015-11-19slideshow: Use gl_ModelViewProjectionMatrix in vertex shadersEmmanuel Gil Peyrot
ftransform() is deprecated, and we shouldn’t do an extraneous multiplication to obtain the two matrices together. Change-Id: Iaa16c106b8b702468f7be643a812107f0967acdd
2015-11-19slideshow: Always enable normals, there is no case where they are emptyEmmanuel Gil Peyrot
Change-Id: Ia45a3ec98a1f548b5a976f485d4165bb3d1ff2e4
2015-11-19slideshow: Don’t create the permTexture if the shaders don’t use itEmmanuel Gil Peyrot
Change-Id: I0aefe2130a85303213e247676d45546d9859cf62
2015-11-19slideshow: Rename getVertices into getVertex, to match its only usageEmmanuel Gil Peyrot
2015-11-18slideshow: improve "honeycomb" transitionTomaž Vajngerl
Change-Id: I8687127cd9ccf6a6ddd87d934f7462a69a047053
2015-11-18remove unused typedefs and inline use-once typedefsNoel Grandin
and improve the script a little Change-Id: I2792ea4dd5df3a50736fbe209225c3f16fb86b84 Reviewed-on: https://gerrit.libreoffice.org/20033 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-17loplugin:unnecessaryvirtualNoel Grandin
update the plugin with lessons learned from the mergeclasses plugin and re-run it Change-Id: I9d622eb3d05fceaf8fa764c533c8fa5dfb4c7711 Reviewed-on: https://gerrit.libreoffice.org/20015 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-16slideshow: initial work on "honeycomb" transition (incomplete)Tomaž Vajngerl
Change-Id: I4a46f7f1ec289f96f9fd1b849317b7548ac29383
2015-11-15Fast PCH generator and optimized PCH filesAshod Nakashian
Ported update_pch.sh to Python with improved performance and features. The new script is invoked from the same update_pch.sh which calls it for each library in parallel, although it can be invoked directly. The ported script (update_pch) updates all PCH files in ~15 seconds where the old script took ~4500 seconds. In addition, the new script supports 3-tiered headers (system, module, and local) and is very flexible to support other improvement. It has a per-library optimal configuration settings that can be updated using another new scripts (update_pch_autotune.sh) which finds optimal per-PCH settings. PCH files have been generated using the new scripts which builds significantly faster (2-3x, depending on module and configuration) and the intermediate binaries are noticably smaller (by several GBs). The new script stamps each generated PCH file with the command that generated it to make it trivial for users to update them, and also adds the command to invoke another script (update_pch_bisect) that helps find missing headers or conflicting headers that may break the build after updating the PCH. Finally update_pch has built-in unit-tests for makefile parsing and other core functionality. Change-Id: Ib933b50e50374d7e2e7e3e95ba8799b0cc8a27fa Reviewed-on: https://gerrit.libreoffice.org/19965 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-11-13slideshow: improve rotation timing in glitter transitionTomaž Vajngerl
Change-Id: I8b0475a6dcde53202a489b9d3265add9fe068cbc
2015-11-13slideshow: simplify NByMTileFlip transitionTomaž Vajngerl
Change-Id: I0ec07eb25d538d82d740a33f05b0a4f002adf36a
2015-11-13slideshow: add "glitter" slide transitionTomaž Vajngerl
Change-Id: Ie89b64c4399cd0092eee579660c9fe85f8ca8e73
2015-11-12Bin mesa_headers completelyTor Lillqvist
We don't need them in a MSVC or OS X compilation either. Change-Id: I00181fe0a047df09bbdfcce34c07eb2ebc45a2da
2015-11-12Avoid mesa_headers on X11, also link with -lGL only where necesssaryTor Lillqvist
The GLEW headers are enough, and what we actually use in these places. In addition to handling GL extension things in its dynamic fashion, GLEW headers also have declarations for standard, non-extension, OpenGL API, including xgl and wgl ones. Most likely we don't need mesa_headers on Windows or OS X either, and can drop them completely. Change-Id: Ic0d8d6238c862f8fe4a74e99e95344dcbf540980
2015-11-11new loplugin: memoryvarNoel Grandin
detect when we can convert a new/delete sequence on a local variable to use std::unique_ptr Change-Id: Iecae4e4197eccdfacfce2eed39aa4a69e4a660bc Reviewed-on: https://gerrit.libreoffice.org/19884 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann
Change-Id: Ief4dd31d68bd7c8e45070eea689d07057449ce77
2015-11-10Improve the Vortex transitionTor Lillqvist
Let about half the tiles move around in one direction (in front of the slide plane), and the rest the other direction (behind the slide plane). Make sure tiles that rotate into each other's location go the same way around, so that they don't pass through each others, which looks ugly. Avoid z-fighting by not letting the tile end up exactly on top of the one it is replacing, in case that one has not started moving yet. Change-Id: I232b0f815412d5d575b0dde4df2d337288e645bb
2015-11-09Simplify and improve (?) the Vortex transitionTor Lillqvist
Change-Id: I0602be9567961ca3bb5d41febd35ad65d8d7fb2a
2015-11-08Now I understand why that multiplication by 10 was there originallyTor Lillqvist
I was suffering from one basic misunderstanding: I did not get it that samplers are indexed with normalized texture coordinates, i.e. 0..1. (Note that multiplying a coordinate by any number does not break anything horribly for this use case, looking up a pseudo-random number, because textures by default repeat as a coordinate wraps.) We multiply by 10 so that neighbouring pixels that map to close index into the permTexture don't get clumped together with close sn values, and thus same behaviour. (Sure, the multiplication by 256 that I had changed it to worked, too, but not the way my initial reasoning went... So let's use the original 10 to avoid somebody else thinking that we need to multiply by 256 because permTexture is built from a 256x256 array.) (See 1877228ae8e7cc298cf4e45d061ee54774aa1d08) Change-Id: I1d350446460fe2fdd3e55f00053a5ce01d2d117c
2015-11-07Improve transition shader portabilityTor Lillqvist
Use #version 120 explicitly, and adapt the shader shader code accordingly, to use strictly only GLSL 1.20 constructs. Also, use less vertex attribute data in the Vortex vertex shader: We can pack the per-vertex tile x and y index and in-tile vertex index information into one float. Also, the shader can calculate the center of the tile a vertex belongs to based on the knowledge of which tile it is. Now the shader transitions work on OS X, too. Change-Id: I93e8b5069a6d06d2e412ffee322b1eb32805e606
2015-11-06Make the Vortex transition a bit more interestingTor Lillqvist
Also some minor cleanups in the C++ code. Change-Id: I106657130dd6e32b458cb416717806caac5031ce
2015-11-06loplugin:stringconstant: elide explicit ctor usage (automatic rewrite)Stephan Bergmann
Change-Id: I23de1fa2f8e6c0cf6281b32eab179e131aa98056
2015-11-06Add a 'Ripple' transitionTor Lillqvist
Change-Id: I18efe35c299bc3a4a2a5e449021323fc1f53f378
2015-11-05use uno::Reference::set method instead of assignmentNoel Grandin
Change-Id: Ib93d762cf523e0029bbed16e08beebd9f418ae24
2015-11-04yyyyyNoel Grandin
Change-Id: I9a947beefd2dfe21da8239e841ea3fb416bd1548
2015-10-30Mac fixStephan Bergmann
Change-Id: Ib44f84ae028a73dd1940797acdadaff1e3c206d9
2015-10-30The fglrx driver is an X11 only thingTor Lillqvist
It means "FireGL and Radeon for X". Change-Id: I188fa03a113d9977a7a240bc0fc9f6dc9be054b8
2015-10-30UNO: no need to use OUString constructor when calling createInstanceNoel Grandin
Change-Id: I37da28539b94706574116d0fff5f008aabfb5526 Reviewed-on: https://gerrit.libreoffice.org/19682 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-30coverity#1332210 Uninitialized scalar fieldCaolán McNamara
Change-Id: I9f62e3f9d2bb517ad8f40400004670de1c4d06a5
2015-10-30loplugin:unusedmethodsNoel Grandin
Change-Id: Id3b5cd75d4357336ed592ef11a3f34d209f8e95f Reviewed-on: https://gerrit.libreoffice.org/19636 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-29com::sun::star->css in slideshowNoel Grandin
Change-Id: I7ae3c5198c22a3937e8c3ef87f48fa2a7e562c62 Reviewed-on: https://gerrit.libreoffice.org/19664 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-27Remove initial :: from sal_* typesTor Lillqvist
Change-Id: Idcdc9aeb7d3fdca0a9db43c1cb518ab1d1b2f0f4