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