Compare commits
18
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9a9e4b4a59 | ||
|
|
ea7f710d70 | ||
|
|
93f3c38ceb | ||
|
|
0a9cefe943 | ||
|
|
daa6d64227 | ||
|
|
04946cc0f4 | ||
|
|
30c4784619 | ||
|
|
f7d2de1efc | ||
|
|
74a72a20e2 | ||
|
|
07f24a7e93 | ||
|
|
122884557e | ||
|
|
18d84b5d20 | ||
|
|
2b3dfb9164 | ||
|
|
9143651e2e | ||
|
|
bec3e1a089 | ||
|
|
0e6af01232 | ||
|
|
c54522f3c1 | ||
|
|
5e084cd1e8 |
@@ -48,7 +48,7 @@ jobs:
|
||||
- name: ccache
|
||||
uses: hendrikmuhs/ccache-action@v1.2
|
||||
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions/checkout@v5
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
@@ -65,7 +65,7 @@ jobs:
|
||||
- name: Cache DX SDK
|
||||
id: dxcache
|
||||
if: contains(matrix.name, 'windows')
|
||||
uses: actions/cache@v5
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: '${{ github.workspace }}/DX_SDK'
|
||||
key: ${{ runner.os }}-DX_SDK
|
||||
@@ -109,7 +109,7 @@ jobs:
|
||||
run: cd build/bin && ./unit ${{ steps.hunter_extra_test_args.outputs.args }}
|
||||
shell: bash
|
||||
|
||||
- uses: actions/upload-artifact@v7
|
||||
- uses: actions/upload-artifact@v5
|
||||
if: matrix.name == 'windows-msvc'
|
||||
with:
|
||||
name: 'assimp-bins-${{ matrix.name }}'
|
||||
@@ -141,7 +141,7 @@ jobs:
|
||||
prerelease: true
|
||||
- run: |
|
||||
echo '${{steps.create-release.outputs.upload_url}}' > release_upload_url.txt
|
||||
- uses: actions/upload-artifact@v7
|
||||
- uses: actions/upload-artifact@v5
|
||||
with:
|
||||
name: create-release
|
||||
path: release_upload_url.txt
|
||||
@@ -188,7 +188,7 @@ jobs:
|
||||
- id: upload-url
|
||||
run: |
|
||||
echo "url=$(cat create-release/release_upload_url.txt)" >> $GITHUB_OUTPUT
|
||||
- uses: actions/download-artifact@v8
|
||||
- uses: actions/download-artifact@v6
|
||||
with:
|
||||
name: 'assimp-bins-${{ matrix.name }}-${{ github.sha }}'
|
||||
- uses: actions/upload-release-asset@v1
|
||||
|
||||
@@ -27,7 +27,7 @@ jobs:
|
||||
os: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions/checkout@v5
|
||||
|
||||
- uses: lukka/get-cmake@latest
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ jobs:
|
||||
dry-run: false
|
||||
language: c++
|
||||
- name: Upload Crash
|
||||
uses: actions/upload-artifact@v7
|
||||
uses: actions/upload-artifact@v5
|
||||
if: failure() && steps.build.outcome == 'success'
|
||||
with:
|
||||
name: artifacts
|
||||
|
||||
@@ -14,7 +14,7 @@ jobs:
|
||||
name: adress-sanitizer
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions/checkout@v5
|
||||
- uses: lukka/get-cmake@latest
|
||||
- uses: lukka/set-shell-env@v1
|
||||
with:
|
||||
@@ -38,7 +38,7 @@ jobs:
|
||||
name: undefined-behavior-sanitizer
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions/checkout@v5
|
||||
- uses: lukka/get-cmake@latest
|
||||
- uses: lukka/set-shell-env@v1
|
||||
with:
|
||||
@@ -62,7 +62,7 @@ jobs:
|
||||
name: printf-sanitizer
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions/checkout@v5
|
||||
|
||||
- name: run scan_printf script
|
||||
run: ./scripts/scan_printf.sh
|
||||
|
||||
@@ -1,207 +0,0 @@
|
||||
# AGENTS.md - Agent Guidelines for Assimp
|
||||
|
||||
This document provides guidelines for AI agents working on the Assimp codebase.
|
||||
|
||||
## Project Overview
|
||||
|
||||
Assimp (Open Asset Import Library) is a C++ library that loads various 3D file formats into a shared, in-memory format. It supports 40+ import formats and several export formats.
|
||||
|
||||
## Build Commands
|
||||
|
||||
### Basic Build (CMake + Ninja recommended)
|
||||
```bash
|
||||
# Configure with CMake
|
||||
cmake -G Ninja -DASSIMP_BUILD_TESTS=ON -DASSIMP_WARNINGS_AS_ERRORS=ON -S . -B build
|
||||
|
||||
# Build
|
||||
cmake --build build
|
||||
```
|
||||
|
||||
### Key CMake Options
|
||||
- `-DASSIMP_BUILD_TESTS=ON` - Build unit tests (default ON)
|
||||
- `-DASSIMP_WARNINGS_AS_ERRORS=ON` - Treat warnings as errors (default ON)
|
||||
- `-DASSIMP_BUILD_ASSIMP_TOOLS=ON` - Build command-line tools
|
||||
- `-DASSIMP_BUILD_SAMPLES=ON` - Build sample applications
|
||||
- `-DASSIMP_DOUBLE_PRECISION=ON` - Use double precision for calculations
|
||||
- `-DASSIMP_NO_EXPORT=ON` - Disable export functionality
|
||||
- `-DBUILD_SHARED_LIBS=OFF` - Build static library
|
||||
|
||||
### Running Tests
|
||||
|
||||
#### Run All Tests
|
||||
```bash
|
||||
# Using ctest
|
||||
cd build && ctest
|
||||
|
||||
# Or run unit directly
|
||||
./build/unit
|
||||
```
|
||||
|
||||
#### Run Single Test
|
||||
```bash
|
||||
# Using ctest with filter
|
||||
cd build && ctest -R "TestName"
|
||||
|
||||
# Or run unit with filter
|
||||
./build/unit --gtest_filter="TestSuiteName.TestName"
|
||||
```
|
||||
|
||||
For example:
|
||||
```bash
|
||||
./build/unit --gtest_filter="utObjImportExport.*"
|
||||
./build/unit --gtest_filter="utMaterialSystem.*"
|
||||
```
|
||||
|
||||
#### Test Directory
|
||||
Tests are located in `test/unit/` and use Google Test. Test files are named `ut<Feature>.cpp`.
|
||||
|
||||
## Code Style
|
||||
|
||||
### Formatting
|
||||
- **Use clang-format** before committing. Run: `clang-format -i <file>`
|
||||
- The project uses a `.clang-format` file at the root with LLVM-based style
|
||||
- Key settings:
|
||||
- Indent width: 4 spaces
|
||||
- Tab width: 4, UseTab: Never
|
||||
- ColumnLimit: 0 (no line length limit)
|
||||
- BreakConstructorInitializers: AfterColon
|
||||
- AccessModifierOffset: -4
|
||||
|
||||
### Header File Organization
|
||||
```cpp
|
||||
// Order of includes (use clang-format to enforce):
|
||||
// 1. Module's own header
|
||||
// 2. Other assimp headers (assimp/*)
|
||||
// 3. External headers (contrib/*)
|
||||
// 4. Standard library headers
|
||||
// 5. System headers
|
||||
|
||||
#include "Common/Importer.h"
|
||||
#include <assimp/version.h>
|
||||
#include <assimp/config.h>
|
||||
#include "../contrib/some_lib/some.h"
|
||||
#include <vector>
|
||||
#include <string>
|
||||
```
|
||||
|
||||
### Naming Conventions
|
||||
- **Classes/Types**: PascalCase (e.g., `Importer`, `aiScene`)
|
||||
- **Functions**: PascalCase (e.g., `ReadFile`, `GetExtension`)
|
||||
- **Variables**: camelCase (e.g., `scene`, `importStep`)
|
||||
- **Constants**: kCamelCase or UPPER_SNAKE_CASE (e.g., `kMaxVertices`)
|
||||
- **Member variables**: Often prefixed with `m_` (e.g., `mScene`)
|
||||
- **Static variables**: Often prefixed with `s_`
|
||||
|
||||
### File Naming
|
||||
- **Header files**: PascalCase (e.g., `Importer.h`, `ScenePrivate.h`)
|
||||
- **Source files**: PascalCase (e.g., `Importer.cpp`)
|
||||
- **Test files**: Prefixed with `ut` (e.g., `utObjImportExport.cpp`)
|
||||
|
||||
### C++ Guidelines
|
||||
|
||||
#### Language Standard
|
||||
- Minimum: C++17
|
||||
- Use modern C++ features (smart pointers, constexpr, etc.)
|
||||
|
||||
#### Error Handling
|
||||
- Use exceptions for recoverable errors (derived from `std::exception`)
|
||||
- Use `ai_assert` for debugging assertions in code
|
||||
- Return error codes from C API functions
|
||||
|
||||
#### Classes
|
||||
- Use `ai_enable_erasing` pattern for optional features
|
||||
- Use PImpl idiom for ABI stability where appropriate
|
||||
|
||||
#### Memory Management
|
||||
- Use smart pointers (`std::unique_ptr`, `std::shared_ptr`)
|
||||
- Prefer RAII patterns
|
||||
- Document ownership semantics in function comments
|
||||
|
||||
### Importers/Exporters
|
||||
|
||||
#### Structure
|
||||
Each importer typically has:
|
||||
1. Header in `code/AssetLib/<Format>/`
|
||||
2. Implementation in `code/AssetLib/<Format>/`
|
||||
3. Registration in `code/Common/ImporterRegistry.cpp`
|
||||
4. Unit tests in `test/unit/ImportExport/`
|
||||
|
||||
#### Registration
|
||||
```cpp
|
||||
void GetImporterInstanceList(std::vector<BaseImporter*>& out);
|
||||
// Add to registry
|
||||
out.push_back(new MyFormatImporter());
|
||||
```
|
||||
|
||||
### Post-Processing
|
||||
|
||||
- Located in `code/PostProcessing/`
|
||||
- Each process inherits from `BaseProcess`
|
||||
- Implement `ExecuteOnScene` method
|
||||
|
||||
### Documentation
|
||||
|
||||
- Use Doxygen-style comments for public APIs
|
||||
- Example:
|
||||
```cpp
|
||||
/// <summary>
|
||||
/// Loads a file from disk.
|
||||
/// </summary>
|
||||
/// <param name="pFile">Path to the file.</param>
|
||||
/// <returns>Pointer to the imported scene.</returns>
|
||||
aiScene* Importer::ReadFile(const char* pFile);
|
||||
```
|
||||
|
||||
### Contributing
|
||||
|
||||
1. Create a fork of assimp
|
||||
2. Create a branch for your feature/fix
|
||||
3. Run `clang-format` on modified files
|
||||
4. Ensure tests pass
|
||||
5. Open a PR against `master` branch
|
||||
|
||||
## Directory Structure
|
||||
|
||||
```
|
||||
code/
|
||||
AssetLib/ - Importers and exporters
|
||||
CApi/ - C API wrapper
|
||||
Common/ - Shared utilities
|
||||
Geometry/ - Geometry processing
|
||||
Material/ - Material handling
|
||||
PostProcessing/ - Mesh post-processing
|
||||
include/ - Public headers (assimp/)
|
||||
test/
|
||||
unit/ - Unit tests
|
||||
models/ - Test 3D models
|
||||
test/ - Test data (non-BSD licensed)
|
||||
contrib/ - Third-party libraries
|
||||
```
|
||||
|
||||
## CI/CD
|
||||
|
||||
The project runs CI on GitHub Actions:
|
||||
- Builds on Linux and Windows
|
||||
- Runs tests including memory leak detection
|
||||
- Checks compiler warnings
|
||||
|
||||
## Common Tasks
|
||||
|
||||
### Adding a New Importer
|
||||
1. Create `code/AssetLib/<Format>/<Format>Importer.h`
|
||||
2. Create `code/AssetLib/<Format>/<Format>Importer.cpp`
|
||||
3. Register in `code/Common/ImporterRegistry.cpp`
|
||||
4. Add tests in `test/unit/ImportExport/`
|
||||
5. Add to CMakeLists.txt if needed
|
||||
|
||||
### Running Specific Test Suite
|
||||
```bash
|
||||
# Test specific importer
|
||||
./build/unit --gtest_filter="utglTF2ImportExport.*"
|
||||
|
||||
# Test post-processing
|
||||
./build/unit --gtest_filter="utTriangulate.*"
|
||||
|
||||
# Test math operations
|
||||
./build/unit --gtest_filter="utMatrix4x4.*"
|
||||
```
|
||||
-172
@@ -1,172 +0,0 @@
|
||||
# Asset-Importer-Lib AI Tool Use Policy
|
||||
|
||||
## Policy
|
||||
|
||||
Assimp's policy is that contributors can use whatever tools they would like to
|
||||
craft their contributions, but there must be a **human in the loop**.
|
||||
**Contributors must read and review all LLM-generated code or text before they
|
||||
ask other project members to review it.** The contributor is always the author
|
||||
and is fully accountable for their contributions. Contributors should be
|
||||
sufficiently confident that the contribution is high enough quality that asking
|
||||
for a review is a good use of scarce maintainer time, and they should be **able
|
||||
to answer questions about their work** during review.
|
||||
|
||||
We expect that new contributors will be less confident in their contributions,
|
||||
and our guidance to them is to **start with small contributions** that they can
|
||||
fully understand to build confidence. We aspire to be a welcoming community
|
||||
that helps new contributors grow their expertise, but learning involves taking
|
||||
small steps, getting feedback, and iterating. Passing maintainer feedback to an
|
||||
LLM doesn't help anyone grow, and does not sustain our community.
|
||||
|
||||
Contributors are expected to **be transparent and label contributions that
|
||||
contain substantial amounts of tool-generated content**. Our policy on
|
||||
labelling is intended to facilitate reviews, and not to track which parts of
|
||||
Assimp are generated. Contributors should note tool usage in their pull request
|
||||
description, commit message, or wherever authorship is normally indicated for
|
||||
the work. For instance, use a commit message trailer like Assisted-by: <name of
|
||||
code assistant>. This transparency helps the community develop best practices
|
||||
and understand the role of these new tools.
|
||||
|
||||
This policy includes, but is not limited to, the following kinds of
|
||||
contributions:
|
||||
|
||||
- Code, usually in the form of a pull request
|
||||
- RFCs or design proposals
|
||||
- Issues or security vulnerabilities
|
||||
- Comments and feedback on pull requests
|
||||
|
||||
## Details
|
||||
|
||||
To ensure sufficient self review and understanding of the work, it is strongly
|
||||
recommended that contributors write PR descriptions themselves (if needed,
|
||||
using tools for translation or copy-editing). The description should explain
|
||||
the motivation, implementation approach, expected impact, and any open
|
||||
questions or uncertainties to the same extent as a contribution made without
|
||||
tool assistance.
|
||||
|
||||
AI tools must not be used to fix GitHub issues labelled [`good first
|
||||
issue`][good-first-issue]. These issues are generally not urgent, and are
|
||||
intended to be learning opportunities for new contributors to get familiar with
|
||||
the codebase. Whether you are a newcomer or not, fully automating the process
|
||||
of fixing this issue squanders the learning opportunity and doesn't add much
|
||||
value to the project. **Using AI tools to fix issues labelled as "good first
|
||||
issues" is forbidden**.
|
||||
|
||||
[good-first-issue]: https://github.com/llvm/llvm-project/issues/?q=is%3Aissue%20state%3Aopen%20label%3A%22good%20first%20issue%22
|
||||
|
||||
## Extractive Contributions
|
||||
|
||||
The reason for our "human-in-the-loop" contribution policy is that processing
|
||||
patches, PRs, RFCs, and comments to Assimp is not free -- it takes a lot of
|
||||
maintainer time and energy to review those contributions! Sending the
|
||||
unreviewed output of an Assimp to open source project maintainers *extracts* work
|
||||
from them in the form of design and code review, so we call this kind of
|
||||
contribution an "extractive contribution".
|
||||
|
||||
Our **golden rule** is that a contribution should be worth more to the project
|
||||
than the time it takes to review it. These ideas are captured by this quote
|
||||
from the book [Working in Public][public] by Nadia Eghbal:
|
||||
|
||||
[public]: https://press.stripe.com/working-in-public
|
||||
|
||||
> \"When attention is being appropriated, producers need to weigh the costs and
|
||||
> benefits of the transaction. To assess whether the appropriation of attention
|
||||
> is net-positive, it's useful to distinguish between *extractive* and
|
||||
> *non-extractive* contributions. Extractive contributions are those where the
|
||||
> marginal cost of reviewing and merging that contribution is greater than the
|
||||
> marginal benefit to the project's producers. In the case of a code
|
||||
> contribution, it might be a pull request that's too complex or unwieldy to
|
||||
> review, given the potential upside.\" \-- Nadia Eghbal
|
||||
|
||||
Prior to the advent of LLMs, open source project maintainers would often review
|
||||
any and all changes sent to the project simply because posting a change for
|
||||
review was a sign of interest from a potential long-term contributor. While new
|
||||
tools enable more development, it shifts effort from the implementor to the
|
||||
reviewer, and our policy exists to ensure that we value and do not squander
|
||||
maintainer time.
|
||||
|
||||
Reviewing changes from new contributors is part of growing the next generation
|
||||
of contributors and sustaining the project. We want the LLVM project to be
|
||||
welcoming and open to aspiring compiler engineers who are willing to invest
|
||||
time and effort to learn and grow, because growing our contributor base and
|
||||
recruiting new maintainers helps sustain the project over the long term. Being
|
||||
open to contributions and [liberally granting commit access][commit-access]
|
||||
is a big part of how LLVM has grown and successfully been adopted all across
|
||||
the industry. We therefore automatically post a greeting comment to pull
|
||||
requests from new contributors and encourage maintainers to spend their time to
|
||||
help new contributors learn.
|
||||
|
||||
[commit-access]: https://llvm.org/docs/DeveloperPolicy.html#obtaining-commit-access
|
||||
|
||||
## Handling Violations
|
||||
|
||||
If a maintainer judges that a contribution doesn't comply with this policy,
|
||||
they should paste the following response to request changes:
|
||||
|
||||
This PR doesn't appear to comply with our policy on tool-generated content,
|
||||
and requires additional justification for why it is valuable enough to the
|
||||
project for us to review it. Please see our developer policy on
|
||||
AI-generated contributions: http://llvm.org/docs/AIToolPolicy.html
|
||||
|
||||
The best ways to make a change less extractive and more valuable are to reduce
|
||||
its size or complexity or to increase its usefulness to the community. These
|
||||
factors are impossible to weigh objectively, and our project policy leaves this
|
||||
determination up to the maintainers of the project, i.e. those who are doing
|
||||
the work of sustaining the project.
|
||||
|
||||
If or when it becomes clear that a GitHub issue or PR is off-track and not
|
||||
moving in the right direction, maintainers should apply the `extractive` label
|
||||
to help other reviewers prioritize their review time.
|
||||
|
||||
If a contributor fails to make their change meaningfully less extractive,
|
||||
maintainers should escalate to the relevant moderation or admin team for the
|
||||
space (GitHub, Discourse, Discord, etc) to lock the conversation.
|
||||
|
||||
## Copyright
|
||||
|
||||
Artificial intelligence systems raise many questions around copyright that have
|
||||
yet to be answered. Our policy on AI tools is similar to our copyright policy:
|
||||
Contributors are responsible for ensuring that they have the right to
|
||||
contribute code under the terms of our license, typically meaning that either
|
||||
they, their employer, or their collaborators hold the copyright. Using AI tools
|
||||
to regenerate copyrighted material does not remove the copyright, and
|
||||
contributors are responsible for ensuring that such material does not appear in
|
||||
their contributions. Contributions found to violate this policy will be removed
|
||||
just like any other offending contribution.
|
||||
|
||||
## Examples
|
||||
|
||||
Here are some examples of contributions that demonstrate how to apply
|
||||
the principles of this policy:
|
||||
|
||||
- [This PR][alive-pr] contains a proof from Alive2, which is a strong signal of
|
||||
value and correctness.
|
||||
- This [generated documentation][gsym-docs] was reviewed for correctness by a
|
||||
human before being posted.
|
||||
|
||||
[alive-pr]: https://github.com/llvm/llvm-project/pull/142869
|
||||
[gsym-docs]: https://discourse.llvm.org/t/searching-for-gsym-documentation/85185/2
|
||||
|
||||
## References
|
||||
|
||||
Our policy was informed by experiences in other communities:
|
||||
|
||||
- [Fedora Council Policy Proposal: Policy on AI-Assisted Contributions (fetched
|
||||
2025-10-01)][fedora]: Some of the text above was copied from the Fedora
|
||||
project policy proposal, which is licensed under the [Creative Commons
|
||||
Attribution 4.0 International License][cca]. This link serves as attribution.
|
||||
- [Rust draft policy on burdensome PRs][rust-burdensome]
|
||||
- [Seth Larson's post][security-slop]
|
||||
on slop security reports in the Python ecosystem
|
||||
- The METR paper [Measuring the Impact of Early-2025 AI on Experienced
|
||||
Open-Source Developer Productivity][metr-paper].
|
||||
- [QEMU bans use of AI content generators][qemu-ban]
|
||||
- [Slop is the new name for unwanted AI-generated content][ai-slop]
|
||||
|
||||
[fedora]: https://communityblog.fedoraproject.org/council-policy-proposal-policy-on-ai-assisted-contributions/
|
||||
[cca]: https://creativecommons.org/licenses/by/4.0/
|
||||
[rust-burdensome]: https://github.com/rust-lang/compiler-team/issues/893
|
||||
[security-slop]: https://sethmlarson.dev/slop-security-reports
|
||||
[metr-paper]: https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/
|
||||
[qemu-ban]: https://www.qemu.org/docs/master/devel/code-provenance.html#use-of-ai-content-generators
|
||||
[ai-slop]: https://simonwillison.net/2024/May/8/slop/
|
||||
@@ -0,0 +1,607 @@
|
||||
----------------------------------------------------------------------
|
||||
CHANGELOG
|
||||
----------------------------------------------------------------------
|
||||
4.1.0 (2017-12):
|
||||
- FEATURES:
|
||||
- Export 3MF ( experimental )
|
||||
- Import / Export glTF 2
|
||||
- Introduce new zib-lib to eb able to export zip-archives
|
||||
- FIXES/HOUSEKEEPING:
|
||||
- Added missing include to stdlib.h and remove load library call
|
||||
- Fix install for builds with MSVC compiler and NMake.
|
||||
- Update list of supported file formats.
|
||||
- Add TriLib to the official list of supported ports.
|
||||
- Re-enabling PACK_STRUCT for MDL files.
|
||||
- Use std.::unique_ptr
|
||||
- Update D3MFExporter.h
|
||||
- Update MD3Loader.cpp, using index
|
||||
- Fix all warnings on MSVC14
|
||||
- Copy assimp dll to unit folder on windows
|
||||
- Update jvm port supported formats
|
||||
- Add support for building Mac OS X Framework bundles
|
||||
- Check for nullptr dereferencing before copying scene data
|
||||
- Update ValidateDataStructure.h, typo
|
||||
- Enable data structure validation in cases where it doesn't cause failures
|
||||
- Remove some dead assignments
|
||||
- fast_atof: Silence some uninitialized variable warnings
|
||||
- Check for area test if the face is a triangle.
|
||||
- Set mNumUVComponents to 0 when deleting texture coordinate sets
|
||||
- Only scale the root node because this will rescale all children nodes as well.
|
||||
- Issue 1514: Fix frame pointer arithmetic
|
||||
- Prevent failing stringstream to crash the export process
|
||||
- powf -> pow
|
||||
- add Defines.h to include folder for install.
|
||||
- Android:
|
||||
- Fix android build
|
||||
- Fix assimp for cross compile for android
|
||||
- Use define for D_FILE_OFFSET_BITS only for not-android systems.
|
||||
- FBX:
|
||||
- Fix handling with embedded textures
|
||||
- FBX 7500 Binary reading
|
||||
- Remove dead assignment
|
||||
- Fix export of deleted meshes; Add LazyDict::Remove method
|
||||
- Log an error instead of letting the fbx-importer crash. ( issue 213 )
|
||||
- Replace bad pointer casting with memcpy
|
||||
- Remove useless const qualifier from return value
|
||||
- Add explicit instantiation of log_prefix so other FBX source files can see it
|
||||
- add missing inversion of postrotation matrix for fbx.
|
||||
- FIReader: Silence uninitialized variable warning
|
||||
- Update version check in FBX reader to check for version >= 7500
|
||||
- Use actual min/max of anim keys when start/stop time is missing
|
||||
- GLTF1:
|
||||
- Fix output of glTF 1 version string
|
||||
- Fix delete / delete[] mismatch in glTFAsset
|
||||
- Don’t ignore rgba(1,1,1,1) color properties
|
||||
- glTF2 primitives fixes
|
||||
- Don’t ignore rgba(1,1,1,1) color properties
|
||||
- Fix delete / delete[] mismatch in glTFAsset
|
||||
- Remove KHR_binary_glTF code
|
||||
- glTF nodes can only hold one mesh. this simply assigns to and check’s a Node’s Mesh
|
||||
- version in glb header is stored as uint32_t
|
||||
- GLTF2:
|
||||
- node name conflict fix
|
||||
- Fix transform matrices multiplication order
|
||||
- Preserve node names when importing
|
||||
- Add support for tangents in import
|
||||
- Fix typo on gltf2 camera parameters
|
||||
- Moved byteStride from accessor to bufferView
|
||||
- Implemented reading binary glTF2 (glb) files
|
||||
- Fix signed/unsigned warning
|
||||
- Add postprocess step for scaling
|
||||
- Fix shininess to roughness conversion
|
||||
- Prefer “BLEND” over “MASK” as an alphaMode default
|
||||
- Approximate specularity / glossiness in metallicRoughness materials
|
||||
- Diffuse color and diffuse texture import and export improvements
|
||||
- Addressed some mismatched news/deletes caused by the new glTF2 sources.
|
||||
- Fix delete / delete[] mismatches in glTF2 importer
|
||||
- use correct name of exporter to gltf2
|
||||
- Fix possible infinite loop when exporting to gltf2
|
||||
- Fix glTF2::Asset::FindUniqueID() when the input string is >= 256 chars
|
||||
- Fix glTF2 alphaMode storage and reading
|
||||
- Fix glTF 2.0 multi-primitive support
|
||||
- Load gltf .bin files from correct directory
|
||||
- Add support for importing both glTF and glTF2 files
|
||||
- ampler improvements; Add new LazyDict method
|
||||
- Changes to GLTF2 materials
|
||||
- Remove Light, Technique references
|
||||
- Start removing materials common, and adding pbrSpecularGlossiness
|
||||
- Use !ObjectEmpty() vs. MemberCount() > 0
|
||||
- Working read, import, export, and write of gltf2 (pbr) material
|
||||
- Check in gltf2 models to test directory
|
||||
- Remove un-needed test models
|
||||
- Start managing and importing gltf2 pbr materials
|
||||
- Update glTF2 Asset to use indexes
|
||||
- Duplicate gltfImporter as gltf2Importer; Include glTF2 importer in CMake List
|
||||
- glTF2: Fix animation export
|
||||
- use opacity for diffuse alpha + alphaMode
|
||||
- STL:
|
||||
- Restore import of multi mesh binary STLs
|
||||
- Blender:
|
||||
- Silence warning about uninitialized member
|
||||
- MDLImporter:
|
||||
- Don't take address of packed struct member
|
||||
- assimp_cmd:
|
||||
- Fix strict-aliasing warnings
|
||||
- Open3DGC:
|
||||
- Fix strict-aliasing warnings
|
||||
- Add assertions to silence static analyzer warnings
|
||||
- Remove redundant const qualifiers from return types
|
||||
- Fix some uninitialized variable warnings
|
||||
- Remove OPEN3DGC and compression references
|
||||
- unzip:
|
||||
- Remove dead assignment
|
||||
- Bail on bad compression method
|
||||
- Fix possibly uninitialized variables
|
||||
- clipper:
|
||||
- Add assertion to silence a static analyzer warning
|
||||
- OpenDDLExport:
|
||||
- Reduce scope of a variable
|
||||
- Remove dead variable
|
||||
- Remove dead assignment
|
||||
- Fix another potential memory leak
|
||||
- X3DImporter:
|
||||
- Add assertions to silence static analyzer warnings
|
||||
- Add missing unittest
|
||||
- Workaround for buggy Android NDK (issue #1361)
|
||||
- TerragenLoader:
|
||||
- Remove unused variable
|
||||
- SIBImporter:
|
||||
- Add assertions to silence static analyzer warnings
|
||||
- IFC:
|
||||
- Remove dead code
|
||||
- Add explicit instantiation of log_prefix so IFCMaterial.cpp can see it
|
||||
- PLY:
|
||||
- Remove dead assignment and reduce scope of a variable
|
||||
- fix vertex attribute lookup.
|
||||
- OpenGEX:
|
||||
- Add assertion to silence a static analyzer warning
|
||||
- Fix for TextureFile with number in file name
|
||||
- Return early when element is TextureFile
|
||||
- NFF:
|
||||
- Add assertions to silence static analyzer warnings
|
||||
- Split up some complicated assignments
|
||||
- Raw: Fix misleading indentation warning
|
||||
- Reduce scope of a variable
|
||||
- LWO
|
||||
- Reduce scope of a variable
|
||||
- IRRLoader:
|
||||
- Fix confusing boolean casting
|
||||
- AssbinExporter:
|
||||
- Add assertion to silence a static analyzer warning
|
||||
- ASE:
|
||||
- Add assertion to silence a static analyzer warning
|
||||
- AMFImporter:
|
||||
- Add assertion to silence a static analyzer warning
|
||||
- Add a block
|
||||
- OptimizeGraph:
|
||||
- Fix possible null pointer dereference
|
||||
- RemoveRedundantMaterials:
|
||||
- Add assertion to silence a static analyzer warning
|
||||
- ImproveCacheLocality:
|
||||
- Add assertion to silence a static analyzer warning
|
||||
- RemoveRedundantMaterials:
|
||||
- Set pointer to nullptr after deleting it
|
||||
- Travis:
|
||||
- Disable unit tests in scan-build config
|
||||
- Move slower builds earlier to improve parallelization
|
||||
- Add static analysis to build
|
||||
- Remove unused branch rule for travis.
|
||||
- Add Clang UBSan build configuration
|
||||
- Treat warnings as errors, without typos this time
|
||||
- Unittests:
|
||||
- Add VS-based source groups for the unittests.
|
||||
- Collada:
|
||||
- export <library_animations> tag
|
||||
- Update ColladaExporter.cpp
|
||||
- Silence uninitialized variable warning
|
||||
- Add support for line strip primitives
|
||||
- Obj Wavefront:
|
||||
- check in exporting against out-of-bounds-access .
|
||||
- Issue 1351: use correct name for obj-meshname export for groups.
|
||||
- fix mem-lead: face will be not released in case of an error.
|
||||
- Anatoscope obj exporter nomtl
|
||||
- Raise exception when obj file contains invalid face indices
|
||||
- Added alternative displacement texture token in OBJ MTL material.
|
||||
- Obj: rename attribute from exporter.
|
||||
- Fix OBJ discarding all material names if the material library is missing
|
||||
- Step:
|
||||
- use correct lookup for utf32
|
||||
- MD2:
|
||||
- Fix MD2 frames containing garbage
|
||||
- STL
|
||||
- add missing const.
|
||||
- Fix memory-alignment bug.
|
||||
- Fix issue 104: deal with more solids in one STL file.
|
||||
- CMake
|
||||
- Fix issue 213: use correct include folder for assimp
|
||||
- Doxygen
|
||||
- Fix issue 1513: put irrXML onto exclucde list for doxygen run
|
||||
- PyAssimp:
|
||||
- Search for libassimp.so in LD_LIBRARY_PATH if available.
|
||||
- Fix operator precedence issue in header check
|
||||
- Split setup.py into multiple lines
|
||||
- Detect if Anaconda and fixed 3d_viewer for Python 3
|
||||
- created a python3 version of the 3dviewer and fixed the / = float in py3
|
||||
- Blender:
|
||||
- Fix invalid access to mesh array when the array is empty.
|
||||
- Fix short overflow.
|
||||
- Silence warning about inline function which is declared but not defined
|
||||
- JAssimp
|
||||
- Changed license header for IHMC contributions from Apache 2.0 to BSD
|
||||
- Add Node metadata to the Jassmip Java API
|
||||
- Added supported for custom IO Systems in Java. Implemented ClassLoader IO System
|
||||
- Added a link to pure jvm assimp port
|
||||
- Clang sanitizer:
|
||||
- Undefined Behavior sanitizer
|
||||
- Fixed a divide by zero error in IFCBoolean that was latent, but nevertheless a bug
|
||||
- B3DImporter:
|
||||
- Replace bad pointer casting with memcpy
|
||||
- AppVeyor:
|
||||
- Cleanup and Addition of VS 2017 and running Tests
|
||||
- Fixed File Size reported as 0 in tests that use temporary files
|
||||
- x86 isn't a valid VS platform. Win32 it is, then.
|
||||
- Replaced the worker image name, which doesn't work as generator name, with a manually created generator name.
|
||||
- Cleaned up appveyor setup, added VS 2017 to the build matrix and attempted to add running of tests.
|
||||
- Treat warnings as errors on Appveyor
|
||||
- Disable warning 4351 on MSVC 2013
|
||||
- OpenGEXImporter:
|
||||
- Copy materials to scene
|
||||
- Store RefInfo in unique_ptr so they get automatically cleaned up
|
||||
- Fix IOStream leak
|
||||
- Store ChildInfo in unique_ptr so they get automatically cleaned up
|
||||
- improve logging to be able to detect error-prone situations.
|
||||
- AMFImporter:
|
||||
- Fix memory leak
|
||||
- UnrealLoader:
|
||||
- Fix IOStream leak
|
||||
- Upgrade RapidJSON to get rid of a clang warning
|
||||
- zlib:
|
||||
- Update zlib contribution
|
||||
- Removed unnecessary files from zlib contribution
|
||||
- Replaced unsigned long for the crc table to z_crc_t, to match what is returned by get-crc_table
|
||||
- MakeVerboseFormat:
|
||||
- Fix delete / delete[] mismatches in MakeVerboseFormat
|
||||
- MaterialSystem:
|
||||
- Fix out-of-bounds read in MaterialSystem unit test
|
||||
- SIB:
|
||||
- Added support for SIB models from Silo 2.5
|
||||
- AssbinExporter:
|
||||
- Fix strict aliasing violation
|
||||
- Add Write specialization for aiColor3D
|
||||
- DefaultLogger:
|
||||
- Whitespace cleanup to fix GCC misleading indentation warning
|
||||
- MDP:
|
||||
- Fix encoding issues.
|
||||
- PreTransformVertices:
|
||||
- fix name lost in mesh and nodes when load with flag
|
||||
- C4D:
|
||||
- Fixes for C4D importer
|
||||
- Unzip:
|
||||
- Latest greatest.
|
||||
|
||||
4.0.1 (2017-07-28)
|
||||
- FIXES/HOUSEKEEPING:
|
||||
- fix version test.
|
||||
- Not compiling when using ASSIMP_DOUBLE_PRECISION
|
||||
- Added support for python3
|
||||
- Check if cmake is installed with brew
|
||||
- Low performance in OptimizeMeshesProcess::ProcessNode with huge numbers of meshes
|
||||
- Elapsed seconds not shown correctly
|
||||
- StreamReader: fix out-of-range exception
|
||||
- PPdPmdParser: fix compilation for clang
|
||||
|
||||
|
||||
4.0.0 (2017-07-18)
|
||||
|
||||
FEATURES:
|
||||
- Double precision support provided ( available via cmake option )
|
||||
- QT-Widget based assimp-viewer ( works for windows, linux, osx )
|
||||
- Open3DGC codec supported by glFT-importer
|
||||
- glTF: Read and write transparency values
|
||||
- Add Triangulate post-processing step to glTF exporters
|
||||
- Update rapidjson to v1.0.2
|
||||
- Added method to append new metadata to structure
|
||||
- Unittests: intoduce a prototype model differ
|
||||
- X3D support
|
||||
- AMF support
|
||||
- Lugdunum3D support
|
||||
- Obj-Importer: obj-homogeneous_coords support
|
||||
- Obj-Importer: new streaming handling
|
||||
- Added support for 64 bit version header introduced in FbxSdk2016
|
||||
- Travis: enable coverall support.
|
||||
- PyAssimp: New version of the pyASSIMP 3D viewer, with much improved 3D controls
|
||||
- Morph animation support for collada
|
||||
- Added support for parameters Ni and Tf in OBJ/MTL file format
|
||||
- aiScene: add method to add children
|
||||
- Added new option to IFC importer to control tessellation angle + removed unused IFC option
|
||||
- aiMetaData: introduce aiMetaData::Dealloc
|
||||
- Samples: add a DX11 example
|
||||
- travis ci: test on OXS ( XCode 6.3 ) as well
|
||||
- travis ci: enable sudo support.
|
||||
- openddlparser: integrate release v0.4.0
|
||||
- aiMetaData: Added support for metadata in assbin format
|
||||
|
||||
FIXES/HOUSEKEEPING:
|
||||
- Introduce usage of #pragma statement
|
||||
- Put cmake-scripts into their own folder
|
||||
- Fix install pathes ( issue 938 )
|
||||
- Fix object_compare in blender importer( issue 946 )
|
||||
- Fix OSX compilation error
|
||||
- Fix unzip path when no other version was found ( issue 967 )
|
||||
- Set _FILE_OFFSET_BITS=64 for 32-bit linux ( issue 975 )
|
||||
- Fix constructor for radjson on OSX
|
||||
- Use Assimp namespace to fix build for big-endian architectures
|
||||
- Add -fPIC to C Flags for 64bit linux Shared Object builds
|
||||
- MDLLoader: fix resource leak.
|
||||
- MakeVerboseFormat: fix invalid delete statement
|
||||
- IFC: fix possible use after free access bug
|
||||
- ComputeUVMappingprocess: add missing initialization for scalar value
|
||||
- Fix invalid release of mat + mesh
|
||||
- IrrImporter: Fix release functions
|
||||
- Split mesh before exporting gltf ( issue 995 )
|
||||
- 3MFImporter: add source group for visual studio
|
||||
- IFC: Switch generated file to 2 files to fix issue related to <mingw4.9 ( Thanks Qt! )
|
||||
- ObjImporter: fix test for vertices import
|
||||
- export scene combiner ( issues177 )
|
||||
- FBX: make lookup test less strict ( issues 994 )
|
||||
- OpenGEX-Importer: add import of vertex colors ( issue 954 )
|
||||
- fix bug when exporting mRotationKeys data
|
||||
- fix mingw build (mingw supports stat64 nowadays)
|
||||
- cfileio: fix leaks by not closing files in the destructor
|
||||
- Fix OBJ parser mtllib statement parsing bug.
|
||||
- Q3BSP-Importer: remove dead code
|
||||
- Fix BlenderDNA for clang cross compiler.
|
||||
- ScenePreprocessor: fix invalid index counter.
|
||||
- Fix compiler warnings ( issue 957 )
|
||||
- Fix obj .mtl file loading
|
||||
- Fixed a compile error on MSVC14 x64 caused by the /bigobj flag failing to be set for the 1 and 2-suffixed versions introduced in commit 0a25b076b8968b7ea2aa96d7d1b4381be2d72ce6
|
||||
- Fixed build warnings on MSVC14 x64
|
||||
- Remove scaling of specular exponent in OBJFileImporter.cpp
|
||||
- use ai_assert instead of assert ( issue 1076 )
|
||||
- Added a preprocessor definition for MSVC to silence safety warnings regarding C library functions. This addresses all warnings for MSVC x86 and x64 when building zlib, tools and viewer as a static lib
|
||||
- fix parsing of texture name ( issue 899 )
|
||||
- add warning when detecting invalid mat definition ( issue 1111 )
|
||||
- copy aiTexture type declaration instead of using decltype for declaration to fix iOS build( issue 1101 )
|
||||
- FBX: Add additional material properties
|
||||
- FBX: Correct camera position and clip planes
|
||||
- FBX: Add correct light locations and falloff values
|
||||
- fix typo ( issue 1141 )
|
||||
- Fix collada export. Don't duplicate TEXCOORD/NORMALS/COLORS in <vertices> and <polylist> ( issue 1084 )
|
||||
- OBJParser: set material index when changing current material
|
||||
- OBJ: check for null mesh before updating material index
|
||||
- add vertex color export support ( issue 809 )
|
||||
- Fix memory leak in Collada importer ( issue 1169 )
|
||||
- add stp to the list of supported extensions for step-files ( issue 1183 )
|
||||
- fix clang build ( Issue-1169 )
|
||||
- fix for FreeBSD
|
||||
- Import FindPkgMacros to main CMake Configuration
|
||||
- Extended support for tessellation parameter to more IFC shapes
|
||||
- defensice handling of utf-8 decode issues ( issue 1211 )
|
||||
- Fixed compiler error on clang 4.0 running on OSX
|
||||
- use test extension for exported test files ( issue 1228 )
|
||||
- Set UVW index material properties for OBJ files
|
||||
- Fixed no member named 'atop' in global namespace issue for Android NDK compilation
|
||||
- Apply mechanism to decide use for IrrXML external or internal
|
||||
- Fix static init ordering bug in OpenGEX importer
|
||||
- GLTF exporter: ensure animation accessors have same count
|
||||
- GLTF exporter: convert animation time from ticks to seconds
|
||||
- Add support for reading texture coordinates from PLY meshes with properties named 'texture_u' and 'texture_v'
|
||||
- Added TokensForSearch in BlenderLoader to allow CanRead return true for in-memory files.
|
||||
- fix wrong delete ( issue 1266 )
|
||||
- OpenGEX: fix invalid handling with color4 token ( issue 1262 )
|
||||
- LWOLoader: fix link in loader description
|
||||
- Fix error when custom CMAKE_C_FLAGS is specified
|
||||
- Fast-atof: log overflow errors
|
||||
- Obj-Importer: do not break when detecting an overflow ( issue 1244 )
|
||||
- Obj-Importer: fix parsing of multible line data definitions
|
||||
- Fixed bug where IFC models with multiple IFCSite only loaded 1 site instead of the complete model
|
||||
- PLYImporter: - optimize memory and speed on ply importer / change parser to use a file stream - manage texture path in ply
|
||||
import - manage texture coords on faces in ply import - correction on point cloud faces generation
|
||||
- Utf8: integrate new lib ( issue 1158 )
|
||||
- fixed CMAKE_MODULE_PATH overwriting previous values
|
||||
- OpenGEX: Fixed bug in material color processing ( issue 1271 )
|
||||
- SceneCombiner: move header for scenecombiner to public folder.
|
||||
- GLTF exporter: ensure buffer view byte offsets are correctly aligned
|
||||
- X3D importer: Added EXPORT and IMPORT to the list of ignored XML tags
|
||||
- X3D Exporter: fixed missing attributes
|
||||
- X3D importer: Fixed import of normals for the single index / normal per vertex case
|
||||
- X3D importer: Fixed handling of inlined files
|
||||
- X3D importer: fixed whitespace handling (issue 1202)
|
||||
- X3D importer: Fixed iterator on MSVC 2015
|
||||
- X3D importer: Fixed problems with auto, override and regex on older compilers
|
||||
- X3D importer: Fixed missing header file
|
||||
- X3D importer: Fixed path handling
|
||||
- X3D importer: Implemented support for binary X3D files
|
||||
- fix build without 3DS ( issue 1319 )
|
||||
- pyassimp: Fixed indices for IndexedTriangleFanSet, IndexedTriangleSet and IndexedTriangleStripSet
|
||||
- Fixes parameters to pyassimp.load
|
||||
- Obj-Importe: Fixed texture bug due simultaneously using 'usemtl' and 'usemap' attributes
|
||||
- check if all exporters are disabled ( issue 1320 )
|
||||
- Remove std functions deprecated by C++11.
|
||||
- X-Importer: make it deal with lines
|
||||
- use correct path for compilers ( issue 1335 )
|
||||
- Collada: add workaround to deal with polygon with holes
|
||||
- update python readme
|
||||
- Use unique node names when loading Collada files
|
||||
- Fixed many FBX bugs
|
||||
|
||||
API COMPATIBILITY:
|
||||
- Changed ABI-compatibility to v3.3.1, please rebuild your precompiled libraries ( see issue 1182 )
|
||||
- VS2010 outdated
|
||||
|
||||
3.3.1 (2016-07-08)
|
||||
|
||||
FIXES/HOUSEKEEPING:
|
||||
- Setup of default precision for 17 exporters
|
||||
- Fix xcode project files
|
||||
- Fix BlenderTesselator: offsetof operator
|
||||
- Invalid version in cmake file
|
||||
- Update pstdint.h to latest greatest
|
||||
|
||||
|
||||
3.3.0 (2016-07-05)
|
||||
|
||||
FEATURES:
|
||||
- C++11 support enabled
|
||||
- New regression-test-UI
|
||||
- Experimental glTF-importer support
|
||||
- OpenGEX: add support for cameras and lights
|
||||
- C4D: update to latest Melange-SDK
|
||||
- Add a gitter channel
|
||||
- Coverity check enabled
|
||||
- Switch to <...> include brackets for public headers
|
||||
- Enable export by pyAssimp
|
||||
- CI: check windows build
|
||||
- Add functionality to perform a singlepost-processing step
|
||||
- many more, just check the history
|
||||
|
||||
FIXES/HOUSEKEEPING:
|
||||
- Fix of many resource leaks in unittests and main lib
|
||||
- Fix iOS-buildfor X64
|
||||
- Choosing zlib manually for cmake
|
||||
- many more, just check the history
|
||||
|
||||
|
||||
3.2.1 (2016-010-10)
|
||||
|
||||
FEATURES:
|
||||
- Updated glTF exporter to meet 1.0 specification.
|
||||
|
||||
FIXES/HOUSEKEEPING:
|
||||
- Fixed glTF Validator errors for exported glTF format.
|
||||
|
||||
ISSUES:
|
||||
- Hard coded sampler setting for
|
||||
- magFilter
|
||||
- minFilter
|
||||
- void* in ExportData for accessor max and min.
|
||||
|
||||
|
||||
3.2.0 (2015-11-03)
|
||||
|
||||
FEATURES:
|
||||
- OpenDDL-Parser is part of contrib-source.
|
||||
- Experimental OpenGEX-support
|
||||
- CI-check for linux and windows
|
||||
- Coverity check added
|
||||
- New regression testsuite.
|
||||
|
||||
FIXES/HOUSEKEEPING:
|
||||
- Hundreds of bugfixes in all parts of the library
|
||||
- Unified line endings
|
||||
|
||||
|
||||
API COMPATIBILITY:
|
||||
- Removed precompiled header to increase build speed for linux
|
||||
|
||||
|
||||
3.1.1 (2014-06-15)
|
||||
|
||||
FEATURES:
|
||||
- Support for FBX 2013 and newer, binary and ASCII (this is partly
|
||||
work from Google Summer of Code 2012)
|
||||
- Support for OGRE binary mesh and skeleton format
|
||||
- Updated BLEND support for newer Blender versions
|
||||
- Support for arbitrary meta data, used to hold FBX and DAE metadata
|
||||
- OBJ Export now produces smaller files
|
||||
- Meshes can now have names, this is supported by the major importers
|
||||
- Improved IFC geometry generation
|
||||
- M3 support has been removed
|
||||
|
||||
FIXES/HOUSEKEEPING:
|
||||
- Hundreds of bugfixes in all parts of the library
|
||||
- CMake is now the primary build system
|
||||
|
||||
API COMPATIBILITY:
|
||||
- 3.1.1 is not binary compatible to 3.0 due to aiNode::mMetaData
|
||||
and aiMesh::mName
|
||||
- Export interface has been cleaned up and unified
|
||||
- Other than that no relevant changes
|
||||
|
||||
|
||||
3.0 (2012-07-07)
|
||||
|
||||
FEATURES:
|
||||
- new export interface similar to the import API.
|
||||
- Supported export formats: Collada, OBJ, PLY and STL
|
||||
- added new import formats: XGL/ZGL, M3 (experimental)
|
||||
- new postprocessing steps: Debone
|
||||
- vastly improved IFC (Industry Foundation Classes) support
|
||||
- introduced API to query importer meta information (such as supported
|
||||
format versions, full name, maintainer info).
|
||||
- reworked Ogre XML import
|
||||
- C-API now supports per-import properties
|
||||
|
||||
FIXES/HOUSEKEEPING:
|
||||
|
||||
- hundreds of bugfixes in all parts of the library
|
||||
- unified naming and cleanup of public headers
|
||||
- improved CMake build system
|
||||
- templatized math library
|
||||
- reduce dependency on boost.thread, only remaining spot
|
||||
is synchronization for the C logging API
|
||||
|
||||
API COMPATIBILITY:
|
||||
- renamed headers, export interface, C API properties and meta data
|
||||
prevent compatibility with code written for 2.0, but in
|
||||
most cases these can be easily resolved
|
||||
- Note: 3.0 is not binary compatible with 2.0
|
||||
|
||||
|
||||
2.0 (2010-11-21)
|
||||
|
||||
FEATURES:
|
||||
- Add support for static Blender (*.blend) scenes
|
||||
- Add support for Q3BSP scenes
|
||||
- Add a windows-based OpenGL sample featuring texturing & basic materials
|
||||
- Add an experimental progress feedback interface.
|
||||
- Vastly improved performance (up to 500%, depending on mesh size and
|
||||
spatial structure) in some expensive postprocessing steps
|
||||
- AssimpView now uses a reworked layout which leaves more space
|
||||
to the scene hierarchy window
|
||||
|
||||
- Add C# bindings ('Assimp.NET')
|
||||
- Keep BSD-licensed and otherwise free test files in separate
|
||||
folders (./test/models and ./test/models-nonbsd).
|
||||
|
||||
FIXES:
|
||||
- Many Collada bugfixes, improve fault tolerance
|
||||
- Fix possible crashes in the Obj loader
|
||||
- Improve the Ogre XML loader
|
||||
- OpenGL-sample now works with MinGW
|
||||
- Fix Importer::FindLoader failing on uppercase file extensions
|
||||
- Fix flawed path handling when locating external files
|
||||
- Limit the maximum number of vertices, faces, face indices and
|
||||
weights that Assimp is able to handle. This is to avoid
|
||||
crashes due to overflowing counters.
|
||||
|
||||
- Updated XCode project files
|
||||
- Further CMAKE build improvements
|
||||
|
||||
|
||||
API CHANGES:
|
||||
- Add data structures for vertex-based animations (These are not
|
||||
currently used, however ...)
|
||||
- Some Assimp::Importer methods are const now.
|
||||
|
||||
|
||||
1.1 (2010-04-17)
|
||||
This is the list of relevant changes from the 1.0 (r412) release to 1.1 (r700).
|
||||
|
||||
FEATURES:
|
||||
- Vastly improved Collada support
|
||||
- Add MS3D (Milkshape 3D) support
|
||||
- Add support for Ogre XML static meshes
|
||||
- Add experimental COB (TrueSpace) support
|
||||
- Automatic test suite to quickly locate regressions
|
||||
- D bindings (`dAssimp`)
|
||||
- Python 2.n bindings (`PyAssimp`)
|
||||
- Add basic support for Unicode input files (utf8, utf16 and utf32)
|
||||
- Add further utilities to the `assimp` tool (xml/binary dumps, quick file stats)
|
||||
- Switch to a CMAKE-based build system including an install target for unix'es
|
||||
- Automatic evaluation of subdivision surfaces for some formats.
|
||||
- Add `Importer::ReadFileFromMemory` and the corresponding C-API `aiReadFileFromMemory`
|
||||
- Expose further math utilities via the C-API (i.e. `aiMultiplyMatrix4`)
|
||||
|
||||
- Move noboost files away from the public include directory
|
||||
- Many, many bugfixes and improvements in existing loaders and postprocessing steps
|
||||
- Documentation improved and clarified in many places.
|
||||
- Add a sample on using Assimp in conjunction with OpenGL
|
||||
|
||||
- Distribution/packaging: comfortable SDK installer for Windows
|
||||
- Distribution/packaging: improved release packages for other architectures
|
||||
|
||||
CRITICAL FIXES:
|
||||
- Resolve problems with clashing heap managers, STL ABIs and runtime libraries (win32)
|
||||
- Fix automatic detection of file type if no file extension is given
|
||||
- Improved exception safety and robustness, prevent leaking of exceptions through the C interface
|
||||
- Fix possible heap corruption due to material properties pulled in incorrectly
|
||||
- Avoid leaking in certain error scenarios
|
||||
- Fix 64 bit compatibility problems in some loaders (i.e. MDL)
|
||||
|
||||
BREAKING API CHANGES:
|
||||
- None -
|
||||
|
||||
MINOR API BEHAVIOUR CHANGES:
|
||||
- Change quaternion orientation to suit to the more common convention (-w).
|
||||
- aiString is utf8 now. Not yet consistent, however.
|
||||
-3961
File diff suppressed because it is too large
Load Diff
+3
-3
@@ -1,6 +1,6 @@
|
||||
# Open Asset Import Library (assimp)
|
||||
# ----------------------------------------------------------------------
|
||||
# Copyright (c) 2006-2026, assimp team
|
||||
# Copyright (c) 2006-2025, assimp team
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
@@ -104,7 +104,7 @@ IF(ASSIMP_HUNTER_ENABLED)
|
||||
ADD_DEFINITIONS(-DASSIMP_USE_HUNTER)
|
||||
ENDIF()
|
||||
|
||||
PROJECT(Assimp VERSION 6.0.5
|
||||
PROJECT(Assimp VERSION 6.0.2
|
||||
LANGUAGES C CXX
|
||||
DESCRIPTION "Open Asset Import Library (Assimp) is a library to import various well-known 3D model formats in a uniform manner."
|
||||
)
|
||||
@@ -362,7 +362,7 @@ ELSEIF(MSVC)
|
||||
elseif((GENERATOR_IS_MULTI_CONFIG) OR (CMAKE_BUILD_TYPE MATCHES Release))
|
||||
message("-- MSVC PDB generation disabled. Release binary will not be debuggable.")
|
||||
endif()
|
||||
if(NOT CMAKE_CXX_FLAGS MATCHES "/utf-8")
|
||||
if(NOT /utf-8 IN_LIST CMAKE_CXX_FLAGS)
|
||||
# Source code is encoded in UTF-8
|
||||
ADD_COMPILE_OPTIONS(/source-charset:utf-8)
|
||||
endif()
|
||||
|
||||
@@ -49,5 +49,6 @@
|
||||
"ASSIMP_BUILD_DOCS": "ON"
|
||||
}
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Open Asset Import Library (assimp)
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use of this software in source and binary forms,
|
||||
|
||||
@@ -3,7 +3,7 @@ Open Asset Import Library (assimp)
|
||||
|
||||
Open Asset Import Library is a library that loads various 3D file formats into a shared, in-memory format. It supports more than __40 file formats__ for import and a growing selection of file formats for export.
|
||||
|
||||
## Current project status
|
||||
### Current project status ###
|
||||

|
||||
[](https://www.codacy.com/gh/assimp/assimp/dashboard?utm_source=github.com&utm_medium=referral&utm_content=assimp/assimp&utm_campaign=Badge_Grade)
|
||||
[](https://sonarcloud.io/summary/new_code?id=assimp_assimp)
|
||||
@@ -16,41 +16,32 @@ Open Asset Import Library is a library that loads various 3D file formats into a
|
||||
APIs are provided for C and C++. Various bindings exist to other languages (C#, Java, Python, Delphi, D). Assimp also runs on Android and iOS.
|
||||
Additionally, assimp features various __mesh post-processing tools__: normals and tangent space generation, triangulation, vertex cache locality optimization, removal of degenerate primitives and duplicate vertices, sorting by primitive type, merging of redundant materials and many more.
|
||||
|
||||
## Project activity
|
||||
## Project activity ##
|
||||

|
||||
|
||||
## Developer quickstart
|
||||
```bash
|
||||
git clone https://github.com/assimp/assimp
|
||||
cd assimp
|
||||
cmake -G Ninja -DASSIMP_BUILD_TESTS=off -DASSIMP_INSTALL=off -S . -B build
|
||||
cd build
|
||||
ninja
|
||||
```
|
||||
|
||||
## Documentation
|
||||
### Documentation ###
|
||||
Read [our latest documentation](https://the-asset-importer-lib-documentation.readthedocs.io/en/latest/).
|
||||
|
||||
## Pre-built binaries
|
||||
### Pre-built binaries ###
|
||||
Download binaries from [our Itch Projectspace](https://kimkulling.itch.io/the-asset-importer-lib).
|
||||
|
||||
## Test data
|
||||
### Test data ###
|
||||
Clone [our model database for testing purposes](https://github.com/assimp/assimp-mdb).
|
||||
|
||||
## Communities
|
||||
### Communities ###
|
||||
- Ask questions at [the Assimp Discussion Board](https://github.com/assimp/assimp/discussions).
|
||||
- Find us on [discord](https://discord.gg/kKazXMXDy2)
|
||||
- Ask [the Assimp community on Reddit](https://www.reddit.com/r/Assimp/).
|
||||
- Ask on [StackOverflow with the assimp-tag](http://stackoverflow.com/questions/tagged/assimp?sort=newest).
|
||||
- Nothing has worked? File a question or an issue report at [The Assimp-Issue Tracker](https://github.com/assimp/assimp/issues)
|
||||
|
||||
## Supported file formats
|
||||
#### Supported file formats ####
|
||||
See [the complete list of supported formats](https://github.com/assimp/assimp/blob/master/doc/Fileformats.md).
|
||||
|
||||
## Building
|
||||
### Building ###
|
||||
Start by reading [our build instructions](https://github.com/assimp/assimp/blob/master/Build.md). We are available in vcpkg, and our build system is CMake; if you used CMake before there is a good chance you know what to do.
|
||||
|
||||
## Ports
|
||||
### Ports ###
|
||||
* [Android](port/AndroidJNI/README.md)
|
||||
* [Python](port/PyAssimp/README.md)
|
||||
* [.NET](https://github.com/Saalvage/AssimpNetter)
|
||||
@@ -63,39 +54,35 @@ Start by reading [our build instructions](https://github.com/assimp/assimp/blob/
|
||||
* [HAXE-Port](https://github.com/longde123/assimp-haxe) The Assimp-HAXE-port.
|
||||
* [Rust](https://github.com/jkvargas/russimp)
|
||||
|
||||
## Other tools
|
||||
### Other tools ###
|
||||
[Qt5-ModelViewer](https://github.com/sharjith/ModelViewer-Qt5) is a powerful viewer based on Qt5 and Assimp's import and export abilities.<br>
|
||||
[Assimp-Viewer](https://github.com/assimp/assimp_view) is an experimental implementation for an Asset-Viewer based on ImGUI and Assimp (experimental).
|
||||
|
||||
### Repository structure
|
||||
#### Repository structure ####
|
||||
Open Asset Import Library is implemented in C++. The directory structure looks like this:
|
||||
|
||||
```txt
|
||||
code Source code
|
||||
├── AssetLib/ The asset-importer and exporter lib
|
||||
├── CApi/ C-API files
|
||||
├── Common/ Common code used from all modules
|
||||
├── Geometry/ Geometry utilities
|
||||
├── Material/ Common materials
|
||||
├── Pbrt/ Physical based materials
|
||||
├── PostProcessing/ Post-processing steps
|
||||
├── res Resouce files
|
||||
contrib Third-party libraries
|
||||
doc Documentation (Doxygen source and pre-compiled docs)
|
||||
fuzz Contains the test code for the Google Fuzzer project
|
||||
include Public header C and C++ header files
|
||||
scripts Scripts are used to generate the loading code for some formats
|
||||
port Ports to other languages and scripts to maintain those.
|
||||
test Unit- and regression tests, test suite of models
|
||||
├── headercheck Implements headerchecks
|
||||
├── models-nonbsd Non-BSP licensed headers
|
||||
├── models BSP-licensed models
|
||||
├── unit Unit tests
|
||||
tools Tools (old assimp viewer, command line `assimp`)
|
||||
samples Small number of samples to illustrate possible use cases for Assimp
|
||||
```
|
||||
## Contributing
|
||||
/code Source code
|
||||
/contrib Third-party libraries
|
||||
/doc Documentation (Doxygen source and pre-compiled docs)
|
||||
/fuzz Contains the test code for the Google Fuzzer project
|
||||
/include Public header C and C++ header files
|
||||
/scripts Scripts are used to generate the loading code for some formats
|
||||
/port Ports to other languages and scripts to maintain those.
|
||||
/test Unit- and regression tests, test suite of models
|
||||
/tools Tools (old assimp viewer, command line `assimp`)
|
||||
/samples A small number of samples to illustrate possible use cases for Assimp
|
||||
|
||||
The source code is organized in the following way:
|
||||
|
||||
code/Common The base implementation for importers and the infrastructure
|
||||
code/CApi Special implementations which are only used for the C-API
|
||||
code/Geometry A collection of geometry tools
|
||||
code/Material The material system
|
||||
code/PBR An exporter for physical-based models
|
||||
code/PostProcessing The post-processing steps
|
||||
code/AssetLib/<FormatName> Implementation for import and export of the format
|
||||
|
||||
### Contributing ###
|
||||
We would greatly appreciate for you to contribute to assimp. The easiest way to get involved is to submit
|
||||
a pull request with your changes against the main repository's `master` branch.
|
||||
|
||||
@@ -122,7 +109,7 @@ You can support the project with your organization. Your logo will show up here
|
||||
|
||||
<a href="https://opencollective.com/assimp/organization/0/website"><img src="https://opencollective.com/assimp/organization/0/avatar.svg"></a>
|
||||
|
||||
## License ###
|
||||
### License ###
|
||||
Our license is based on the modified, __3-clause BSD__-License.
|
||||
|
||||
An _informal_ summary is: do whatever you want, but include Assimp's license text with your product -
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ The current version of Assimp that's being supported with security updates:
|
||||
|
||||
| Version | Supported |
|
||||
| ------- | ------------------ |
|
||||
| 6.0.5 | :white_check_mark: |
|
||||
| 6.0.2 | :white_check_mark: |
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
#.rst:
|
||||
# FindDevIL
|
||||
# ---------
|
||||
#
|
||||
#
|
||||
#
|
||||
# This module locates the developer's image library.
|
||||
# http://openil.sourceforge.net/
|
||||
#
|
||||
# This module sets:
|
||||
#
|
||||
# ::
|
||||
#
|
||||
# IL_LIBRARIES - the name of the IL library. These include the full path to
|
||||
# the core DevIL library. This one has to be linked into the
|
||||
# application.
|
||||
# ILU_LIBRARIES - the name of the ILU library. Again, the full path. This
|
||||
# library is for filters and effects, not actual loading. It
|
||||
# doesn't have to be linked if the functionality it provides
|
||||
# is not used.
|
||||
# ILUT_LIBRARIES - the name of the ILUT library. Full path. This part of the
|
||||
# library interfaces with OpenGL. It is not strictly needed
|
||||
# in applications.
|
||||
# IL_INCLUDE_DIR - where to find the il.h, ilu.h and ilut.h files.
|
||||
# IL_FOUND - this is set to TRUE if all the above variables were set.
|
||||
# This will be set to false if ILU or ILUT are not found,
|
||||
# even if they are not needed. In most systems, if one
|
||||
# library is found all the others are as well. That's the
|
||||
# way the DevIL developers release it.
|
||||
|
||||
# TODO: Add version support.
|
||||
# Tested under Linux and Windows (MSVC)
|
||||
|
||||
#include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
find_path(IL_INCLUDE_DIR il.h
|
||||
PATH_SUFFIXES include IL
|
||||
DOC "The path to the directory that contains il.h"
|
||||
)
|
||||
|
||||
#message("IL_INCLUDE_DIR is ${IL_INCLUDE_DIR}")
|
||||
|
||||
find_library(IL_LIBRARIES
|
||||
NAMES IL DEVIL
|
||||
PATH_SUFFIXES lib64 lib lib32
|
||||
DOC "The file that corresponds to the base il library."
|
||||
)
|
||||
|
||||
#message("IL_LIBRARIES is ${IL_LIBRARIES}")
|
||||
|
||||
find_library(ILUT_LIBRARIES
|
||||
NAMES ILUT
|
||||
PATH_SUFFIXES lib64 lib lib32
|
||||
DOC "The file that corresponds to the il (system?) utility library."
|
||||
)
|
||||
|
||||
#message("ILUT_LIBRARIES is ${ILUT_LIBRARIES}")
|
||||
|
||||
find_library(ILU_LIBRARIES
|
||||
NAMES ILU
|
||||
PATH_SUFFIXES lib64 lib lib32
|
||||
DOC "The file that corresponds to the il utility library."
|
||||
)
|
||||
|
||||
#message("ILU_LIBRARIES is ${ILU_LIBRARIES}")
|
||||
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(IL DEFAULT_MSG
|
||||
IL_LIBRARIES IL_INCLUDE_DIR)
|
||||
@@ -3,7 +3,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
@@ -607,10 +607,6 @@ aiNode *AC3DImporter::ConvertObjectSection(Object &object,
|
||||
const Surface::SurfaceEntry &entry1 = src.entries[i];
|
||||
const Surface::SurfaceEntry &entry2 = src.entries[i + 1];
|
||||
const Surface::SurfaceEntry &entry3 = src.entries[i + 2];
|
||||
const unsigned int verticesNeeded = isDoubleSided ? 6 : 3;
|
||||
if (static_cast<unsigned>(vertices - mesh->mVertices) + verticesNeeded > mesh->mNumVertices) {
|
||||
throw DeadlyImportError("AC3D: Invalid number of vertices");
|
||||
}
|
||||
|
||||
aiFace &face = *faces++;
|
||||
face.mNumIndices = 3;
|
||||
@@ -665,10 +661,6 @@ aiNode *AC3DImporter::ConvertObjectSection(Object &object,
|
||||
unsigned int tmp = (unsigned int)(*it).entries.size();
|
||||
if (Surface::OpenLine == type) --tmp;
|
||||
for (unsigned int m = 0; m < tmp; ++m) {
|
||||
if (static_cast<unsigned>(vertices - mesh->mVertices) + 2 > mesh->mNumVertices) {
|
||||
throw DeadlyImportError("AC3D: Invalid number of vertices");
|
||||
}
|
||||
|
||||
aiFace &face = *faces++;
|
||||
|
||||
face.mNumIndices = 2;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
@@ -469,11 +469,9 @@ void B3DImporter::ReadBONE(int id) {
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
void B3DImporter::ReadKEYS(AnimKeys& keys) {
|
||||
vector<aiVectorKey>& trans = keys.positionKeys;
|
||||
vector<aiVectorKey>& scale = keys.scalingKeys;
|
||||
vector<aiQuatKey>& rot = keys.rotationKeys;
|
||||
|
||||
void B3DImporter::ReadKEYS(aiNodeAnim *nodeAnim) {
|
||||
vector<aiVectorKey> trans, scale;
|
||||
vector<aiQuatKey> rot;
|
||||
int flags = ReadInt();
|
||||
while (ChunkSize()) {
|
||||
int frame = ReadInt();
|
||||
@@ -487,6 +485,21 @@ void B3DImporter::ReadKEYS(AnimKeys& keys) {
|
||||
rot.emplace_back(frame, ReadQuat());
|
||||
}
|
||||
}
|
||||
|
||||
if (flags & 1) {
|
||||
nodeAnim->mNumPositionKeys = static_cast<unsigned int>(trans.size());
|
||||
nodeAnim->mPositionKeys = to_array(trans);
|
||||
}
|
||||
|
||||
if (flags & 2) {
|
||||
nodeAnim->mNumScalingKeys = static_cast<unsigned int>(scale.size());
|
||||
nodeAnim->mScalingKeys = to_array(scale);
|
||||
}
|
||||
|
||||
if (flags & 4) {
|
||||
nodeAnim->mNumRotationKeys = static_cast<unsigned int>(rot.size());
|
||||
nodeAnim->mRotationKeys = to_array(rot);
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
@@ -529,7 +542,6 @@ aiNode *B3DImporter::ReadNODE(aiNode *parent) {
|
||||
std::unique_ptr<aiNodeAnim> nodeAnim;
|
||||
vector<unsigned> meshes;
|
||||
vector<aiNode *> children;
|
||||
AnimKeys keys;
|
||||
|
||||
while (ChunkSize()) {
|
||||
const string chunk = ReadChunk();
|
||||
@@ -548,7 +560,7 @@ aiNode *B3DImporter::ReadNODE(aiNode *parent) {
|
||||
nodeAnim.reset(new aiNodeAnim);
|
||||
nodeAnim->mNodeName = node->mName;
|
||||
}
|
||||
ReadKEYS(keys);
|
||||
ReadKEYS(nodeAnim.get());
|
||||
} else if (chunk == "NODE") {
|
||||
aiNode *child = ReadNODE(node);
|
||||
children.push_back(child);
|
||||
@@ -557,21 +569,6 @@ aiNode *B3DImporter::ReadNODE(aiNode *parent) {
|
||||
}
|
||||
|
||||
if (nodeAnim) {
|
||||
if (!keys.positionKeys.empty()) {
|
||||
nodeAnim->mNumPositionKeys = static_cast<unsigned int>(keys.positionKeys.size());
|
||||
nodeAnim->mPositionKeys = to_array(keys.positionKeys);
|
||||
}
|
||||
|
||||
if (!keys.scalingKeys.empty()) {
|
||||
nodeAnim->mNumScalingKeys = static_cast<unsigned int>(keys.scalingKeys.size());
|
||||
nodeAnim->mScalingKeys = to_array(keys.scalingKeys);
|
||||
}
|
||||
|
||||
if (!keys.rotationKeys.empty()) {
|
||||
nodeAnim->mNumRotationKeys = static_cast<unsigned int>(keys.rotationKeys.size());
|
||||
nodeAnim->mRotationKeys = to_array(keys.rotationKeys);
|
||||
}
|
||||
|
||||
_nodeAnims.emplace_back(std::move(nodeAnim));
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
@@ -49,7 +49,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#include <assimp/types.h>
|
||||
#include <assimp/mesh.h>
|
||||
#include <assimp/material.h>
|
||||
#include <assimp/anim.h>
|
||||
#include <assimp/BaseImporter.h>
|
||||
|
||||
#include <memory>
|
||||
@@ -95,12 +94,6 @@ private:
|
||||
float weights[4];
|
||||
};
|
||||
|
||||
struct AnimKeys {
|
||||
std::vector<aiVectorKey> positionKeys;
|
||||
std::vector<aiVectorKey> scalingKeys;
|
||||
std::vector<aiQuatKey> rotationKeys;
|
||||
};
|
||||
|
||||
AI_WONT_RETURN void Oops() AI_WONT_RETURN_SUFFIX;
|
||||
AI_WONT_RETURN void Fail(const std::string &str) AI_WONT_RETURN_SUFFIX;
|
||||
|
||||
@@ -111,7 +104,7 @@ private:
|
||||
void ReadTRIS( int v0 );
|
||||
void ReadMESH();
|
||||
void ReadBONE( int id );
|
||||
void ReadKEYS( AnimKeys& keys );
|
||||
void ReadKEYS( aiNodeAnim *nodeAnim );
|
||||
void ReadANIM();
|
||||
|
||||
aiNode *ReadNODE( aiNode *parent );
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use of this software in source and binary forms,
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use of this software in source and binary forms,
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use of this software in source and binary forms,
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
@@ -100,7 +100,7 @@ public:
|
||||
}
|
||||
|
||||
// -----------------------------------------
|
||||
ai_real ValueAsFloat() const {
|
||||
float ValueAsFloat() const {
|
||||
return fast_atof(value.c_str());
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Open Asset Import Library (assimp)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2006-2026, assimp team
|
||||
Copyright (c) 2006-2025, assimp team
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user