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)
Change-Id: I46fdf56b00476614487fbcc04178e43e33a01794
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>
In general glTF shader files does not contain version
directives and in some case it make shader compiler
using GLSL 1.1 which leads to that the shader compiler
fails.
So we need to append the choosen version number which is
GLSL 1.3 in case of libgltf, but this also means that
from that point OpenGL 3.0 is the new reuirements since
GLSL 1.3 is available only from that version.
Change-Id: Ic4382266432ea474aeb3e603b32a998b9aeed280
Otherwise those external projects will fail, because with only VS2013 installed
there is no ToolsVersion 4.0 (which is set inside the VC projects files).
http://msdn.microsoft.com/en-us/library/bb383985.aspx
Change-Id: I144ba1ef95372226ebadb082e3a78155cca316fd
For whatever reason the tinderboxes still try to regenerate the
autotools based files, even after applying the generated file
change after the template changes.
These patches aren't needed, as the original problem is the CPPFLAGS
environment visibility, so we drop them.
Change-Id: Idb5caf662c997221337416686313101ad2193e40
The libgltf configure.ac script changes the autotools user variables
CFLAGS and CXXFLAGS, which is not allowed and can overwrite user
settings (which it does for the -D_GLIBCXX_DEBUG flag).
So this moves the special compile settings to seperate variables and
passes them to AM_CXXFLAGS and AM_CPPFLAGS, so the library actually
gets compiled with libstdc++ debug objects.
Change-Id: I00989f5fb629a6aac43ee5a2eb287b0491a3b86d
When viewport changed it is necessary to resize the whole scene.
Calling releasFbo removes size dependent objects and triggers
creating the new ones with the new size.
Change-Id: Ibd8be1e92be92da31add4a30aa799f0995b1cc88
Fixes in the new tarball (beside the upstreamed bug fixes):
- In walkthrough mode camera is moved relative to the current
camera position and not relative to the initial camera position.
- The right FPS numbers are displayed under Linux.
- Some memory optimization to avoid running out of memory
in case of huge models.
- Other freedesktop bugs: fdo#81205, fdo#81207, fdo#81250
Change-Id: Ie0f65be3312688196fcca634eb396c577f991073
Reviewed-on: https://gerrit.libreoffice.org/10274
Reviewed-by: Zolnai Tamás <zolnaitamas2000@gmail.com>
Tested-by: Zolnai Tamás <zolnaitamas2000@gmail.com>
Fixes in the new tarball (beside the upstreamed bug fixes):
- In walkthrough mode camera is moved relative to
the current camera position and not relative to the
initial camera position.
- The right FPS numbers are displayed under Linux.
- Some memory optimization to avoid running out of memory
in case of huge models.
- Other freedesktop bugs: fdo#81205, fdo#81207, fdo#81250
Change-Id: Iba90d43e13dac7792072877d83d17fb1bcbfaae4
This reverts commit 5da85a21241f09a0b2d7796bc952806a1a863592,
bb9078e3dee48afc4c2bd8006a892924f8b38b39 "libgltf: use --with-pick [sic]" had
already added --with-pic.
It seems something is wrong with the files in the
libgltf tarball (maybe wrong timestamps?), because
config.h.in is always regenerated by make (autoheader).
It causes build problems so just remove the deps for this time.
Change-Id: I404c29673987d7c8f75ec8fe4978173593c75a2f
Building:
- The new tarball has reasonable build system so
build libgltf as external package instead of compiling
source files directly.
- Freetype dependancy is removed
Improvements comes with the new libgltf
- Can rotate the models too (orbit mode)
- Two camera handling mode: walkthrough and orbit
(press M to change).
- gltf_animation_set_time() works
- FPS can be displayed without freetype (press F)
Additional notes:
- There were some bugs/regressions which are fixed
during the integration (see patches).
- License files are uddated now.
- libgltf building is enabled only on those platforms
on which gltf support actually works (windows and linux)
Change-Id: Ia6c9c4da53a9b4fedba0d73aa5791489f8ad424b
Reviewed-on: https://gerrit.libreoffice.org/9895
Reviewed-by: Zolnai Tamás <zolnaitamas2000@gmail.com>
Tested-by: Zolnai Tamás <zolnaitamas2000@gmail.com>
libgltf: Parser releases the glTFHandle, but it was not connected to
the corresponding handle by RenderScene::initScene. So when rendering
stopped during file loading because of missing file, Parser's handle
member was an uninitialized pointer so it crashed by calling release
method.
Change-Id: I80099195341766f474143014d5949703d47a6fd8
Handle those cases when file loading failes.
Release *.json file on a different way since it is allocated
by libgltf (inside the glTFHandle).
(cherry picked from commit fafc1e29c1f060c1a44361a0445300f9786ad6f4)
Change-Id: Idf6c6971a8ac1b342d89dc4f61a62624183e01d0
It is ambiguos where we should free file buffers because they
are allocated by the caller code, but since gltfHandle is
deallocated inside libgltf and libgltf has a gltf_renderer_release
method for deallocation it seems better to free them by libgltf.
Conflicts:
external/libgltf/UnpackedTarball_libgltf.mk
Change-Id: If3d9abed0514128c13cde8c1967ea80c4d27bf59