Jan Krassnigg
1e93280f47
Infrastructure for reporting progress
...
This commit adds two classes:
* ProgressTracker
* ProgressScope
The first is for users to implement, and to instantiate when they desire
to get informed about the overall progress.
The second is to be added to all functions that may take a considerable
amount of time, such that they can report back how far along they are.
These are much more convenient to use than the existing ProgressHandler.
ProgressScope is designed such that it only requires "local knowledge"
about upcoming and finished work. Scopes are nested and combined to
form the final global progress.
The active ProgressTracker is stored in a thread_local pointer.
This is a consicius decision since in assimp there is often no 'context'
passed through. The ProgressTracker may be needed anywhere, and it would
be tedious and a huge change to pass it through to every function.
Therefore, using a thread_local variable makes it accessible everywhere,
without a major interface change. Since assimmp is single-threaded,
but may be run in parallel on multiple threads, a thread_local is a
good trade-off, in my opinion.
This change only adds few uses of ProgressScope, to generally show how
it would be used. Also for our use cases these where the most pressing
places to add progress reporting, so this already covers loading from FBX
files pretty well.
2023-08-01 14:06:12 +02:00
sfjohnston
dd40b0ccee
Changed #define FBX_FOV_UNKNOWN to const float kFovUnknown
2023-07-23 12:05:01 -07:00
sfjohnston
3ec8a36764
Merge branch 'assimp:master' into sfjohnston_mods
2023-07-23 08:37:47 -07:00
Marco Feuerstein
37a1366fb7
Add missing rapidjson headers.
2023-07-21 11:33:06 +02:00
Kim Kulling
64e0ba2625
Merge branch 'master' into sfjohnston_mods
2023-07-20 09:21:13 +00:00
Kim Kulling
16021ef9ac
Merge branch 'master' into cloud_storage_version
2023-07-14 11:47:24 +02:00
Marco Feuerstein
0e7cd18c8b
Strip aws gcs version string.
2023-07-14 09:37:48 +02:00
Marco Feuerstein
bf38d67935
Fix detection of KHR_materials_specular.
2023-07-13 11:51:56 +02:00
sfjohnston
c7afea3cd7
Merge branch 'assimp:master' into sfjohnston_mods
2023-07-10 07:58:21 -07:00
Kim Kulling
e2b19ef776
Merge branch 'master' into file_extension
2023-07-10 11:19:27 +02:00
Marco Feuerstein
87cac888e4
More simplifications.
2023-07-08 12:58:11 +02:00
Marco Feuerstein
bdde968677
Address reviewer comment.
2023-07-08 12:58:11 +02:00
Marco Feuerstein
506baa21e6
Unify extension check for importers.
...
This enables proper checking for all kinds of extensions (including the
ones with multiple dots) for all importers and internal usage.
2023-07-08 12:58:11 +02:00
Marco Feuerstein
0256047168
Extend token search flag from alpha to graph.
...
This way we can fix Blender exported files being wrongly detected as
obj files.
2023-07-08 12:57:45 +02:00
Kim Kulling
90ff723b6c
Merge branch 'master' into gltf_binary
2023-07-03 21:31:28 +02:00
Kim Kulling
ed903543a7
Merge branch 'master' into 4879958521806848
2023-07-03 19:50:38 +02:00
Alex
093e35dd54
Fix eternal loop
2023-07-03 09:12:00 +00:00
Alex
edb8375702
Fix integer overflow
2023-07-03 09:11:38 +00:00
PencilAmazing
f1561f03ce
Merge branch 'master' into irrfix
2023-07-02 15:10:04 -04:00
PencilAmazing
0bacc7134d
Remove debugging code, clean up some notes
2023-07-02 14:32:17 -04:00
PencilAmazing
19da9cc84d
Port mesh loading to pugixml. Untested.
2023-07-02 14:32:12 -04:00
dog
3e1fd74940
Fix up scene loading. pugixml is a breadth-first parser while irrxml is
...
a depth first. This only parses scene structure, no mesh loading yet.
2023-07-02 14:30:54 -04:00
PencilAmazing
537b445a59
Apply clang-format to files
2023-07-02 14:17:52 -04:00
Alex
6f3bfb5b60
Fix memory leak
2023-07-02 14:12:49 -04:00
Alex
3838a8aaf8
Fix unknown write in Assimp::ObjFileMtlImporter::getFloatValue
2023-07-02 14:12:49 -04:00
Marco Feuerstein
82d3f47432
Unify way to check readable blender files.
2023-06-29 15:10:28 +02:00
Marco Feuerstein
2875de132f
Fix compilation on windows.
2023-06-29 08:20:51 +02:00
Marco Feuerstein
17fac97b04
Fix magic token usage.
2023-06-29 08:20:51 +02:00
Marco Feuerstein
1c0f3c5f87
Fix string length calculation.
2023-06-29 08:20:50 +02:00
Marco Feuerstein
a2bdfdd05a
Improve binary check for gltf and gltf2.
...
By checking the magic token we don't depend on the extension any more
and follow the official way to detect a gltf file as binary, see also
https://github.com/KhronosGroup/glTF/blob/main/extensions/1.0/Khronos/KHR_binary_glTF/README.md#header
and https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#binary-header .
2023-06-29 08:20:50 +02:00
Kim Kulling
1ec3dbd11a
Merge branch 'master' into 5093294573486080
2023-06-27 17:04:58 +02:00
Kim Kulling
f24224fdc5
Merge branch 'master' into SupportOBJSpecifiedOnlyAPartOfVertexColors
2023-06-27 13:44:31 +02:00
Kim Kulling
db6c1a8b1c
Merge branch 'master' into 5921493454815232
2023-06-27 11:03:50 +02:00
Kim Kulling
ef6bf03acd
Merge branch 'master' into 5143879191494656
2023-06-27 10:23:36 +02:00
Kim Kulling
141e278e1f
Merge branch 'master' into 5407417422970880
2023-06-27 10:07:21 +02:00
Kim Kulling
ff36ea7e23
Merge branch 'master' into 6521292621217792
2023-06-26 09:17:40 +02:00
Kim Kulling
b1181b1086
Merge branch 'master' into 4508318827937792
2023-06-25 21:20:02 +02:00
Kim Kulling
7005a9caa2
Merge branch 'master' into 6520123362508800
2023-06-25 21:07:34 +02:00
Kim Kulling
6b1a2e91d5
Merge branch 'master' into 6091762766839808
2023-06-25 20:08:45 +02:00
Kim Kulling
438f9fe568
Merge branch 'master' into 6020769077657600
2023-06-25 18:11:54 +02:00
Kim Kulling
3545aab937
Merge branch 'master' into 5781186265350144
2023-06-25 17:51:01 +02:00
Kim Kulling
bd65af0d44
Merge branch 'master' into SupportOBJSpecifiedOnlyAPartOfVertexColors
2023-06-20 09:38:53 +02:00
Kim Kulling
6502b97d3e
Fix: Put unused var into comments to later use.
2023-06-19 23:38:57 +02:00
Kim Kulling
7f0c388ad8
Fix: Put unused var into comments to later use.
2023-06-19 23:27:32 +02:00
Kim Kulling
10059e6431
Add handling for negative indices.
2023-06-19 23:21:35 +02:00
emaame
22c8d97b54
Support OBJ specified only a part of vertex colors
...
The omitted vertex colors are treated as (0, 0, 0, 1).
e.g
v 0.0 0.0 0.0
v 0.0 0.0 1.0 0.0 0.0 0.0
v 0.0 1.0 0.0
v 1.0 0.0 0.0 1.0 0.6 0.3
v 1.0 1.0 0.0
2023-06-17 16:31:04 +09:00
Scott Johnston
aab3c8010c
Correct from full FOV to assimp half-fov in camera. Compute from filmWidth and focalLength if FOV not specified.
2023-06-15 12:16:06 -07:00
Alex
36dfa3bed3
Fix UNKNOWN WRITE in Assimp::SortByPTypeProcess::Execute
2023-06-14 15:50:50 +00:00
Alex
b158b716d1
Fix Memcpy-param-overlap in unzReadCurrentFile: bump zlib to 1.2.13
2023-06-14 07:41:41 +02:00
Alex
9ef71fe231
Merge branch 'master' into 5781186265350144
2023-06-14 07:40:47 +02:00