Nick Fisher
7b0550c713
manually define SceneLayer enum
2025-04-02 22:25:42 +08:00
Nick Fisher
09b2a924af
(Windows) define M_PI
2025-04-02 22:22:05 +08:00
Nick Fisher
99217499f9
remove old SceneManager references
2025-03-28 15:55:35 +08:00
Nick Fisher
ecb8d8672a
fix instancing so that gltf assets always fill the first instance slot
2025-03-28 13:06:36 +08:00
Nick Fisher
0cbbc058e0
refactoring
2025-03-22 10:49:24 +08:00
Nick Fisher
e6bdcb687a
refactoring
2025-03-20 18:48:04 +08:00
Nick Fisher
6744c02019
refactoring
2025-03-19 17:54:43 +08:00
Nick Fisher
ac86dc7ad7
refactoring
2025-03-19 16:02:43 +08:00
Nick Fisher
e73cb9c7d6
refactor
2025-03-19 15:42:33 +08:00
Nick Fisher
627447f8b0
refactoring
2025-03-19 12:27:13 +08:00
Nick Fisher
d5bffd5ad2
refactor
2025-03-18 23:15:13 +08:00
Nick Fisher
fc7f5d7b93
create material for texture baking
...
textures can now be created manually and are no longer tracked by SceneManager (and therefore require manual tracking/disposal)
2025-03-04 14:52:48 +08:00
Nick Fisher
0e5253f7b3
internal: store bounding box with SceneAsset rather than recalculating from renderables
2025-01-07 12:02:44 +08:00
Nick Fisher
86ecd53de7
internal: use std::vector for geometry material instances
2025-01-07 08:25:48 +08:00
Nick Fisher
baf86d1ade
refactor!: move light methods from FilamentViewer to SceneManager/TLightManager and rename clearLights/clearAssets to destroyLights/destroyAssets
2025-01-07 08:25:48 +08:00
Nick Fisher
3e181b6aff
fix: allow destroying instances independently of owner
2025-01-07 08:25:48 +08:00
Nick Fisher
8e0ba8ac4e
fix: glTF instancing when loaded via buffer
2025-01-07 08:25:48 +08:00
Nick Fisher
8d8acef481
feat: remove bounding box from SceneAsset and create renderable wireframe bounding box in ThermionAsset
2025-01-07 08:25:48 +08:00
Nick Fisher
e9c14139c2
chore: disable grid center sphere and fix priority
2025-01-07 08:25:48 +08:00
Nick Fisher
eb4e70a7cf
chore: remove colors from Gizmo
2025-01-07 08:25:48 +08:00
Nick Fisher
fd1faa6023
feat: allow passing custom material for grid overlay
2025-01-07 08:25:48 +08:00
Nick Fisher
1b979252db
feat: re-implement grid overlay
2025-01-07 08:25:48 +08:00
Nick Fisher
7cf1468f38
feat: more rotation gizmo improvements
2025-01-07 08:25:48 +08:00
Nick Fisher
62cd85c148
feat: rotation gizmo improvements
2025-01-07 08:25:48 +08:00
Nick Fisher
def85614d8
feat: add rotation gizmo
2025-01-07 08:25:48 +08:00
Nick Fisher
0ad73d06e0
internal: pass NameComponentManager to GltfSceneAsset, used for finding child entities by name
2025-01-07 08:25:48 +08:00
Nick Fisher
6b883f3352
chore: update hit test entities used for gizmo
2025-01-07 08:25:48 +08:00
Nick Fisher
29c35f9037
refactor: Gizmo internals
2025-01-07 08:25:48 +08:00
Nick Fisher
1e1d6fdcc9
chore: add dummy bounding box to GridOverlay
2025-01-07 08:25:48 +08:00
Nick Fisher
278575c3e2
internal: add bounding box to SceneAsset & subclasses
2025-01-07 08:25:48 +08:00
Nick Fisher
fe0f63c4cb
chore: update gizmo materials
2025-01-07 08:25:48 +08:00
Nick Fisher
1c5b5c890b
reimplement grid as SceneAsset
2025-01-07 08:25:48 +08:00
Nick Fisher
fe37d45e1a
return null entity for grid overlay
2025-01-07 08:25:48 +08:00
Nick Fisher
d53a8b20b8
move Geometry asset builder from header to own implementation
2025-01-07 08:25:48 +08:00
Nick Fisher
ed444b0615
feature!:
...
This is a breaking change needed to fully implement instancing and stencil highlighting.
Previously, users would work directly with entities (on the Dart side, ThermionEntity), e.g.
final entity = await viewer.loadGlb("some.glb");
However, Filament "entities" are a lower-level abstraction.
Loading a glTF file, for example, inserts multiple entities into the scene.
For example, each mesh, light, and camera within a glTF asset will be assigned an entity. A top-level (non-renderable) entity will also be created for the glTF asset, which can be used to transform the entire hierarchy.
"Asset" is a better representation for loading/inserting objects into the scene; think of this as a bundle of entities.
Unless you need to work directly with transforms, instancing, materials and renderables, you can work directly with ThermionAsset.
2024-11-27 15:02:37 +11:00