Commit Graph

122 Commits

Author SHA1 Message Date
Nick Fisher 4e64c4976f refactor!: rename removeAsset to destroyAsset
use render thread methods for lights
2025-01-07 08:25:48 +08:00
Nick Fisher 04adbc39e0 remove Scene class 2025-01-07 08:25:48 +08:00
Nick Fisher 744e39e8dd fix: move removeIbl to render thread 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 3e39aa3630 feat: allow setting material instance directly on ThermionAsset 2025-01-07 08:25:48 +08:00
Nick Fisher cc1b55b6c9 internal: remove vertexScale from unlit material and multiply by alpha 2025-01-07 08:25:48 +08:00
Nick Fisher 7717387909 internal: remove bounding box asset when parent asset removed 2025-01-07 08:25:48 +08:00
Nick Fisher 31e453a4e6 refactor: dont require GizmoInputHandler to wrap an existing InputHandler (you can do this by creating your own InputHandler that wraps two children 2025-01-07 08:25:48 +08:00
Nick Fisher 9b988537e0 internal: allow InputHandler methods to return null 2025-01-07 08:25:48 +08:00
Nick Fisher b6397b5f73 fix!: rename removeEntity to removeAsset 2025-01-07 08:25:48 +08:00
Nick Fisher 584ace23b4 refactor: gizmo/input handler improvements 2025-01-07 08:25:48 +08:00
Nick Fisher 024643e3a1 internal: add check for renderable entity when returning bounding box 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 51bdca7158 feat!: remove Viewer setRenderTarget method (use the View method instead) 2025-01-07 08:25:48 +08:00
Nick Fisher 658984e784 internal: FFIView getRenderTarget 2025-01-07 08:25:48 +08:00
Nick Fisher f8ae90b631 internal: add destroyRenderTargetRenderThread 2025-01-07 08:25:48 +08:00
Nick Fisher b158062ce8 internal: expose View_getRenderTarget and set (Dart) FFIView.renderTarget property on construction 2025-01-07 08:25:48 +08:00
Nick Fisher 342264eba9 chore: remove unnecessary null check 2025-01-07 08:25:48 +08:00
Nick Fisher 453ce9d1ea fix: fix highlights after first 2025-01-07 08:25:48 +08:00
Nick Fisher b6bde0c9d9 fix: set overlay layer visibility when adding grid 2025-01-07 08:25:48 +08:00
Nick Fisher f873f7da66 feat: add setTransparencyMode to Dart Material class 2025-01-07 08:25:48 +08:00
Nick Fisher 9f9b34f662 feat: expose attached entity as Stream on GizmoInputHandler 2025-01-07 08:25:48 +08:00
Nick Fisher 19ffa91164 chore: update stubbed viewer 2025-01-07 08:25:48 +08:00
Nick Fisher 5fb5e42b98 feat: allow custom material for grid overlay, and material creation from Uint8List 2025-01-07 08:25:48 +08:00
Nick Fisher ba3636a203 fix: use render thread methods for grid overlay creation and create ubershader instance 2025-01-07 08:25:48 +08:00
Nick Fisher e0b4ebc349 chore: regenerate bindings 2025-01-07 08:25:48 +08:00
Nick Fisher 1d1a3cbfe6 chore: rename to FFIMaterialInstance 2025-01-07 08:25:48 +08:00
Nick Fisher 0817efc33e internal: add Dart FFIMaterial type 2025-01-07 08:25:48 +08:00
Nick Fisher 852cb58ba9 fix: move material/instance creation to render thread 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 b94aeb8b4a chore: whitespace 2025-01-07 08:25:48 +08:00
Nick Fisher 8b9b299786 chore: update generated bindings 2025-01-07 08:25:48 +08:00
Nick Fisher 6ce743057b chore: whitespace 2025-01-07 08:25:48 +08:00
Nick Fisher fbb53f9033 fix: use createGizmoRenderThread 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 e43e1c9cbd flip camera wireframe direction 2025-01-07 08:25:48 +08:00
Nick Fisher c117555b2c gizmo improvements, use render thread methods for createCamera, allow setParent null to unparent transform 2025-01-07 08:25:48 +08:00
Nick Fisher abbf2d5391 update bindings 2025-01-07 08:25:48 +08:00
Nick Fisher a31c800204 add wireframe camera to geometry 2025-01-07 08:25:48 +08:00
Nick Fisher 877e8def80 add dithering to view 2025-01-07 08:25:48 +08:00
Nick Fisher 6d36dc7923 add dithering to view 2025-01-07 08:25:48 +08:00
Nick Fisher 151935913f allow null parent to setParent 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 c3c6465908 documentation 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
Nick Fisher 9ada6aae64 chore: rename to Viewer_destroy 2024-11-21 12:32:52 +08:00
Nick Fisher 0ef0f37bbf chore: update stubs 2024-11-21 12:32:34 +08:00