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

[Impeller Scene] Refactor Nodes/Meshes for simplicity and GLTF compatibility #38180

Merged
merged 3 commits into from
Dec 10, 2022

Conversation

bdero
Copy link
Member

@bdero bdero commented Dec 10, 2022

  • Multiple mesh primitives (geometry + material refs) per mesh.
  • Meshes don't keep a local transform, only nodes do.
  • Nodes are no longer abstract.
  • Nodes are compositional; they track mesh and child node lists. Later, they'll also hold on to animation state.
  • Incrementally resolve the transform during the breadth first encoding walk.
  • Name cleanup: SceneEntity->Node, StaticMeshEntity->Mesh, IndicesType->IndexType, etc.

I noticed there are other popular scene graphs which deploy this kind of setup with inlined node data. This GLTF-aligned setup will make pathing for keyframe tracks easier to wrangle when we add animation primitives.

@bdero bdero self-assigned this Dec 10, 2022
@bdero bdero changed the title [Impeller Scene] Refactor Nodes/Meshes for maximum GLTF compatibility [Impeller Scene] Refactor Nodes/Meshes for simplicity and GLTF compatibility Dec 10, 2022
@bdero bdero merged commit fbb79e7 into flutter:main Dec 10, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 11, 2022
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Dec 11, 2022
…116843)

* 6b1c0c23f [Impeller Scene] Convert vertex positions to match Impeller's clip space orientation (flutter/engine#38174)

* 41ec2804a Roll Fuchsia Linux SDK from rRJIjuO-dPNCpCTd9... to 8O5rMR_ehMaL3YhZ5... (flutter/engine#38177)

* 3dfd13f1d Roll Skia from 1b194c67700e to 491f5c134f76 (2 revisions) (flutter/engine#38182)

* 690f0e81c Fix sampler offsets (flutter/engine#38170)

* f24f2cc0a Roll Skia from 491f5c134f76 to 0d482f9fa8b3 (1 revision) (flutter/engine#38183)

* fbb79e704 [Impeller Scene] Refactor Nodes/Meshes for simplicity and GLTF compatibility (flutter/engine#38180)
loic-sharma pushed a commit to loic-sharma/flutter-engine that referenced this pull request Dec 16, 2022
loic-sharma pushed a commit to loic-sharma/flutter-engine that referenced this pull request Jan 3, 2023
gspencergoog pushed a commit to gspencergoog/flutter that referenced this pull request Jan 19, 2023
…lutter#116843)

* 6b1c0c23f [Impeller Scene] Convert vertex positions to match Impeller's clip space orientation (flutter/engine#38174)

* 41ec2804a Roll Fuchsia Linux SDK from rRJIjuO-dPNCpCTd9... to 8O5rMR_ehMaL3YhZ5... (flutter/engine#38177)

* 3dfd13f1d Roll Skia from 1b194c67700e to 491f5c134f76 (2 revisions) (flutter/engine#38182)

* 690f0e81c Fix sampler offsets (flutter/engine#38170)

* f24f2cc0a Roll Skia from 491f5c134f76 to 0d482f9fa8b3 (1 revision) (flutter/engine#38183)

* fbb79e704 [Impeller Scene] Refactor Nodes/Meshes for simplicity and GLTF compatibility (flutter/engine#38180)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Archived in project
Development

Successfully merging this pull request may close these issues.

2 participants