Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Quaternions #1796

Open
wants to merge 33 commits into
base: master
Choose a base branch
from
Open

Quaternions #1796

wants to merge 33 commits into from

Conversation

lhog
Copy link
Collaborator

@lhog lhog commented Dec 3, 2024

No description provided.

@saurtron
Copy link
Collaborator

saurtron commented Dec 3, 2024

Guess you already checked this and not the most critical thing atm, but since I looked it up, so it can serve as reference for later on:

Some possible mathematical simplifications for 4x4 det: blender code (not sure where their method comes from but seems to do less operations). Also for reference in case it can be useful, their quaternion code.

Also, from wikipedia:

$det\pmatrix{A & B \\ C & D} = det(D)det(A-BD^{-1}C))$

Being A B C D the 2x2 blocks. this would also possibly result in less operations.

There's lot of literature on the subject, specially re simd optimizations, but anyways those seem straighforward simplifications.

Looking great, maybe some tests would be in order?

@lhog
Copy link
Collaborator Author

lhog commented Dec 3, 2024

Looking great, maybe some tests would be in order?

I'm going to switch most of the engine internals to quaternions, so there will be lots of manual tests :)

@lhog lhog force-pushed the BAR-quat branch 5 times, most recently from 0bb4f3f to cb56e17 Compare December 15, 2024 01:05
@lhog lhog marked this pull request as ready for review February 22, 2025 20:31
@lhog lhog force-pushed the BAR-quat branch 6 times, most recently from 5141c8f to d872620 Compare February 23, 2025 15:28
lhog added 23 commits February 23, 2025 22:31
… side, shaders can do inversion trivially in the vertex shader, moreover they were only only required for epsilon% frequent case of skinning

2) Small cleaning pass
…DecomposeIntoTRS into Matrix. Put some tests in a completely inappropriate place
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants