* Fix unknown pragma error on msys2 mingw
* Fix missing assignment operator on msys2 mingw
Default is omitted by compiler because custom copy constructor
* Fix redefinition of _1 and _2 error on msys2 mingw
fix is converting it to lambda as clang is claiming that is
preferred
* Fix strncpy warnings about truncation
* Fix missing assignment operator error on clang
* Update glTFImporter.cpp
* Update glTF2Importer.cpp
---------
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
* [FBX] Allow export multi materials per node
Previously it was assumed that each node would export a single material. This removes that
assumption, and also allows for exporting multiple meshes with a single node. Previously they
would each be seprated into their own node.
* Support for animations with multiple meshes too
---------
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
While one of the throws in the function did indeed close the open stream,
several didn't.
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
The docs talked about the importer, but no importer exists in the
context of calling this function. It seems like the docs may have been
accidentally copied from somewhere else.
I copied the docs from another import function within the same file.
This seems reasonable because the implementations of both functions
suggest they work the same way: the function creates the importer and
sets it into the scene private data so that the later release call can
release the importer.
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
Previously tangents were not being exported. If they are present, they should also be properly
exported.
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
* Fix: Fix name collision
* Fix: Fix possible override
* Fix: Use reentrant providing time function
* Fix: Fix override
* Update AssbinFileWriter.cpp
Revert, not portable.
* Update AssxmlFileWriter.cpp
Revert asctime_r, not portable.
* Fix parsing of comments at the end of lines for tokens with variable number of elements. (#5890)
* Fixed Quality Gate issues.
Reduced nesting of the break statements.
---------
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
The heap-use-after-free vulnerability occurs in the
CallbackToLogRedirector function. During the process of logging,
a previously freed memory region is accessed, leading to a
use-after-free condition. This vulnerability stems from incorrect
memory management, specifically, freeing a log stream and then
attempting to access it later on.
This patch sets NULL value for The DefaultStream global pointer.
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
If mesh is validated after AttributeBegin call, then
the AttributeBegin is never closed with an
AttributeEnd, causing problems in pbrt.
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
Previously it was possible that the number of vertices between the mesh and morph mesh varied.
This may have caused problems in tools like Blender, and this ensures there's a 1-1
correspondence between vertices.
In addition, exporting doubles broke meshlab on import, so now it exports floats.
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
Previously GLTF meshes were created even if there were no faces, which lead to GLTFs which were not technically valid.
I believe this fixes the problem I was encountering, but I've not been able to test it because of some Mac compile errors. Will test on a windows machine at some point.
Fixes#5868
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
* Add CI to automatically build and attach binaries to releases
* Correctly label arm64 MacOS and add x64 variation
---------
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
* Fix potential uninitialized variable in clipper
* Clipper: Fix second parameter as well.
---------
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
* Try to resolve image paths by replacing backslashes.
* Some changes suggested by CI
* Removed usage of <filesystem>.
* Removing usage of C++20/C++23 features
---------
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>