Skip to content

Commit

Permalink
Merge branch 'release/0.16.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
guillaumeblanc committed Jan 19, 2025
2 parents c40a726 + 03ef2ae commit 6cbdc79
Show file tree
Hide file tree
Showing 157 changed files with 23,734 additions and 15,891 deletions.
55 changes: 22 additions & 33 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,17 @@ name: Linux
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
build_type: [Debug]
option: [default, ref, shared, no_sample, no_data, no_fbx, no_gltf, no_tests]
cxx_standard: ['11']
cxx_standard: ['17']
include:
- build_type: Release
option: default
- build_type: Debug
option: gcc10
compiler_c: gcc-10
compiler_cxx: g++-10
- build_type: Debug
option: gcc11
compiler_c: gcc-11
compiler_cxx: g++-11
- build_type: Debug
option: gcc12
compiler_c: gcc-12
Expand All @@ -28,34 +21,30 @@ jobs:
option: gcc13
compiler_c: gcc-13
compiler_cxx: g++-13
- build_type: Release
option: gcc13
compiler_c: gcc-13
compiler_cxx: g++-13
- build_type: Debug
option: clang11
compiler_c: clang-11
compiler_cxx: clang++-11
- build_type: Debug
option: clang12
compiler_c: clang-12
compiler_cxx: clang++-12
option: gcc14
compiler_c: gcc-14
compiler_cxx: g++-14
- build_type: Release
option: gcc14
compiler_c: gcc-14
compiler_cxx: g++-14
- build_type: Debug
option: clang13
compiler_c: clang-13
compiler_cxx: clang++-13
option: clang16
compiler_c: clang-16
compiler_cxx: clang++-16
- build_type: Debug
option: clang14
compiler_c: clang-14
compiler_cxx: clang++-14
option: clang17
compiler_c: clang-17
compiler_cxx: clang++-17
- build_type: Debug
option: clang15
compiler_c: clang-15
compiler_cxx: clang++-15
option: clang18
compiler_c: clang-18
compiler_cxx: clang++-18
- build_type: Release
option: clang15
compiler_c: clang-15
compiler_cxx: clang++-15
option: clang18
compiler_c: clang-18
compiler_cxx: clang++-18

steps:
- uses: actions/checkout@v4
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [macos-latest, macos-14]
os: [macos-13, macos-14]
build_type: [Debug, Release]
option: [default, ref, shared, no_fbx]
runs-on: ${{matrix.os}}
timeout-minutes: 15
steps:
- uses: actions/checkout@v4

Expand Down
1 change: 1 addition & 0 deletions .github/workflows/wasm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ name: Windows
on: [push, pull_request]
jobs:
build:
runs-on: windows-latest
runs-on: windows-latest
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
Expand Down
66 changes: 66 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
{
"cmake.configureOnOpen": true,
"files.associations": {
"__bit_reference": "cpp",
"__config": "cpp",
"__hash_table": "cpp",
"__locale": "cpp",
"__node_handle": "cpp",
"__split_buffer": "cpp",
"__threading_support": "cpp",
"__tree": "cpp",
"__verbose_abort": "cpp",
"array": "cpp",
"bitset": "cpp",
"cctype": "cpp",
"charconv": "cpp",
"clocale": "cpp",
"cmath": "cpp",
"complex": "cpp",
"cstdarg": "cpp",
"cstddef": "cpp",
"cstdint": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"cstring": "cpp",
"ctime": "cpp",
"cwchar": "cpp",
"cwctype": "cpp",
"deque": "cpp",
"execution": "cpp",
"forward_list": "cpp",
"fstream": "cpp",
"future": "cpp",
"initializer_list": "cpp",
"iomanip": "cpp",
"ios": "cpp",
"iosfwd": "cpp",
"iostream": "cpp",
"istream": "cpp",
"limits": "cpp",
"list": "cpp",
"locale": "cpp",
"map": "cpp",
"mutex": "cpp",
"new": "cpp",
"optional": "cpp",
"ostream": "cpp",
"queue": "cpp",
"ratio": "cpp",
"set": "cpp",
"sstream": "cpp",
"stack": "cpp",
"stdexcept": "cpp",
"streambuf": "cpp",
"string": "cpp",
"string_view": "cpp",
"tuple": "cpp",
"typeinfo": "cpp",
"unordered_map": "cpp",
"unordered_set": "cpp",
"valarray": "cpp",
"variant": "cpp",
"vector": "cpp",
"algorithm": "cpp"
}
}
25 changes: 23 additions & 2 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,29 @@
Release version 0.16.0
----------------------

