Repository navigation
Anim opt - #84
Merged
Merged
Anim opt#84
Conversation
HailToDodongo
had a problem deploying
to
github-pages
October 6, 2026 18:56 — with
GitHub Actions
Failure
HailToDodongo
had a problem deploying
to
github-pages
October 6, 2026 19:02 — with
GitHub Actions
Failure
HailToDodongo
had a problem deploying
to
github-pages
October 6, 2026 19:02 — with
GitHub Actions
Failure
ottj
added a commit
to ottj/tiny3d
that referenced
this pull request
Oct 22, 2026
…on the sr64 fork Cherry-picked from upstream 1029791 (Max Bebök, 2026-10-06): keyframes stream from ROM by DMA through a small double buffer per animation instead of a FILE, T3DBone keeps a 4x3 matrix (96 B, 16-aligned), and the skeleton/animation update paths are faster. Only HailToDodongo#84 — the precision fix (HailToDodongo#81) and the RSPL microcode port stay for the full upstream update, so upstream's breakingChanges.md (which documents both) is left out. Conflicts with the fork, resolved: - The fork's memory keyframe source (dataPtr) is replaced by upstream's ROM stream. sr64 builds its animations by hand around its own T3DChunkAnim, so a new t3d_anim_set_source_rom() starts the stream from a ROM address with a CALLER-supplied buffer; T3DAnim.ownsBuffer tells t3d_anim_destroy / _destroy_free whether tiny3d allocated the buffer (and frees it) or the caller did (and keeps it). destroy_free waits for the stream's DMA before anything is released. - The fork's no-source safety stays: an animation with no stream reads no keyframes (a static pose) instead of DMAing into NULL, and a channel whose window never opened is skipped instead of divided by zero. - Weighted skinning: the inverse bind poses are 4x3 too (48 B per bone, was 64), computed once at create through the existing 4x4 affine invert, and the skin matrix is mat4x3_mul(world, IBM) -> mat4x3_to_fixed. A clone without inverse bind poses takes upstream's plain path. Measured in sr64 (b30, 24-actor fight): the animation pool's demand peak 161 -> 136 KB and its 46 fragmentation spills -> 0. (cherry picked from commit 1029791)
This branch had an error being deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.