Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

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

Merged
bdero merged 3 commits into
flutter-team-archive:mainfrom
bdero:bdero/ipscene-mesh-refactor
Dec 10, 2022
Merged

[Impeller Scene] Refactor Nodes/Meshes for simplicity and GLTF compatibility#38180
bdero merged 3 commits into
flutter-team-archive:mainfrom
bdero:bdero/ipscene-mesh-refactor

Conversation

@bdero

@bdero bdero commented Dec 10, 2022

Copy link
Copy Markdown
Contributor
  • 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-team-archive: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
* 6b1c0c2 [Impeller Scene] Convert vertex positions to match Impeller's clip space orientation (flutter-team-archive/engine#38174)

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

* 3dfd13f Roll Skia from 1b194c67700e to 491f5c134f76 (2 revisions) (flutter-team-archive/engine#38182)

* 690f0e8 Fix sampler offsets (flutter-team-archive/engine#38170)

* f24f2cc Roll Skia from 491f5c134f76 to 0d482f9fa8b3 (1 revision) (flutter-team-archive/engine#38183)

* fbb79e7 [Impeller Scene] Refactor Nodes/Meshes for simplicity and GLTF compatibility (flutter-team-archive/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
…6843)

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

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

* 3dfd13f Roll Skia from 1b194c67700e to 491f5c134f76 (2 revisions) (flutter-team-archive/engine#38182)

* 690f0e8 Fix sampler offsets (flutter-team-archive/engine#38170)

* f24f2cc Roll Skia from 491f5c134f76 to 0d482f9fa8b3 (1 revision) (flutter-team-archive/engine#38183)

* fbb79e7 [Impeller Scene] Refactor Nodes/Meshes for simplicity and GLTF compatibility (flutter-team-archive/engine#38180)
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Development

Successfully merging this pull request may close these issues.

2 participants