Skip to content

Incorporate skinned meshes #76

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

Merged
merged 22 commits into from
Dec 4, 2022
Merged

Incorporate skinned meshes #76

merged 22 commits into from
Dec 4, 2022

Conversation

karnkaul
Copy link
Member

@karnkaul karnkaul commented Dec 3, 2022

GLTF tutorial works as expected, but other rigged meshes in GLTF samples currently don't.

All sample rigged animations now work!

Close #69 😎

- Prepare for `MorphMesh`.
- `Shader` represents a single SPIR-V shader.
- `Shader::Program` comprises vert and frag shaders.
- This will enable a mesh to provide its vertex layout + vertex shader ID.
Groundwork for `MeshPrimitive` and support for both packed / interleaved data.
- `MeshPrimitive` will provide this info later.
- Remove `VertexLayout::Db`.
- Use binding numbers 6-9 instead of 4-7 for instance mats. This reserves 0-5 for vertex / joint buffers.
- Improve scene rendering flow.
- Cleanup `SceneRenderer`.
- Fix embed shader custom commands: isolating skinned.vert fixes the
problem of the command being invoked on every build.
@karnkaul karnkaul force-pushed the karnage/skin branch 4 times, most recently from 0f4312a to 6bc8b6f Compare December 3, 2022 23:40
- Fix order of quaternion components from GLTF.
- Fix joints: use global transform instead of node's local transform.
TODO: Optimize global transform matrix computation / tree traversal per primitive.
- Each animation has multiple animators.
@karnkaul karnkaul marked this pull request as ready for review December 4, 2022 00:35
- Use in `SceneRenderer`.
- Store loaded images for multiple textures to be able to reuse.
- Inspect animations in editor.
- Engine: invoke `on_loaded` even when no multi-threading.
- Revert isolation of skinned.vert, better to eat some build time and ensure shaders are up to date.
- Rename `MeshPrimitive::Builder` to `Uploader`, make internal.
- Add `Geometry` overloads in `MeshPrimitive`, `Scene`.
@karnkaul karnkaul merged commit 46544f8 into main Dec 4, 2022
@karnkaul karnkaul deleted the karnage/skin branch December 4, 2022 17:36
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.

Skeletal Animation
1 participant