> This version brings breaking changes to \*2ozz json configuration.
* Library
- [offline] Implements root motion extraction through `ozz::animation::offline::MotionExtraction` utility. Root motion defines how a character moves during an animation. The utility extracts the motion (position and rotation) from a root joint of the animation into separate tracks, and removes (bakes) that motion from the original animation. User code is expected to reapply motion at runtime by moving the character transform, hence reconstructing the original animation.
- [animation] Implements root motion blending through `ozz::animation::MotionBlendingJob`. With a similar interface to `ozz::animation::BlendingJob`, the job blends (interpolate) the delta of motion from multiple animations according to weight coefficients.
- [animation] Improves compaction for identity and constant tracks.
- [base] Make Stream's destructor public. (#183).

* Tools
- Adds motion track extraction to \*2ozz. Configuration (json) is extended with a animations.tracks.motion object that exposes root motion extraction settings. See [src/animation/offline/tools/reference.json#L67]().
- Breaking \*2ozz json configuration change. \*2ozz json configuration animations.tracks is no longer an array, but now an object. See [src/animation/offline/tools/reference.json#L51]().
- Updates nlohmann/json from 3.5.0 to 3.11.3 (#179).
- Logs \*2ozz configuration in verbose log level.

* Samples
- Adds [motion extraction sample](https://guillaumeblanc.github.io/ozz-animation/samples/motion_extraction/), showcasing root motion extraction parameters.
- Adds [motion playback sample](https://guillaumeblanc.github.io/ozz-animation/samples/motion_playback/), demonstrating motion accumulation during playback.
- Adds [motion blending sample](https://guillaumeblanc.github.io/ozz-animation/samples/motion_blend/), leveraging `ozz::animation::MotionBlendingJob` to blend root motion of three animations.

Release version 0.15.0
----------------------

This version brings breaking changes that require rebuilding runtime animations.
> This version brings breaking changes that require rebuilding runtime animations.
* Library
- [offline/animation] #152 Fixes additive animation blending issues due to wrong quaternion multiplication order in additive animation builder and blending job. Note that additive animation needs to be rebuilt to benefit from the fix.
Expand Down Expand Up @@ -61,7 +83,6 @@ Release version 0.14.0
- [animation] #110 Renames skeleton bind pose to rest pose, to avoid confusion with skinning bind pose.
- [offline] Extends configuration to allow setting up iframe time interval.
- [base] Fixes Float4x4::FromEuler which was swapping pitch and roll.
- [base] Implements group varint encoding utility. It's used to compress iframes.

* Build pipeline
- Moves CI to github actions.
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ get_directory_property(is_sub_project PARENT_DIRECTORY)

# Current version
set(OZZ_VERSION_MAJOR 0)
set(OZZ_VERSION_MINOR 15)
set(OZZ_VERSION_MINOR 16)
set(OZZ_VERSION_PATCH 0)
set(OZZ_VERSION ${OZZ_VERSION_MAJOR}.${OZZ_VERSION_MINOR}.${OZZ_VERSION_PATCH})

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Documentation and samples are available from [ozz-animation website](http://guil
Supported platforms
-------------------

ozz-animation is tested on WebAssembly, Linux, macOS and Windows, for x86, x86-64 and ARM architectures. The run-time code (ozz_base, ozz_animation, ozz_geometry) depends only on c++11, on the C and the C++ standard libraries, and has no OS specific code. Portability to any other platform shouldn't be an issue.
ozz-animation is tested on WebAssembly, Linux, macOS and Windows, for x86, x86-64 and ARM architectures. The run-time code (ozz_base, ozz_animation, ozz_geometry) depends only on c++17, on the C and the C++ standard libraries, and has no OS specific code. Portability to any other platform shouldn't be an issue.

Samples, tools and tests depend on external libraries (glfw, tinygltf, Fbx SDK, jsoncpp, gtest, ...), which aren't need to ship with ozz-animation runtime.

Expand Down
Loading

0 comments on commit 6cbdc79

Please sign in to comment.