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
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
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
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
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
9ef71fe231
Merge branch 'master' into 5781186265350144
2023-06-14 07:40:47 +02:00
Alex
646d3591b6
Fix memory leak
2023-06-14 07:40:21 +02:00
Alex
496a4bf156
Fix unknown write in Assimp::ObjFileMtlImporter::getFloatValue
2023-06-14 07:40:21 +02:00
Alex
8012657169
Fix Heap-buffer-overflow READ in Assimp::MD5::MD5Parser::ParseSection
2023-06-14 07:38:57 +02:00
Alex
dbd15fd351
Fix UNKNOWN WRITE in std::__1::list<Assimp::LWO::Envelope, std::__1::allocator<Assimp::LWO::Envelope>
2023-06-14 07:38:47 +02:00
Alex
86aecf395e
Fix Bad-cast to Assimp::D3DS::Material from invalid vptr in Assimp::ASE::Parser::ParseLV2MaterialBlock
2023-06-14 07:38:38 +02:00
Alex
c6c95b69f6
Use SizeCheck
2023-06-14 07:38:02 +02:00
Alex
54b0c00418
Fix UNKNOWN READ in Assimp::MDLImporter::ParseSkinLump_3DGS_MDL7
2023-06-14 07:38:02 +02:00
Alex
f897b0c461
Merge branch 'master' into 6520123362508800
2023-06-13 22:06:08 +02:00
Kim Kulling
3ccf242bdb
Merge branch 'master' into memleak
2023-06-13 19:46:56 +02:00
Kim Kulling
bef66deeda
Update glTF2Importer.h
2023-06-08 20:56:14 +02:00
Kim Kulling
1ab4161cd7
Update glTF2Importer.cpp
2023-06-08 20:55:48 +02:00