Nick Fisher
655ba89b0f
logging
2025-06-04 11:05:19 +08:00
Nick Fisher
24aaffda9c
lock mutex when setting animations manually via AnimationManager
2025-06-02 11:52:08 +08:00
Nick Fisher
1fb68b20e9
separate Gltf/Morph/BoneAnimationComponentManager definitions
...
move gltf animation instantiation to GltfAnimationComponentManager (this helps ensure we are creating the component on the correct entity)
2025-05-20 14:57:26 +08:00
Nick Fisher
c98e604e76
split animation components into GltfAnimation/MorphAnimation/BoneAnimation
2025-05-17 10:11:55 +08:00
Nick Fisher
88f229481d
remove old includes
2025-04-02 22:22:36 +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
999b1e613f
refactoring + texture projection
2025-03-25 09:39:02 +08:00
Nick Fisher
cbff4cd805
refactoring
2025-03-20 11:07:16 +08:00
Nick Fisher
6744c02019
refactoring
2025-03-19 17:54:43 +08:00
Nick Fisher
e73cb9c7d6
refactor
2025-03-19 15:42:33 +08:00
Nick Fisher
d5bffd5ad2
refactor
2025-03-18 23:15:13 +08:00
Nick Fisher
7ed7ff48b9
always initialize uvScale to 1
2025-03-08 12:17:57 +08:00
Nick Fisher
9d311220b1
remove UV1 from geometry
2025-03-08 12:17:39 +08:00
Nick Fisher
aa26f4d0df
separate out RenderLoop/FilamentViewer construction/destruction
2025-03-07 18:53:36 +08:00
Nick Fisher
5b80dd3a3d
bounding box geometry doesn't cast/receive shadows
2025-03-05 14:57:20 +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
b1c0d4b2e8
internal: expose more RenderableManager/LightManager bindings
2025-01-07 08:25:48 +08:00
Nick Fisher
86ecd53de7
internal: use std::vector for geometry material instances
2025-01-07 08:25:48 +08:00
Nick Fisher
1d615e7568
fix: UV calculation for geometry
2025-01-07 08:25:48 +08:00
Nick Fisher
4cb118ad65
feat: use existing material instances when creating an instance of GeometrySceneAsset and no material instance is passed
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
d92d47faa5
chore: logging
2025-01-07 08:25:48 +08:00
Nick Fisher
fc4842ed6d
chore: remove colors from Gizmo
2025-01-07 08:25:48 +08:00
Nick Fisher
a519701510
chore: logging
2025-01-07 08:25:48 +08:00
Nick Fisher
94863134fc
feat: allow passing custom material for 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
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
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
cb9320f3a1
remove pragma from Geometry builder cpp
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
69643e26f6
whitespace
2025-01-07 08:25:48 +08:00
Nick Fisher
d72ed58436
in createGeometry, all geometry entities to scene
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
aa7350c419
gizmo & picking improvements
2025-01-07 08:25:48 +08:00
Nick Fisher
c2077cb6b1
fix: store reference to material instances in ThermionViewer so they can be cleaned up on dispose
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