Commit Graph
100 Commits
Author SHA1 Message Date
Nick Fisher 7aa0367a3b internal: *Material_createInstance 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 0facb3f906 internal: add TMaterial type 2025-01-07 08:25:48 +08:00
Nick Fisher 355c28477b internal: add Material_createInstance 2025-01-07 08:25:48 +08:00
Nick Fisher c1a294315a internal: expose Engine getters (TransformManager, RenderableManager), and build/desotry material methods 2025-01-07 08:25:48 +08:00
Nick Fisher f27628e719 internal: add createGrid/destroyMaterial render thread methods 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 8fa43e5306 feat: allow passing custom material for grid overlay 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 1b979252db feat: re-implement grid overlay 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 771f851784 feat: add rotation gizmo 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 6c236da675 feat: add rotation gizmo asset + resource file 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 ffa0f77a42 chore: ignore TRACE when ENABLE_TRACING not set 2025-01-07 08:25:48 +08:00
Nick Fisher 26ae21910f feat: add rotation gizmo asset + resource file 2025-01-07 08:25:48 +08:00
Nick Fisher 5c3af255e4 chore: remove unused transform parameter from unlit_fixed_size material 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 113f769160 chore: regenerate materials 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 27e150ebf6 chore: clean up static_cast 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 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 8a894f7e88 refactor: add createGizmoRenderThread 2025-01-07 08:25:48 +08:00
Nick Fisher 5e88a710ae chore: explicitly build debug symbols in debug mode, and add gizmo.c/gizmo_glb.c to build 2025-01-07 08:25:48 +08:00
Nick Fisher 6b36d67ed7 feat: add gizmo.glb to assets/resources 2025-01-07 08:25:48 +08:00
Nick Fisher 5564be9ce9 feat: add TRACE macro 2025-01-07 08:25:48 +08:00
Nick Fisher 9f676f42b9 remove old HighlightOverlay class 2025-01-07 08:25:48 +08:00
Nick Fisher 981fd63963 update overlay tests 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 6d5bc305dc fix SceneManager_createCameraRenderThread 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 5fe985d2c7 add create/set camera render thread functions 2025-01-07 08:25:48 +08:00
Nick Fisher 80ca4b97a9 add create/set camera render thread functions 2025-01-07 08:25:48 +08:00
Nick Fisher d3b4bed654 move grid clipspace.z closer to camera to allow for skybox 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 fb650dbd52 allow null parent to setParent 2025-01-07 08:25:48 +08:00
Nick Fisher c34c7d5545 change grid priority 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 bf3d4f7c0e add dithering to view 2025-01-07 08:25:48 +08:00
Nick Fisher 69643e26f6 whitespace 2025-01-07 08:25:48 +08:00
Nick Fisher 44b502a1e4 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 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 600ab1ad28 update tests 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 bedd50ec38 chore: update pubspec.yaml with new package name 2025-01-07 08:25:48 +08:00
Nick Fisher 8a3525d879 chore: temporarily disable ThermionWidgetWebImpl 2025-01-07 08:25:48 +08:00
Nick Fisher 853f1d1a68 feat!: remove superseded ThermionWindows widget 2025-01-07 08:25:48 +08:00
Nick Fisher 7e50f0317e feat: use new createTextureAndBindToView in ThermionTextureWidget 2025-01-07 08:25:48 +08:00
Nick Fisher 724d7532e2 chore: docstring fixes 2025-01-07 08:25:48 +08:00
Nick Fisher 45a548afd2 feat!: rename thermion_flutter_ffi package to thermion_flutter_method_channel 2025-01-07 08:25:48 +08:00
Nick Fisher e8b4b7806b feat!: rename thermion_flutter_ffi package to thermion_flutter_method_channel 2025-01-07 08:25:48 +08:00
Nick Fisher 133367669d feat: create separate createTexture and createTextureAndBindToView interface methods 2025-01-07 08:25:48 +08:00
Nick Fisher 60a09a1cd9 chore: rename thermion_flutter_ffi in example projects 2025-01-07 08:25:48 +08:00
Nick Fisher 9128fbbd61 chore: rename local variable in ThermionTexture.swift to avoid compiler warning 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
Nick Fisher df37f5e95f test cleanup 2024-11-21 12:32:17 +08:00
Nick Fisher 468cada6c6 update bindings 2024-11-21 12:31:58 +08:00
Nick Fisher e60ab51b79 fix: remove MaterialInstance from SceneManager storage when destroyed 2024-11-21 12:31:36 +08:00
Nick Fisher d58a48061c fix: remove MaterialInstance from SceneManager storage when destroyed 2024-11-21 12:31:04 +08:00
Nick Fisher cabb62043d feat: re-add uvScale, vertexScale to unlit material 2024-11-21 12:30:51 +08:00
Nick Fisher b7bc46b94a feat: re-add uvScale, vertexScale to unlit material 2024-11-21 12:30:20 +08:00
Nick Fisher bc8edb7eb4 fix: remove MaterialInstance from SceneManager storage when destroyed 2024-11-21 12:29:54 +08:00
Nick Fisher 5deb2ad7cf chore: factor out SceneManager_ methods 2024-11-21 11:16:54 +08:00
Nick Fisher dcc523edff chore(release): publish packages
- thermion_dart@0.2.1-dev.19.0
 - thermion_flutter@0.2.1-dev.19.0
 - thermion_flutter_web@0.2.0+10
 - thermion_flutter_platform_interface@0.2.1-dev.19.0
 - thermion_flutter_ffi@0.2.1-dev.19.0
