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>
Also remove the tools/solar.h included from tools/debug.hxx. The include of solar.h
header was necessary in some cases because of a macro or a typedef that was needed.
Change-Id: Ia6e15d5c2571c58c9e9138b0d0a7f08ae88053c9
Reviewed-on: https://gerrit.libreoffice.org/11075
Reviewed-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
Tested-by: Marcos Paulo de Souza <marcos.souza.org@gmail.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
since all two of the actual call-sites only care about whether
it is a valid presentation or not, not what kind of presentation it is.
Change-Id: I75717c88878d37b2897741b0c833ff283b3fee59
Base line is OpenGL 2.1 + extensions:
GL_ARB_framebuffer_object (part of OpenGL 3.0) for
glGenFramebuffers, glGenRenderbuffers...
GL_ARB_vertex_array_object (part of OpenGL 3.0) for
glGenVertexArrays, glBindVertexArray...
GL_ARB_sampler_objects (part of OpenGL 3.3) for
glGenSamplers, glBindSampler...
Change-Id: Ib8acf41ab85cd1677d0341719b3a5b4f743ed756
Camera moves by click and drag, with checking the last mouse
position we can make sure click was done inside the window
before drag.
Resizing can trigger drag event, but not click event.
Change-Id: I9e8b70fcb4a0abf26e76e03cafd026f940eceb10
If any error occurs related to glTF rendering, a question
mark is displayed at the place of the OpenGL window
(Question mark is a general concept of media objects).
Change-Id: Id7df5a47a4dd6832e640b3a7cb3c7712ebfb4408
Reproduce:
- Insert two models
- Play first model
- Delete second model
Result: crash (windows) or first model disappear from the
opengl window (linux).
Change-Id: I940960754f42a2e4faf5b9f37c0d4a3c155e4650
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
Plus fix some problems related to temp files.
e.g. kmz converter was creating temp files next
to the input file.
Change-Id: Ib3f367fe1c4ef3cb25f5ca1c3d06b2dde78c5e45
There is no an accepted mime type for glTF models yet, so
follow collada's mime type: model/vnd.collada+xml.
Change-Id: I1e23a95dbb0caea781dade819f8e08235cb5c1dc