2024-11-21 10:08:10 +08:00
Nick Fisher 26eba7ae09 fix!: update Makefile & rebuild materials for Vulkan 2024-11-21 10:07:08 +08:00
Nick Fisher 9692c07da9 chore: free flight handler cleanup 2024-11-21 10:03:48 +08:00
Nick Fisher 2860db3fbd feat: use InputAction.ZOOM for scroll wheel in free flight handler 2024-11-21 08:44:36 +08:00
Nick Fisher 1ce5bd3bcf feat: free flight camera improvements 2024-11-19 16:30:35 +08:00
Nick Fisher 9d3f87218e chore(release): publish packages
- thermion_dart@0.2.1-dev.18.0
 - thermion_flutter@0.2.1-dev.18.0
 - thermion_flutter_web@0.2.0+9
 - thermion_flutter_platform_interface@0.2.1-dev.18.0
 - thermion_flutter_ffi@0.2.1-dev.18.0
2024-11-18 22:56:40 +08:00
Nick Fisher 505b4bb156 fix: fix windows import header 2024-11-18 22:55:25 +08:00
Nick Fisher 25320f45af chore: fix spelling 2024-11-15 22:58:04 +08:00
Nick Fisher 0b9f3160d9 feat: add MaterialInstance.setDepthFunc 2024-11-15 22:56:40 +08:00
Nick Fisher bb27f40cb2 chore: add TMaterialInstance to ffigen.yaml 2024-11-15 22:55:16 +08:00
Nick Fisher 9853d6b721 chore: remove uvScale parameter from SceneManager and add some explicit logging 2024-11-15 22:24:30 +08:00
Nick Fisher 52f041afba chore: move TMaterialInstance FFI methods to own file/header 2024-11-15 22:24:07 +08:00
Nick Fisher 646814126f chore: test cleanup 2024-11-15 22:23:28 +08:00
Nick Fisher 05cb4325da chore: rebuild materials 2024-11-15 22:23:07 +08:00
Nick Fisher e8b3468a3a chore: remove uvScale from unlit.mat 2024-11-15 22:22:49 +08:00
Nick Fisher 741607b78b chore: add checks to Makefile for FILAMENT_PATH 2024-11-15 22:22:31 +08:00
Nick Fisher 70414bb83c chore(release): publish packages
- thermion_dart@0.2.1-dev.0.0.17
 - thermion_flutter@0.2.1-dev.17
 - thermion_flutter_web@0.2.0+8
 - thermion_flutter_platform_interface@0.2.1-dev.17
 - thermion_flutter_ffi@0.2.1-dev.17
2024-11-15 17:59:12 +08:00