Compare commits

...

850 Commits

Author SHA1 Message Date
Nick Fisher
cd71db72be chore(release): publish packages
- thermion_dart@0.2.1-dev.0.0.4
 - thermion_flutter_web@0.1.0+5
 - thermion_flutter@0.2.1-dev.3
 - thermion_flutter_platform_interface@0.2.1-dev.3
 - thermion_flutter_ffi@0.2.1-dev.3
2024-10-02 17:59:56 +08:00
Nick Fisher
a9d90f966b chore: make pub.dev happy 2024-10-02 17:59:34 +08:00
Nick Fisher
1a323ca551 chore(release): publish packages
- thermion_dart@0.2.1-dev.0.0.3
 - thermion_flutter_web@0.1.0+4
 - thermion_flutter@0.2.1-dev.2
 - thermion_flutter_platform_interface@0.2.1-dev.2
 - thermion_flutter_ffi@0.2.1-dev.2
2024-10-02 17:58:24 +08:00
Nick Fisher
2d85e191bc chore: make pub.dev happy 2024-10-02 17:58:08 +08:00
Nick Fisher
1b971a859c chore(release): publish packages
- thermion_dart@0.2.1-dev.0.0.2
 - thermion_flutter_web@0.1.0+3
 - thermion_flutter_ffi@0.2.1-dev.1
 - thermion_flutter@0.2.1-dev.1
 - thermion_flutter_platform_interface@0.2.1-dev.1
2024-10-02 17:56:55 +08:00
Nick Fisher
78b697d1c2 chore: make pub.dev happy 2024-10-02 17:56:37 +08:00
Nick Fisher
9da2ce6672 chore(release): publish packages
- thermion_dart@0.2.1-dev.0.0.1
 - thermion_flutter_web@0.1.0+2
 - thermion_flutter@0.2.1-dev.0
 - thermion_flutter_platform_interface@0.2.1-dev.0
 - thermion_flutter_ffi@0.2.1-dev.0
2024-10-02 17:55:23 +08:00
Nick Fisher
39fabd501d chore: move swift bindings to test folder to make pub.dev happy 2024-10-02 17:53:31 +08:00
Nick Fisher
3f1867dd6f chore(release): publish packages
- thermion_dart@0.2.1-dev.0.0.0
 - thermion_flutter@0.2.1-dev.0.0.0
 - thermion_flutter_ffi@0.2.1-dev.0.0.0
 - thermion_flutter_platform_interface@0.2.1-dev.0.0.0
 - thermion_flutter_web@0.1.0+1
2024-10-02 17:46:54 +08:00
Nick Fisher
68d29041b0 chore(release): publish packages
- thermion_dart@0.2.0
 - thermion_flutter@0.2.0
 - thermion_flutter_ffi@0.2.0
 - thermion_flutter_platform_interface@0.2.0
 - thermion_flutter_web@0.1.0
2024-10-02 17:41:13 +08:00
Nick Fisher
b300e86962 chore(release): publish packages
- thermion_dart@0.2.0-dev.8.0.0
 - thermion_flutter@0.2.0-dev.8.0.0
 - thermion_flutter_ffi@0.2.0-dev.8.0.0
 - thermion_flutter_platform_interface@0.2.0-dev.8.0.0
 - thermion_flutter_web@0.1.0-dev.8.0.0
2024-10-02 16:50:41 +08:00
Nick Fisher
562ecf2ee5 feat: camera and resizing improvements 2024-10-02 16:47:55 +08:00
Nick Fisher
d294938a2c chore: remove EMSCRIPTEN ifdefs in *RenderThread methods (no longer used) 2024-09-30 18:24:05 +08:00
Nick Fisher
027cf23069 chore: cleanup 2024-09-30 18:20:30 +08:00
Nick Fisher
c4598637bb feat: support multiple ThermionWidget on Android 2024-09-30 18:20:05 +08:00
Nick Fisher
8a94b6a334 feat: use imported texture on iOS 2024-09-30 14:51:11 +08:00
Nick Fisher
c80c163212 feat: working implementation of multiple widgets on macos 2024-09-30 13:45:57 +08:00
Nick Fisher
921a994eb6 refactor: continual refactor to support multiple render targets 2024-09-28 18:28:05 +08:00
Nick Fisher
65e60da288 chore: upgrade Swift interop gen 2024-09-28 17:59:05 +08:00
Nick Fisher
661185083e chore: refactoring and cleanup for Gizmo 2024-09-28 13:24:28 +08:00
Nick Fisher
a2a26555e2 feat: more work on multiple views/swapchains 2024-09-28 11:19:06 +08:00
Nick Fisher
7f11250b79 refactor!: refactor to support multiple Views/Render Targets 2024-09-27 23:16:01 +08:00
Nick Fisher
a6d2f2ecf9 feat!: big refactor to support multiple swapchains 2024-09-27 18:39:20 +08:00
Nick Fisher
399d447eec chore: don't keep superfluous handle to rtDepth and rtColor 2024-09-27 16:40:30 +08:00
Nick Fisher
fb6204e47c chore: cleanup 2024-09-27 15:19:53 +08:00
Nick Fisher
566856c8fb chore: update bindings 2024-09-27 15:13:45 +08:00
Nick Fisher
d29dd207b6 feat: add rendering check to ThermionWidget ticker 2024-09-27 15:13:33 +08:00
Nick Fisher
e20489900d fix!: replace queuePosition/Rotation with queueTransforms 2024-09-27 15:12:43 +08:00
Nick Fisher
567a268ded fix!: replace queuePosition/Rotation with queueTransforms 2024-09-27 15:12:33 +08:00
Nick Fisher
6a57d242f9 feat: add setParameterFloat2 method 2024-09-27 15:12:14 +08:00
Nick Fisher
41e0851d70 feat: add setParameterFloat2 method 2024-09-27 15:12:05 +08:00
Nick Fisher
95b378348c refactor!: remove RenderThread methods no longer needed 2024-09-27 15:11:47 +08:00
Nick Fisher
1309bf7c6e fix!: replace queuePosition/Rotation with queueTransforms 2024-09-27 15:10:13 +08:00
Nick Fisher
2531b507b0 fix!: replace queuePosition/Rotation with queueTransforms 2024-09-27 15:09:49 +08:00
Nick Fisher
16dc0419e2 feat: add uvScale to unlit material 2024-09-27 15:08:30 +08:00
Nick Fisher
4e7ec6bfb4 feat: add ThirdPersonCameraDelegate 2024-09-27 15:06:51 +08:00
Nick Fisher
035ad48fe4 feat!: set baseColorIndex to -1 by default in unlit materialss 2024-09-27 15:06:32 +08:00
Nick Fisher
ff7c582157 chore: update tests 2024-09-27 15:06:02 +08:00
Nick Fisher
0876a91e17 add ThirdPersonCameraDelegate 2024-09-27 15:05:41 +08:00
Nick Fisher
a2d3c1d73e chore: getter for native camera view matrix 2024-09-26 18:49:32 +08:00
Nick Fisher
1a721deee6 more camera work 2024-09-26 18:41:34 +08:00
Nick Fisher
4355d9c83f more camera work 2024-09-26 16:51:14 +08:00
Nick Fisher
239891c400 chore: rearrange library/export structure 2024-09-26 16:35:33 +08:00
Nick Fisher
ac10aa0a1e chore: camera transform tests 2024-09-26 15:56:54 +08:00
Nick Fisher
7ecf414a47 feat: set camera model matrix directly 2024-09-26 15:52:50 +08:00
Nick Fisher
87c96d06a4 chore: rearrange library dirs, gesture handler improvements 2024-09-26 15:52:23 +08:00
Nick Fisher
26a8d9c6b5 chore: import cleanup 2024-09-26 10:48:40 +08:00
Nick Fisher
947a77f619 chore: rearrange flutter gesture/widget directory structure 2024-09-26 10:46:52 +08:00
Nick Fisher
c850513b7f chore: rearrange flutter gesture/widget directory structure 2024-09-26 10:46:10 +08:00
Nick Fisher
c47d827139 chore: rename thermion_flutter src dir 2024-09-26 10:44:47 +08:00
Nick Fisher
a2684ae47d renaming/refactoring and allow creating new cameras 2024-09-25 23:56:25 +08:00
Nick Fisher
2b1339b560 feat: expose more camera methods 2024-09-25 23:09:27 +08:00
Nick Fisher
59aec2bcc9 chore(release): publish packages
- thermion_dart@0.2.0-dev.7.0
 - thermion_flutter_web@0.1.0-dev.7.0
 - thermion_flutter@0.2.0-dev.7.0
 - thermion_flutter_platform_interface@0.2.0-dev.7.0
 - thermion_flutter_ffi@0.2.0-dev.7.0
2024-09-25 22:35:46 +08:00
Nick Fisher
61d1581b96 fix!: fix min SDK for thermion_dart 2024-09-25 22:35:30 +08:00
Nick Fisher
8e47332ce8 chore(release): publish packages
- thermion_dart@0.2.0-dev.6.0
 - thermion_flutter_web@0.1.0-dev.6.0
 - thermion_flutter@0.2.0-dev.6.0
 - thermion_flutter_platform_interface@0.2.0-dev.6.0
 - thermion_flutter_ffi@0.2.0-dev.6.0
2024-09-25 21:58:28 +08:00
Nick Fisher
ffe8bee98b chore!: cleanup deleted export 2024-09-25 21:58:19 +08:00
Nick Fisher
1e07486017 chore(release): publish packages
- thermion_flutter@0.2.0-dev.6.0
2024-09-25 21:57:38 +08:00
Nick Fisher
58da196876 chore!: remove superseded HardwareKeyboard* classes 2024-09-25 21:56:16 +08:00
Nick Fisher
78af155a6d chore(release): publish packages
- thermion_dart@0.2.0-dev.5.0
 - thermion_flutter_web@0.1.0-dev.5.0
 - thermion_flutter@0.2.0-dev.5.0
 - thermion_flutter_platform_interface@0.2.0-dev.5.0
 - thermion_flutter_ffi@0.2.0-dev.5.0
2024-09-25 21:52:58 +08:00
Nick Fisher
d7e1b3d7ba chore!: remove EntityTransformController (requires replacement) 2024-09-25 21:52:42 +08:00
Nick Fisher
877eae35cd chore(release): publish packages
- thermion_dart@0.2.0-dev.4.0
 - thermion_flutter_web@0.1.0-dev.4.0
 - thermion_flutter@0.2.0-dev.4.0
 - thermion_flutter_platform_interface@0.2.0-dev.4.0
 - thermion_flutter_ffi@0.2.0-dev.4.0
2024-09-25 21:51:19 +08:00
Nick Fisher
87846b68de fix!: (web/wasm) free pick callbacks on dispose 2024-09-25 21:50:31 +08:00
Nick Fisher
6581ee8a2a chore!: restructure viewer folders as libraries to only export the public interface 2024-09-25 21:49:15 +08:00
Nick Fisher
951064e657 chore(release): publish packages
- thermion_flutter@0.2.0-dev.3.0
2024-09-25 21:20:54 +08:00
Nick Fisher
68ebf945a5 chore: add path to dev deps 2024-09-25 21:20:34 +08:00
Nick Fisher
153817e859 chore!: (flutter) cleanup for pub.dev publishing 2024-09-25 21:20:04 +08:00
Nick Fisher
ba0bc54fa7 fix!: remove EntityControllerMouseWidget (replace with GestureHandler) 2024-09-25 21:19:41 +08:00
Nick Fisher
9b99975017 chore(release): publish packages
- thermion_flutter@0.2.0-dev.2.0
2024-09-25 21:18:00 +08:00
Nick Fisher
e6a6862ba4 chore: (flutter) web packaging fixes (use logger) 2024-09-25 21:17:38 +08:00
Nick Fisher
b7d3e9191a chore: (flutter) web packaging fixes 2024-09-25 21:17:20 +08:00
Nick Fisher
b461b2c5db chore: (flutter) web packaging fixes 2024-09-25 21:17:09 +08:00
Nick Fisher
8f7f48bcaa chore: (flutter) add package:web to flutter deps 2024-09-25 21:16:48 +08:00
Nick Fisher
7dc8e394f7 chore!: remove EntityListWidget - will replace with new Scene 2024-09-25 21:16:24 +08:00
Nick Fisher
f5c8faa5c3 chore(release): publish packages
- thermion_dart@0.2.0-dev.1.0
 - thermion_flutter@0.2.0-dev.1.0
 - thermion_flutter_ffi@0.2.0-dev.1.0
 - thermion_flutter_platform_interface@0.2.0-dev.1.0
 - thermion_flutter_web@0.1.0-dev.1.0
2024-09-25 21:06:28 +08:00
Nick Fisher
c84b4010d1 Merge pull request #68 from nmfisher/improvements
Improvements
2024-09-25 21:02:53 +08:00
Nick Fisher
b720c1294f rename Android plugin class in pubspec.yaml 2024-09-25 19:27:38 +08:00
Nick Fisher
d442ab5ce6 add namespace for build.gradle 2024-09-25 19:27:19 +08:00
Nick Fisher
61fdf300f4 add namespace for AndroidManifest.xml 2024-09-25 19:27:04 +08:00
Nick Fisher
4dabca9160 rename Android package/paths 2024-09-25 19:26:51 +08:00
Nick Fisher
85d6946645 (flutter) provide nicer implementation of FixedOrbitCameraRotationDelegate 2024-09-25 19:26:19 +08:00
Nick Fisher
4b1d8ce729 (flutter) update FreeFlight camera delegate 2024-09-24 14:24:29 +08:00
Nick Fisher
c52b0084ce add PickDelegate to DelegateGestureHandler 2024-09-24 14:21:13 +08:00
Nick Fisher
8db725d8bd add PICK_ENTITY to GestureAction 2024-09-24 14:20:49 +08:00
Nick Fisher
c67d1cbbc4 add background color tests 2024-09-24 14:20:33 +08:00
Nick Fisher
3ea4062e33 normalize direction in addLight 2024-09-24 14:20:14 +08:00
Nick Fisher
65e99b9212 set clearOptions to true 2024-09-23 13:51:18 +08:00
Nick Fisher
e83193ba0d introduce stronger native typing, camera projection/culling methods, update tests 2024-09-21 11:36:41 +08:00
Nick Fisher
835338ef63 (flutter) use scheduleFrameCallback to invoke requestFrame to match Flutter/vsync 2024-09-21 10:22:49 +08:00
Nick Fisher
57872d2e40 rename from *FFI to *RenderThread, return bool from render() to check frame timings, update render loop to wait on condition variable, add requestFrame() method 2024-09-21 10:21:46 +08:00
Nick Fisher
b5a7996769 add Dart Camera type 2024-09-21 10:18:36 +08:00
Nick Fisher
ddbb4ec5c6 rename CameraPtr to TCamera and use named arguments for setCameraLensProjection 2024-09-20 18:31:20 +08:00
Nick Fisher
7cb3080596 move MaterialInstance methods to own class 2024-09-20 18:18:08 +08:00
Nick Fisher
f6c91294aa rename setLayerEnabled to setLayerVisibility, add setVisibilityLayer method 2024-09-20 17:34:17 +08:00
Nick Fisher
412d333525 add PickDelegate 2024-09-20 14:54:18 +08:00
Nick Fisher
378dede02d add ThermionPickResult typedef 2024-09-20 14:53:48 +08:00
Nick Fisher
0e3db2635f update bindings 2024-09-20 14:53:34 +08:00
Nick Fisher
77147cbafd add setMaterialDepthWrite method 2024-09-20 14:53:16 +08:00
Nick Fisher
43e5fd7766 add setMaterialDepthWrite method 2024-09-20 14:53:06 +08:00
Nick Fisher
fc3ca3d6b3 update tests 2024-09-20 14:08:47 +08:00
Nick Fisher
51f52bb71b update stub 2024-09-20 14:08:26 +08:00
Nick Fisher
033c3f632d add createUnlitMaterialInstance, setMaterialPropertyInt methods to viewer interface 2024-09-20 14:08:16 +08:00
Nick Fisher
6d862ef36a update bindings 2024-09-20 14:07:37 +08:00
Nick Fisher
f816274fb9 replace some async methods with futures, fix setMaterialProperty4, update unproject, setMaterialPropertyInt, createUnlitMaterialInstance 2024-09-20 14:07:09 +08:00
Nick Fisher
0816286696 export geometry from thermion_dart 2024-09-20 14:05:14 +08:00
Nick Fisher
b421df5e2f remove image.mat from LFS 2024-09-20 14:04:59 +08:00
Nick Fisher
f6a136643d remove image.mat from LFS 2024-09-20 14:04:43 +08:00
Nick Fisher
b5e278183a update built unlit material 2024-09-20 14:04:27 +08:00
Nick Fisher
8e85042e37 remove old default paramsf rom UnlitMaterialProvider 2024-09-20 14:04:11 +08:00
Nick Fisher
f943756624 add setMaterialProperty for int, add create_unlit_material_instance, use double4 instead of float4 2024-09-20 14:03:50 +08:00
Nick Fisher
92814aed56 add setMaterialProperty for int, add create_unlit_material_instance 2024-09-20 14:03:29 +08:00
Nick Fisher
e8a1b976e1 set default layer for loadGlb to 0,. add setMaterialProperty for int, add SceneManager::createUnlitMaterialInstance 2024-09-20 14:02:30 +08:00
Nick Fisher
ef48dbce30 add base color/texture to unlit 2024-09-20 14:01:59 +08:00
Nick Fisher
196cc6b980 set default layer for loadGlb to 0,. add setMaterialProperty for int 2024-09-20 14:01:41 +08:00
Nick Fisher
1788c74d4c change float4 to double4 2024-09-20 14:01:02 +08:00
Nick Fisher
74e808d1dc update tests 2024-09-19 21:10:42 +08:00
Nick Fisher
72dacc5b21 update unproject texture to accept input texture 2024-09-19 21:10:28 +08:00
Nick Fisher
ebdaf65b89 update unproject texture to accept input texture 2024-09-19 21:10:22 +08:00
Nick Fisher
fa43149c98 update unproject texture to accept input texture 2024-09-19 21:10:10 +08:00
Nick Fisher
e8ae7193ee update unproject texture to accept input texture 2024-09-19 21:09:23 +08:00
Nick Fisher
aa21c0fb76 don't call clearBackgroundImage when setBackgroundImage is called (would deadlock) 2024-09-19 21:08:55 +08:00
Nick Fisher
10826466a4 set default material for geometry to baseColorIndex 0 2024-09-19 17:08:06 +08:00
Nick Fisher
3b2d7d8c47 depth pre-pass when projecting texture 2024-09-19 16:59:01 +08:00
Nick Fisher
212443cb8e add spot constructor 2024-09-19 13:44:17 +08:00
Nick Fisher
523141d54b add test cube texture image 2024-09-19 13:02:51 +08:00
Nick Fisher
d8a0859f16 update test 2024-09-19 13:00:40 +08:00
Nick Fisher
c70cc9abb5 add image methods to test helper 2024-09-19 12:53:44 +08:00
Nick Fisher
66b626e605 update showcase 2024-09-19 12:53:30 +08:00
Nick Fisher
4b28119318 test updates 2024-09-19 12:52:27 +08:00
Nick Fisher
666506aed0 widget updates 2024-09-19 12:52:16 +08:00
Nick Fisher
a55f63a428 increase min Dart SDK to 3.5 for .address FFI accessors 2024-09-19 12:51:30 +08:00
Nick Fisher
fb441e151c update ffigen with new headers 2024-09-19 12:51:09 +08:00
Nick Fisher
82d85386c0 fixes for createMaterialInstance 2024-09-19 12:50:57 +08:00
Nick Fisher
242b2f6faa gesture detector fixes 2024-09-19 09:19:23 +08:00
Nick Fisher
31d31dd583 ThermionViewer: add create/destroy materialinstance, add MaterialInstance property to createGeometry, priority/layer to loadGlbFromBuffer 2024-09-19 09:17:45 +08:00
Nick Fisher
f6077012b1 widget cleanup 2024-09-19 09:16:45 +08:00
Nick Fisher
18bb45dcd8 use TMaterialInstance for FFI API, add priority/layer params to load_glb_from_buffer 2024-09-19 09:16:06 +08:00
Nick Fisher
10b919e4f4 add priority/layer to FFI viewer, use struct for model matrix, add createUbershaderMaterialInstance and destroyMaterialInstance 2024-09-19 09:15:31 +08:00
Nick Fisher
98cedf821c update bindings 2024-09-19 09:14:10 +08:00
Nick Fisher
729f72e768 use SceneManager::LAYERS enum for Overlay, set priority/layer in loadGlbFromBuffer, add create/destroy material instance 2024-09-19 09:12:57 +08:00
Nick Fisher
d01861e949 use SceneManager::LAYERS enum for Overlay 2024-09-19 09:12:16 +08:00
Nick Fisher
adec48f253 use SceneManager::LAYERS enum for gizmo 2024-09-19 09:12:02 +08:00
Nick Fisher
27a8ce18d5 add priority/layer to load_glb_from_buffer 2024-09-19 09:11:40 +08:00
Nick Fisher
4b740a9f5a native types, add create/destroy material instance, add SceneManager::LAYERS enum 2024-09-19 09:11:20 +08:00
Nick Fisher
0b34b4546e refactor: native types 2024-09-19 09:10:24 +08:00
Nick Fisher
c17919cd97 refactor: native types 2024-09-19 09:09:42 +08:00
Nick Fisher
462f1f02bf refactor: move native types to own header, add methods for create/destroy material instance, add priority/layer to load_glb_from_buffer 2024-09-19 09:09:16 +08:00
Nick Fisher
ddc433a126 refactor: Dart types 2024-09-19 09:07:35 +08:00
Nick Fisher
ab649e860d update gitattr 2024-09-16 20:51:27 +08:00
Nick Fisher
676ddc3773 add texture methods (including unproject) 2024-09-16 20:51:14 +08:00
Nick Fisher
7d2cf3f91b don't store gizmo material in LFS 2024-09-16 11:25:21 +08:00
Nick Fisher
492d41d756 test update 2024-09-16 11:24:24 +08:00
Nick Fisher
191c2fd709 restructure viewer/types/helper folders, remove old WASM/web FFI interop, add SceneUpdated stream 2024-09-16 11:08:27 +08:00
Nick Fisher
027fc9ae04 update tests 2024-09-16 11:08:19 +08:00
Nick Fisher
b73d0e1e96 restructure viewer/types/helper folders, remove old WASM/web FFI interop, add SceneUpdated stream 2024-09-16 11:07:54 +08:00
Nick Fisher
315f2b63b9 gesture handler & delegate improvements 2024-09-13 18:32:02 +08:00
Nick Fisher
ad205679cb allow setting material property by name 2024-09-13 15:27:46 +08:00
Nick Fisher
6ef8d19e94 (flutter) export delegate gesture handler 2024-09-13 15:27:20 +08:00
Nick Fisher
6b0f25ca59 remove using namespace filament* 2024-09-13 15:27:01 +08:00
Nick Fisher
820d341f67 update bindings 2024-09-13 15:26:44 +08:00
Nick Fisher
70f904d54c allow setting material property by name 2024-09-13 15:20:45 +08:00
Nick Fisher
aee607908d remove using namespace filament* 2024-09-13 15:18:01 +08:00
Nick Fisher
c99c57e24d geometry receives/casts shadows by default 2024-09-13 14:52:20 +08:00
Nick Fisher
00d75be479 gesture handler improvements 2024-09-13 14:25:10 +08:00
Nick Fisher
3a9bd31919 remove superseded desktop/mobile gesture detector widget 2024-09-13 13:47:26 +08:00
Nick Fisher
51be1bce39 add pan camera implementation and fix velocity timer 2024-09-13 13:46:41 +08:00
Nick Fisher
822b8e14c1 add delegate-based implementations for gesture handlers 2024-09-13 13:30:00 +08:00
Nick Fisher
2ab30a7933 remove double sided from HighlightOverlay material 2024-09-13 11:09:09 +08:00
Nick Fisher
1be8a5e862 adjust gizmo size 2024-09-13 11:08:49 +08:00
Nick Fisher
98d61fa1b3 fix setCameraModelMatrix4 2024-09-13 10:36:24 +08:00
Nick Fisher
5b3d16a316 update bindings 2024-09-13 10:36:07 +08:00
Nick Fisher
b6863828b4 initialize viewportDimensions to (0,0) in ThermionViewer 2024-09-13 10:35:57 +08:00
Nick Fisher
98fefd0e52 fix winding order in GeometryHelper 2024-09-13 10:35:33 +08:00
Nick Fisher
d476d78e2b reduce size of gizmo 2024-09-13 10:35:13 +08:00
Nick Fisher
98113fb79f remove logging 2024-09-13 10:34:59 +08:00
Nick Fisher
90827ff012 culling fixes for HighlightOverlay 2024-09-13 10:34:47 +08:00
Nick Fisher
44078ba2e0 add v2 gesture handlers 2024-09-13 10:34:23 +08:00
Nick Fisher
866219ee2e add v2 gesture handlers 2024-09-13 10:34:12 +08:00
Nick Fisher
d785bd6b7e chore!: rename controller to viewer in gesture detector widgets 2024-09-12 08:54:07 +08:00
Nick Fisher
3e4e6653a8 update material building in Makefile 2024-09-11 23:09:56 +08:00
Nick Fisher
8d250e2664 update test 2024-09-11 23:09:41 +08:00
Nick Fisher
d455cea29e use opaque CameraPtr to set camera matrices/properties/etc 2024-09-11 23:09:27 +08:00
Nick Fisher
374e8eb910 rename getBoundingBox to getViewportBoundingBox and add camera methods 2024-09-11 23:08:07 +08:00
Nick Fisher
833fc74b4c rename getBoundingBox to getViewportBoundingBox 2024-09-11 23:07:47 +08:00
Nick Fisher
62417bfebd explicitly mark type of Camera for Gizmo 2024-09-11 23:07:29 +08:00
Nick Fisher
abc9ecbeee use opaque CameraPtr to set camera matrices/properties/etc 2024-09-11 23:07:03 +08:00
Nick Fisher
a1f71ab459 remove camera methods from FilamentViewer 2024-09-11 23:06:32 +08:00
Nick Fisher
d123929fb4 remove camera methods from FilamentViewer 2024-09-11 23:06:06 +08:00
Nick Fisher
141827c59c use opaque CameraPtr to set camera matrices/properties/etc 2024-09-11 23:05:40 +08:00
Nick Fisher
9fbcc9edaf mark all ffigen functions as leaf 2024-09-11 23:04:57 +08:00
Nick Fisher
83d9c5be30 remove update_viewport_and_camera_projection_ffi 2024-09-11 23:04:36 +08:00
Nick Fisher
6aadbbc3d0 remove update_viewport_and_camera_projection_ffi 2024-09-11 23:04:27 +08:00
Nick Fisher
d5bc865cf4 add matrix helper 2024-09-11 23:04:02 +08:00
Nick Fisher
d766733489 update stubbed ThermionViewer methods 2024-09-11 23:03:53 +08:00
Nick Fisher
f51c640d17 remove unused get_camera_position method 2024-09-11 20:01:21 +08:00
Nick Fisher
66f10b598a update stub ThermionViewer 2024-09-11 19:59:43 +08:00
Nick Fisher
59957650aa update bindings 2024-09-11 19:59:33 +08:00
Nick Fisher
d43fbd8964 add loadGlbFromBuffer implementation to ThermionViewerFFI 2024-09-11 19:59:25 +08:00
Nick Fisher
f5de4349bf add createGeometryWithNormals to SceneManager 2024-09-11 18:09:42 +08:00
Nick Fisher
f67e1a021d add createGeometryWithNormals to SceneManager 2024-09-11 18:09:14 +08:00
Nick Fisher
33f2c5fbf7 add normals to CustomGeometry implementation 2024-09-11 18:08:48 +08:00
Nick Fisher
6a7bde930d add normals to CustomGeometry interface 2024-09-11 18:08:35 +08:00
Nick Fisher
b827a2142b HighlightOverlay fixes 2024-09-11 18:08:13 +08:00
Nick Fisher
8bd2416bad don't set stencil highlight in Gizmo 2024-09-11 18:07:38 +08:00
Nick Fisher
3684eb248c add create_geometry_with_normals method 2024-09-11 18:07:17 +08:00
Nick Fisher
9077632d1b add create_geometry_with_normals method 2024-09-11 18:07:07 +08:00
Nick Fisher
d40261ae29 add create_geometry_with_normals_ffi method, switch load_glb_from_buffer type to uint8_t for Dart leaf compat and add keepData param 2024-09-11 18:06:50 +08:00
Nick Fisher
77dbb574c7 add create_geometry_with_normals_ffi method, switch load_glb_from_buffer type to uint8_t for Dart leaf compat and add keepData param 2024-09-11 18:06:31 +08:00
Nick Fisher
89a660144e update test helpers 2024-09-11 18:05:36 +08:00
Nick Fisher
7554af5d41 (flutter) add experimental GestureHandler widget and decouple from ThermionGestureDetectorDesktop 2024-09-11 18:05:24 +08:00
Nick Fisher
4b742fea2d (flutter) add experimental GestureHandler widget and decouple from ThermionGestureDetectorDesktop 2024-09-11 18:05:18 +08:00
Nick Fisher
a6c6cff8b6 add loadGlbFromBuffer method and normals param to ThermionViewer 2024-09-11 18:04:36 +08:00
Nick Fisher
5813753ef9 (flutter) set enablePicking to false by default in ThermionGestureDetector 2024-09-11 18:03:52 +08:00
Nick Fisher
cf0dad2631 (flutter) add const FlutterWebOptions 2024-09-11 18:03:29 +08:00
Nick Fisher
cfddb99a8b (flutter) add CameraOrientationWidget 2024-09-11 18:01:45 +08:00
Nick Fisher
845d5bf223 (flutter) add const constructor for flutter options 2024-09-11 18:01:33 +08:00
Nick Fisher
dbbd972909 add GeometryHelper 2024-09-11 17:54:21 +08:00
Nick Fisher
aba3ba24af (flutter) add CameraOrientationWidget 2024-09-11 17:54:08 +08:00
Nick Fisher
81c27dde9f feat: parent the cloned entity instance when setting stencil highlight 2024-09-08 13:55:25 +08:00
Nick Fisher
476b552fd0 feat: add getAncestor method 2024-09-08 13:52:33 +08:00
Nick Fisher
5c4d5d4b9d feat: add getAncestor method 2024-09-08 13:52:04 +08:00
Nick Fisher
ae5ef2c286 update bindings 2024-09-07 18:01:39 +08:00
Nick Fisher
b0f3c8a087 feat: set stencil highlight on gizmo attach 2024-09-07 18:01:30 +08:00
Nick Fisher
43fc7ffc65 update tests 2024-09-07 18:01:03 +08:00
Nick Fisher
ee24fca20e feat: move createGeometry to SceneManager, add queueRelativePositionUpdateFromViewportVector and removeStencilHighlight 2024-09-07 18:00:50 +08:00
Nick Fisher
a00fdbe042 chore: remove createGeometry method from FilamentViewer, set default view blend mode 2024-09-07 17:59:55 +08:00
Nick Fisher
c2eb28a8f5 fix: properly destroy entities/material/etc in Gizmo on destruction, remove custom scene creation logic 2024-09-07 17:59:03 +08:00
Nick Fisher
4c6c20f3de feat: move HighlightOverlay to nested class, move createGeometry to SceneManager, add queueRelativePositionUpdateFromViewportVector 2024-09-07 17:57:38 +08:00
Nick Fisher
b2ae8135c6 feat: add removeStencilHighlight, accept color param for setStencilHighlight, queuePositionUpdateFromViewportCoords to ThermionDartApi 2024-09-07 17:55:40 +08:00
Nick Fisher
aecde97200 feat: add removeStencilHighlight, queuePositionUpdateFromViewportCoords to ThermionViewer 2024-09-07 17:54:42 +08:00
Nick Fisher
331caccc22 chore: delete old unlit_opaque material 2024-09-07 17:54:12 +08:00
Nick Fisher
63e2b74bb1 chore: rebuild unlit material 2024-09-07 17:53:55 +08:00
Nick Fisher
433f03161c feat: add scale parameter to unlit material 2024-09-07 17:53:41 +08:00
Nick Fisher
6ec84b6249 fix: add Fence to capture() and set stencil buffer by default 2024-09-06 13:03:51 +08:00
Nick Fisher
29b6a48816 test: add test cube.glb 2024-09-06 12:44:54 +08:00
Nick Fisher
00755fd417 chore: remove old materials Makefile 2024-09-06 12:44:40 +08:00
Nick Fisher
9c5156e41a feat: add flag for keepData for gltf instancing, add highlightScene, add stencilHighlight method 2024-09-06 12:36:16 +08:00
Nick Fisher
226c45ee2e chore: minor widget fixes 2024-09-05 22:22:25 +08:00
Nick Fisher
e04390b2fe feat: add grid material 2024-09-05 22:21:19 +08:00
Nick Fisher
9a87eb4d9b feat: allow passing null options to ThermionWidget 2024-09-05 22:21:09 +08:00
Nick Fisher
2284d9d081 feat: grid uses own material 2024-09-05 22:20:27 +08:00
Nick Fisher
cf61369a8d chore: clean up old commented code 2024-09-05 22:20:11 +08:00
Nick Fisher
4e14bd2396 fix: ignore pick results directly on axis 2024-09-05 22:19:54 +08:00
Nick Fisher
0798d5c071 feat: add grid material 2024-09-05 22:19:27 +08:00
Nick Fisher
80d5b1d23f feat: expose setLightDirection and setLightPosition 2024-09-05 22:18:54 +08:00
Nick Fisher
0bd87288d1 chore: update binding 2024-09-05 17:53:24 +08:00
Nick Fisher
51e06c2eb9 chore: (js) stub missing methods 2024-09-05 17:52:53 +08:00
Nick Fisher
b29663923d chore: (wasm) add missing interop methods 2024-09-05 17:52:40 +08:00
Nick Fisher
f57a323cda feat: (flutter) (web) if importCanvasAsWidget is false, render transparency 2024-09-05 17:52:19 +08:00
Nick Fisher
03ffe85113 chore: stub ThermionWidget methods 2024-09-05 17:51:36 +08:00
Nick Fisher
4edc8aa85b feat: (flutter) move DPR calculation to resizeTexture and add createViewerWithOptions method to ThermionFlutterFFI 2024-09-05 17:51:22 +08:00
Nick Fisher
04ecb4d56f fix: (flutter) pass ThermionFlutterOptions to ThermionWidget, use dpr for resizeTexture, delete unnecessary TransparencyPainter class 2024-09-05 17:49:02 +08:00
Nick Fisher
0ac0a92024 feat: add createViewerWithOptions to ThermionFlutterPlugin and mark createViewer as deprecated 2024-09-05 17:47:54 +08:00
Nick Fisher
ae1e14ddb7 feat: add createViewerWithOptions to ThermionFlutterPlugin and mark createViewer as deprecated 2024-09-05 17:47:41 +08:00
Nick Fisher
aa246ab63a feat: (flutter) (web) use options to determine whether to create canvas, and set fixed position + offset 2024-09-05 17:45:49 +08:00
Nick Fisher
d4350d7d99 test: update viewport gizmo test 2024-09-05 17:44:18 +08:00
Nick Fisher
f07fe6084a chore: (flutter) export platform interface from thermion_flutter package 2024-09-05 17:43:58 +08:00
Nick Fisher
4e29055a20 chore: stub new methods 2024-09-05 17:43:35 +08:00
Nick Fisher
6d0c06a853 doc: pixelRatio 2024-09-05 17:43:19 +08:00
Nick Fisher
abe6e1fcb8 feat: add ThermionFlutterOptions classes, rename interface parameter for offsetTop and ensure pixelRatio is passed to resizeTexture 2024-09-05 17:43:04 +08:00
Nick Fisher
683105c4f7 fix: emscripten export visibility for add_light 2024-09-05 17:42:17 +08:00
Nick Fisher
6f2331582c chore: use float instead of float32_t in FilamentViewer 2024-09-05 17:41:55 +08:00
Nick Fisher
f0f97e310c chore: add nested PickCallbackHandler to Gizmo 2024-09-05 17:41:24 +08:00
Nick Fisher
2331f2c31a chore: update Makefile to add missing headers to resgen files 2024-08-27 21:51:29 +08:00
Nick Fisher
704b7f6734 fix: (flutter/web) use window.devicePixelRatio for viewport 2024-08-27 21:51:09 +08:00
Nick Fisher
7ac7ae43ab fix: (wasm) use correct coords for pick, free memory correctly, keep pixelratio copy 2024-08-27 21:50:07 +08:00
Nick Fisher
d52b23d6b5 fix: (flutter) desktop gesture detector changes for new Gizmo methods 2024-08-27 21:49:28 +08:00
Nick Fisher
8b17916cd9 chore: Dart Gizmo class cleanup 2024-08-27 21:49:04 +08:00
Nick Fisher
4a0f4e3ac8 feat: add setGizmoVisibility/pickGizmo methods to ThermionViewer 2024-08-27 21:48:27 +08:00
Nick Fisher
85116f43a2 feat: remove gizmo view references, exclude gizmo entities from picking, add createIbl 2024-08-27 21:47:56 +08:00
Nick Fisher
3ecb8920ea feat: createIbl 2024-08-27 21:47:02 +08:00
Nick Fisher
8923d97129 chore: init SceneManager pointers to nullptr 2024-08-27 21:46:47 +08:00
Nick Fisher
375e1cc887 fix: add more nan checks for gizmo manipulation 2024-08-27 21:46:21 +08:00
Nick Fisher
78dcbc8bb9 feat: expose API methods for create_ibl, pick/set gizmo visibility 2024-08-27 21:45:49 +08:00
Nick Fisher
a3f7b98bf7 feat: create transparent overlay for gizmo for easier picking 2024-08-27 21:45:19 +08:00
Nick Fisher
12b61e8767 feat: rescale gizmo based on distance from camera 2024-08-27 16:54:40 +08:00
Nick Fisher
0e3b014c2c feat: rescale gizmo based on distance from camera 2024-08-27 16:50:54 +08:00
Nick Fisher
10db8c39f3 fix: add check for nan NDC coordinates for viewport translation 2024-08-25 21:54:08 +08:00
Nick Fisher
371bcb3706 fix stub methods 2024-08-24 16:28:12 +08:00
Nick Fisher
714c575409 add implementations to JS bridge/shim classes 2024-08-24 16:26:05 +08:00
Nick Fisher
c0941e3b7f add missing methods to wasm viewer 2024-08-24 16:25:37 +08:00
Nick Fisher
026acb7467 feat: highlight gizmo on hover 2024-08-24 16:25:17 +08:00
Nick Fisher
3c05cc6a43 add implementations to FFI viewer 2024-08-24 16:24:59 +08:00
Nick Fisher
f1a2926bdf fix!: (flutter) pass pixelRatio to createTexture 2024-08-24 16:24:06 +08:00
Nick Fisher
88e8a138ac (flutter) (web) initialize viewer to 1x1 then resize on createTexture 2024-08-24 16:23:54 +08:00
Nick Fisher
53d0301828 feat!: (flutter) (web) upgrade package:web dep to 1.0.0 2024-08-24 16:23:00 +08:00
Nick Fisher
b10fec1963 fix!: (flutter) pass pixelRatio to createTexture 2024-08-24 16:22:31 +08:00
Nick Fisher
08e1eb7778 feat: expose setLayerEnabled, viewportDimensions and getCameraFov on ThermionView 2024-08-24 16:22:12 +08:00
Nick Fisher
d6713c090c stub out new methods 2024-08-24 16:21:35 +08:00
Nick Fisher
497ecbf881 fix!: (flutter) pass pixelRatio to createTexture 2024-08-24 16:20:06 +08:00
Nick Fisher
6f7d03737e fix!: (flutter) pass pixelRatio to createTexture 2024-08-24 16:19:50 +08:00
Nick Fisher
ad60c6bbe1 chore: update bindings 2024-08-24 16:19:07 +08:00
Nick Fisher
92fdda722b chore: add viewport test 2024-08-24 16:18:53 +08:00
Nick Fisher
3cc876f972 feat: layers, grid 2024-08-24 16:18:23 +08:00
Nick Fisher
7d1e706045 feat: layers, grid 2024-08-24 16:18:12 +08:00
Nick Fisher
11756fcedd feat: ignore grid overlay and gizmo center when picking, implement highlighting 2024-08-24 16:17:34 +08:00
Nick Fisher
2e1f2cd56d feat: SceneManager updates (setLayer, add grid, queueRelativePositionUpdateWorld 2024-08-24 16:02:54 +08:00
Nick Fisher
c08611b2c3 feat: expose set_layer_enabled, get_camera_fov and queue_relative_position_updateg_world_axis to ThermionDartApi.h 2024-08-24 16:02:06 +08:00
Nick Fisher
f87f89427d feat: add getCameraFov to FilamentViewer 2024-08-24 16:01:03 +08:00
Nick Fisher
c3319ebbf3 feat: add new grid overlay files to web CmakeLists 2024-08-24 16:00:15 +08:00
Nick Fisher
f7b765c5d0 chore: rebuild materials 2024-08-24 15:59:55 +08:00
Nick Fisher
9512b74008 fix: update material output path in Makefile 2024-08-24 15:59:36 +08:00
Nick Fisher
5a3517f953 add grid overlay 2024-08-24 15:59:04 +08:00
Nick Fisher
731c4981c9 use inactive/active color gizmo 2024-08-24 15:58:49 +08:00
Nick Fisher
8f20a8a859 chore: don't use shader to overlay gizmo 2024-08-24 15:21:36 +08:00
Nick Fisher
7693a0fe14 feat: re-implement (native) Gizmo class, expose preserveScaling parameter for setParent, add methods for getting viewport bounding box from renderable entity 2024-08-22 18:04:06 +08:00
Nick Fisher
98c3676fdf fix: (web) add emscripten guards for flushAndWait call when swapchain destroyed 2024-08-21 17:18:37 +08:00
Nick Fisher
d7664a9746 feat!: (web) (flutter) create canvas when createViewer is called (no longer need to manually add canvas element to web HTML) 2024-08-21 17:17:58 +08:00
Nick Fisher
d868fd6970 feat: add capture() function and expose viewportDimensions on ThermionViewer (allows easier saving of captured images to PNG) 2024-08-21 14:33:48 +08:00
Nick Fisher
300396b97e feat: (web) allow table growth in emscripten module for passing C-style callback function pointers 2024-08-21 14:30:17 +08:00
Nick Fisher
1d8faa70a1 feat: (web) add capture() method and missing camera navigation controls 2024-08-21 14:29:40 +08:00
Nick Fisher
1051b1bb0e feat!: resize canvas on web 2024-08-17 11:43:43 +08:00
Nick Fisher
c367824041 feat!: update web/http dependencies 2024-08-17 11:43:03 +08:00
Nick Fisher
81cedf0d43 feat: download WASM module directly on web (no need to embed in index.html any more) and expose updateViewportAndCameraProjection 2024-08-17 11:42:25 +08:00
Nick Fisher
16c6203b97 feat: add startOffset parameter to gltf playAnimation 2024-07-29 16:13:45 +08:00
Nick Fisher
b7c0eeb7b4 chore(release): publish packages
- thermion_dart@0.1.3
 - thermion_flutter_ffi@0.1.0+12
 - thermion_flutter_web@0.0.3
 - thermion_flutter_platform_interface@0.1.0+11
 - thermion_flutter@0.1.1+13
2024-07-23 09:40:05 +08:00
Nick Fisher
fd31b4dcad docs: rename examples to showcase 2024-07-23 09:38:26 +08:00
Nick Fisher
41bf9ededa feat: add clearMorphAnimationData function 2024-07-23 09:38:26 +08:00
Hannes Hultergård
d745712650 Add example files that can be parsed by pub.dev 2024-07-23 09:38:26 +08:00
Nick Fisher
1df732be7c chore(release): publish packages
- thermion_flutter_ffi@0.1.0+11
 - thermion_flutter@0.1.1+12
2024-07-23 09:38:26 +08:00
Nick Fisher
8b413eca52 fix: add logging dependency 2024-07-23 09:38:25 +08:00
Nick Fisher
3597077d39 chore(release): publish packages
- thermion_dart@0.1.2
 - thermion_flutter_ffi@0.1.0+10
 - thermion_flutter_web@0.0.2
 - thermion_flutter@0.1.1+11
 - thermion_flutter_platform_interface@0.1.0+10
2024-07-23 09:38:25 +08:00
Nick Fisher
7704a06601 fix: manually remove leading slash for compiler path on Windows when building for Android 2024-07-23 09:38:25 +08:00
Paul Ampadu
7b3ad027bf Update quickstart.mdx 2024-07-23 09:38:25 +08:00
Nick Fisher
cde3af08aa fix: web/JS bool checks need to compare to int 2024-07-23 09:38:25 +08:00
Nick Fisher
7418fb867d feat: allow passing assetPathPrefix to ThermionViewerWasm to account for Flutter build asset paths 2024-07-23 09:38:25 +08:00
Nick Fisher
ce71e09f65 fix: shadow JS<->WASM bridge methods 2024-07-23 09:38:25 +08:00
Nick Fisher
5dec13f00b chore(release): publish packages
- thermion_dart@0.1.1+5
 - thermion_flutter_web@0.0.1+9
 - thermion_flutter@0.1.1+10
 - thermion_flutter_platform_interface@0.1.0+9
 - thermion_flutter_ffi@0.1.0+9
2024-07-04 14:44:04 +08:00
Nick Fisher
7464c05483 Merge pull request #55 from nmfisher/develop
feat: shadows, web, docs, image material
2024-07-04 16:42:25 +10:00
Nick Fisher
7b97b2e6c3 save fetched resources to IndexedDB on web 2024-07-04 14:19:37 +08:00
Nick Fisher
168f46cf56 add shadow methods to wasm/js viewers 2024-07-04 14:19:04 +08:00
Nick Fisher
5622b0ce9f chore(release): publish packages
- thermion_dart@0.1.1+4
 - thermion_flutter_web@0.0.1+8
 - thermion_flutter@0.1.1+9
 - thermion_flutter_platform_interface@0.1.0+8
 - thermion_flutter_ffi@0.1.0+8
2024-07-02 16:18:17 +08:00
Nick Fisher
c7a0b2f5cc fix: defer creating image entity/material/etc until actually requested
feat: expose shadow options
2024-07-02 16:17:36 +08:00
Nick Fisher
7546b2a6c5 Merge pull request #51 from payl-ampa/patch-1
Update quickstart.mdx - Simple link fix
2024-06-30 16:15:39 +10:00
Paul Ampadu
e363c82f2d Update quickstart.mdx
Simple link fix
2024-06-29 00:13:59 -07:00
Nick Fisher
b9643dbd94 Merge pull request #49 from nmfisher/develop
docs: Update docs
2024-06-28 00:03:18 +10:00
Nick Fisher
2664e08eb3 update README 2024-06-27 21:57:23 +08:00
Nick Fisher
733ba7d439 docs: add discord link 2024-06-27 21:52:34 +08:00
Nick Fisher
2255be3a86 Merge pull request #48 from nmfisher/develop
docs: update docs
2024-06-27 23:47:10 +10:00
Nick Fisher
03f8e2e353 docs: update docs 2024-06-27 21:46:06 +08:00
Nick Fisher
be1bf3f3ca Merge pull request #47 from nmfisher/develop
docs: update docs with sidebar links
2024-06-27 23:36:22 +10:00
Nick Fisher
5f1334660e docs: update docs with sidebar links 2024-06-27 21:35:44 +08:00
Nick Fisher
ec381f43ef Merge pull request #46 from nmfisher/develop
Documentation
2024-06-27 23:16:10 +10:00
Nick Fisher
eba843535b docs: update quickstart 2024-06-27 21:15:13 +08:00
Nick Fisher
4fa286bd60 docs: update links 2024-06-27 21:14:23 +08:00
Nick Fisher
7293b0f8dd Merge pull request #45 from nmfisher/develop
Documentation
2024-06-27 23:13:20 +10:00
Nick Fisher
0279ee1985 doc: update head README 2024-06-27 21:12:16 +08:00
Nick Fisher
83053c60f9 Merge pull request #44 from nmfisher/develop
Merge develop
2024-06-27 23:10:51 +10:00
Nick Fisher
ad28e5484c chore(release): publish packages
- thermion_dart@0.1.1+3
 - thermion_flutter@0.1.1+8
 - thermion_flutter_web@0.0.1+7
 - thermion_flutter_platform_interface@0.1.0+7
 - thermion_flutter_ffi@0.1.0+7
2024-06-27 21:06:46 +08:00
Nick Fisher
b91d629b90 docs: update homepage links and minor documentation updates 2024-06-27 21:05:44 +08:00
Nick Fisher
96df3a0f35 chore: remove binary filamat files from repo 2024-06-26 15:50:22 +10:00
Nick Fisher
de8fb5e2d0 docs: remove old GETTING_STARTED and update quickstart with new repo link 2024-06-26 15:49:11 +10:00
Nick Fisher
51d79c7626 fix: bump ffigen dependency version & regenerate bindings (and revert to ffi.Int rather than ffi.Int32) 2024-06-26 12:46:56 +08:00
Nick Fisher
f7c22d2480 docs: update quickstart 2024-06-26 12:46:56 +08:00
Nick Fisher
b117a4a19c chore: move examples to separate repository 2024-06-26 12:46:56 +08:00
Nick Fisher
4955837518 chore(release): publish packages
- thermion_dart@0.1.1+2
 - thermion_flutter@0.1.1+7
 - thermion_flutter_ffi@0.1.0+6
 - thermion_flutter_platform_interface@0.1.0+6
 - thermion_flutter_web@0.0.1+6
2024-06-26 00:12:32 +08:00
Nick Fisher
0e9cf76592 chore(release): publish packages
- thermion_dart@0.1.1-dev.0+2
 - thermion_flutter@0.1.1-dev.0+7
 - thermion_flutter_platform_interface@0.1.0-dev.0+6
 - thermion_flutter_web@0.0.1-dev.0+6
 - thermion_flutter_ffi@0.1.0-dev.0+6
2024-06-26 00:10:56 +08:00
Nick Fisher
368a341b76 docs: update custom native_toolchain ref for Windows 2024-06-26 01:59:06 +10:00
Nick Fisher
5cc41a9115 docs: update 2024-06-26 01:58:35 +10:00
Nick Fisher
368ce83380 rename thermion_filament namespace to thermion_flutter for Windows 2024-06-26 01:51:31 +10:00
Nick Fisher
683b79c9a0 fix: add ResourceBuffer header directly to Windows build so I don't have to fiddle around getting the CMake path right 2024-06-26 01:50:53 +10:00
Nick Fisher
81be5e25f7 fix: revert to std::thread (pthreads not easily available on Windows) 2024-06-26 01:50:22 +10:00
Nick Fisher
e8e1684694 fix: on Windows, pass static libs via -l rather than custom linkWith property so build.dart stays compatible between published & custom versions 2024-06-26 01:49:37 +10:00
Nick Fisher
d13ecde7b6 update Windows docs 2024-06-26 01:48:08 +10:00
Nick Fisher
08c3af405e Merge pull request #43 from nmfisher/develop
Develop
2024-06-25 21:16:31 +10:00
Nick Fisher
0571f3e653 docs: add Android & Windows pages 2024-06-25 19:04:18 +08:00
Nick Fisher
f351512a78 Merge pull request #42 from Hannnes1/license
Add root LICENSE file
2024-06-25 10:48:00 +10:00
Hannes Hultergård
315b898d7c Add root LICENSE file 2024-06-24 08:28:42 +02:00
Nick Fisher
c635bd3813 chore(release): publish packages
- thermion_dart@0.1.1+1
 - thermion_flutter@0.1.1+6
 - thermion_flutter_web@0.0.1+5
 - thermion_flutter_platform_interface@0.1.0+5
 - thermion_flutter_ffi@0.1.0+5
2024-06-22 10:29:41 +08:00
Nick Fisher
b4f9a5c2af docs: update with links to playground 2024-06-22 10:29:08 +08:00
Nick Fisher
0222ba2d6c chore(release): publish packages
- thermion_dart@0.1.1
2024-06-21 17:18:43 +08:00
Nick Fisher
a066df55f9 chore(release): publish packages
- thermion_dart@0.1.0+4
 - thermion_flutter_web@0.0.1+4
 - thermion_flutter_platform_interface@0.1.0+4
 - thermion_flutter@0.1.1+5
 - thermion_flutter_ffi@0.1.0+4
2024-06-21 16:52:19 +08:00
Nick Fisher
aa85dcfa20 fix: add dummy asset to build.dart on Linux builds so we can use the package on a Linux host 2024-06-21 16:52:10 +08:00
Nick Fisher
a3370a775f chore(release): publish packages
- thermion_dart@0.1.0+3
 - thermion_flutter_web@0.0.1+3
 - thermion_flutter@0.1.1+4
 - thermion_flutter_platform_interface@0.1.0+3
 - thermion_flutter_ffi@0.1.0+3
2024-06-21 16:21:02 +08:00
Nick Fisher
b889fddcfa fix: exit build.dart early on Linux builds so we can use the package on a Linux host 2024-06-21 16:20:42 +08:00
Nick Fisher
090c36c92b chore(release): publish packages
- thermion_dart@0.1.0+2
 - thermion_flutter_ffi@0.1.0+2
 - thermion_flutter_web@0.0.1+2
 - thermion_flutter@0.1.1+3
 - thermion_flutter_platform_interface@0.1.0+2
2024-06-21 15:24:19 +08:00
Nick Fisher
9eb2285433 refactor: rearrange some stubs/imports for easier web WASM deployment 2024-06-21 15:20:08 +08:00
Nick Fisher
c28c518057 chore(release): publish packages
- thermion_flutter@0.1.1+2
2024-06-21 14:09:24 +08:00
Nick Fisher
81ffbdd824 fix: update Flutter example project to use new API
fix: don't keep example project Podfile.lock in repo
2024-06-21 11:46:25 +08:00
Nick Fisher
55b5c7068e fix: add logging dependency to thermion_flutter 2024-06-21 11:30:23 +08:00
Nick Fisher
78a758f5d4 chore(release): publish packages
- thermion_dart@0.1.0+1
 - thermion_flutter@0.1.1+1
 - thermion_flutter_web@0.0.1+1
 - thermion_flutter_platform_interface@0.1.0+1
 - thermion_flutter_ffi@0.1.0+1
2024-06-21 11:26:34 +08:00
Nick Fisher
fd19fc1c68 fix: use preserveDrawingBuffer=true on web
using createImageFromImageBitmap to import the canvas directly into a Flutter app results in flickering unless this is set to true (as the drawing buffer is otherwise cleared after each render, which may not line up with Flutter's ticker
2024-06-21 11:19:16 +08:00
Nick Fisher
cc3020c268 remove dependency_overrides 2024-06-21 11:19:16 +08:00
Nick Fisher
6902c27d02 fix: catch exception if gizmo unavailable in ThermionGestureDestectorDesktop 2024-06-21 11:19:16 +08:00
Nick Fisher
0ec7e2af95 refactor: export ThermionViewerWasm for web and hide FFI/WASM version 2024-06-21 11:19:16 +08:00
Nick Fisher
c6c918907a rename web interop classes 2024-06-21 11:19:16 +08:00
Nick Fisher
d3891e481e fix log dir creation in build.dart 2024-06-21 11:19:16 +08:00
Nick Fisher
563ffd2902 Merge branch 'develop' of github.com:nmfisher/thermion into develop 2024-06-21 11:18:33 +08:00
Nick Fisher
2ce5cb1f62 Merge pull request #41 from Hannnes1/feature/melos
Add melos
2024-06-21 02:08:34 +10:00
Hannes
842c6b1581 Remove unnecessary files from git 2024-06-20 09:07:53 +02:00
Hannes
b833b2d288 Add melos 2024-06-19 15:47:00 +02:00
Nick Fisher
013730b108 destroy existing texture if it exists but size does match requested dimensions when createTexture is called 2024-06-19 16:39:10 +08:00
Nick Fisher
846f45bb63 don't destroy dummy image texture if clearBackgroundImage has been called without setBackgroundImage having been called first 2024-06-19 16:38:14 +08:00
Nick Fisher
735612af66 bump pubspec dependency versions 2024-06-19 13:39:43 +08:00
Nick Fisher
e823083e86 update quickstart to use new API 2024-06-19 13:32:40 +08:00
Nick Fisher
ae15f2114e update quickstart iOS project 2024-06-19 13:32:16 +08:00
Nick Fisher
cb17bf0ffd increment version number for thermion_flutter 2024-06-19 13:32:03 +08:00
Nick Fisher
84101b457f add onDispose() implementations for web viewers 2024-06-19 13:31:09 +08:00
Nick Fisher
aefedf8c00 CHANGELOG 2024-06-19 13:24:08 +08:00
Nick Fisher
ab793387bc use Unmanaged.passRetained rather than passUnretained for ThermionDartTexture 2024-06-19 13:21:47 +08:00
Nick Fisher
534e5b46a8 (Swift/macos) dont make ThermionFlutterTexture inherit from ThermionDartTexture; reuse render callbacks/resource loader functions; add check for concurrent calls to destroyTexture 2024-06-19 13:20:04 +08:00
Nick Fisher
3468e7da55 dont make ThermionFlutterTexture inherit from ThermionDartTexture 2024-06-19 13:19:04 +08:00
Nick Fisher
1f58717635 only require ThermionViewer to be passed to ThermionWidget 2024-06-19 13:17:11 +08:00
Nick Fisher
7dc0e91e6b fix RenderLoop to use (C) ResourceLoaderWrapper and destroy RL when viewer is destroyed 2024-06-19 13:16:33 +08:00
Nick Fisher
49b8e7023b free all resources in FilamentViewer destructor 2024-06-19 13:15:36 +08:00
Nick Fisher
a455e4f88a construct (C++) ResourceLoaderWrapperImpl from (C) ResourceLoaderWrapper 2024-06-19 13:13:36 +08:00
Nick Fisher
3785580b01 free all resources in SceneManager 2024-06-19 13:12:28 +08:00
Nick Fisher
6cfa86fe75 make ResourceBuffer.hpp C++ only and add constructor to create from C struct 2024-06-19 13:11:01 +08:00
Nick Fisher
dc70909715 move Scene class to own file and add dispose() method 2024-06-19 13:04:34 +08:00
Nick Fisher
89f49f98c4 replace print with Logger 2024-06-19 13:01:20 +08:00
Nick Fisher
025e39318d add implementation for onDispose to ThermionViewerFFI 2024-06-19 12:59:16 +08:00
Nick Fisher
cfa7805970 add onDispose method to ThermionViewer to register callbacks on disposal 2024-06-19 12:57:49 +08:00
Nick Fisher
31e68df1c5 make ThermionFlutterPlugin static, remove dispose() and add internal listener for ThermionViewer.onDispose 2024-06-19 12:57:16 +08:00
Nick Fisher
8e75555540 use C header for ResourceBuffer in Swift bridging 2024-06-19 12:52:58 +08:00
Nick Fisher
c8fa220362 remove dispose()/viewer getter from platform interface, rename initialize to createViewer 2024-06-19 12:52:39 +08:00
Nick Fisher
8e892a1f23 log to file for build.dart, check for SUCCESS token 2024-06-19 12:51:39 +08:00
Nick Fisher
ee8769b7d7 use C header for ResourceBuffer in Swift bridging 2024-06-19 12:50:29 +08:00
Nick Fisher
7ecf097861 reduce quickstart Dart SDK min version 2024-06-18 16:29:53 +08:00
Nick Fisher
4f4be9b7d7 rename Flutter method channels 2024-06-18 16:29:19 +08:00
Nick Fisher
338fe3bb9f Merge branch 'master' into develop 2024-06-17 14:49:02 +08:00
Nick Fisher
04b1498cd9 Merge pull request #39 from 1l0/fix-link
Fix broken links
2024-06-17 16:48:44 +10:00
Nick Fisher
1d3dab88d1 bump pubspec version 2024-06-17 14:48:13 +08:00
1l0
ec16f97023 fix link 2024-06-17 15:36:57 +09:00
Nick Fisher
436b978537 rename/export Flutter widgets 2024-06-17 13:19:24 +08:00
Nick Fisher
e1aad2425f merge 2024-06-17 12:03:54 +08:00
Nick Fisher
bf0b5762f5 Merge branch 'master' of github.com:nmfisher/thermion 2024-06-17 12:02:36 +08:00
Nick Fisher
3c20b2aa6b documentation 2024-06-17 12:01:30 +08:00
Nick Fisher
97e1198b5c update docs 2024-06-17 11:39:41 +08:00
Nick Fisher
14c87e7b38 Flutter/Android - create local copy of headers 2024-06-17 11:30:03 +08:00
Nick Fisher
5e5e81a107 android fixes 2024-06-17 11:23:18 +08:00
Nick Fisher
dd646e0e5c remove pre-release tag from pub versions 2024-06-17 11:07:34 +08:00
Nick Fisher
9b19fc932d export thermion_widget 2024-06-17 10:40:24 +08:00
Nick Fisher
1a3b3d0768 use older API for build.dart 2024-06-17 10:40:11 +08:00
Nick Fisher
49122cd6ce clean up quickstart project 2024-06-17 10:39:55 +08:00
Nick Fisher
c037fbaed5 doc update 2024-06-17 10:38:13 +08:00
Nick Fisher
5edfd97a20 doc update 2024-06-17 10:37:39 +08:00
Nick Fisher
05cc43434a doc update 2024-06-17 10:14:36 +08:00
Nick Fisher
f3d043d824 doc update 2024-06-17 10:11:32 +08:00
Nick Fisher
a6139f7eeb doc update 2024-06-17 10:09:57 +08:00
Nick Fisher
701519f3a7 doc update 2024-06-17 10:09:25 +08:00
Nick Fisher
44842ecec1 doc fixes 2024-06-16 15:11:49 +08:00
Nick Fisher
2787f8529b doc fixes 2024-06-16 15:10:41 +08:00
Nick Fisher
24866ed381 remove pubspec.lock 2024-06-16 15:09:37 +08:00
Nick Fisher
29e7e6b409 dont commit pubspec.lock 2024-06-16 15:04:38 +08:00
Nick Fisher
91e41c4eb3 various fixes for publishing all packages to pub.dev 2024-06-16 15:03:52 +08:00
Nick Fisher
19c29adb97 cleanup for publication to pub.dev 2024-06-16 14:24:06 +08:00
Nick Fisher
716da54855 documentation 2024-06-16 14:23:43 +08:00
Nick Fisher
2396a1c1b3 use published native_toolchain_c (required by pub.dev for publication) 2024-06-16 14:23:32 +08:00
Nick Fisher
217197c7d1 add Apache 2.0 licence 2024-06-16 14:23:11 +08:00
Nick Fisher
a616a76eba update thermion_dart CHANGELOG 2024-06-16 13:56:34 +08:00
Nick Fisher
23e0f32931 rename 2024-06-16 13:56:21 +08:00
Nick Fisher
68a67dad19 remove old library dirs 2024-06-16 13:51:16 +08:00
Nick Fisher
af7b2e03b7 delete test outputs 2024-06-16 13:32:58 +08:00
Nick Fisher
cf667c63c5 set thermion_dart pubspec version 2024-06-16 13:30:35 +08:00
Nick Fisher
4a93111e4d Merge pull request #36 from nmfisher/feature/rename_and_documentation
Rename package and add documentation
2024-06-16 15:25:49 +10:00
Nick Fisher
556f46b4e7 docs 2024-06-16 13:22:56 +08:00
Nick Fisher
f8edbc8e62 more renaming & documentation 2024-06-16 13:22:56 +08:00
Nick Fisher
7ec00922fb renaming and docs 2024-06-16 13:22:56 +08:00
Nick Fisher
52f4e55b1a update minimum requirement 2024-06-16 13:22:56 +08:00
Nick Fisher
d7e65930b4 docs 2024-06-16 13:22:56 +08:00
Nick Fisher
13df1a75a1 docs 2024-06-16 13:22:56 +08:00
Nick Fisher
1e1630c4d7 logo 2024-06-16 13:22:56 +08:00
Nick Fisher
d5e69e2683 docs 2024-06-16 13:22:54 +08:00
Nick Fisher
fe6deb925b docs 2024-06-16 13:22:47 +08:00
Nick Fisher
68a227acaf move logo 2024-06-16 13:22:47 +08:00
Nick Fisher
18b70363b8 rm pubspec.lock 2024-06-16 13:22:47 +08:00
Nick Fisher
d8bdd9cfbc Update docs.json 2024-06-16 13:22:46 +08:00
Nick Fisher
dc0c855135 documentation & further renaming 2024-06-16 13:22:27 +08:00
Nick Fisher
3f88598498 doc update 2024-06-16 13:22:27 +08:00
Nick Fisher
3fad977552 git LFS for example assets 2024-06-16 13:22:27 +08:00
Nick Fisher
fe62a70e29 renaming to Thermion 2024-06-16 13:22:22 +08:00
Nick Fisher
1a5f573bc0 rename Web methods in example projects 2024-06-16 13:22:03 +08:00
Nick Fisher
cfc7b76700 update generated methods 2024-06-16 13:22:03 +08:00
Nick Fisher
bbf08e2994 rename Web methods 2024-06-16 13:22:03 +08:00
Nick Fisher
b3d5ba32f7 update web CMakeLists to not use pthreads 2024-06-16 13:22:03 +08:00
Nick Fisher
edb2b05da5 legibility 2024-06-16 13:22:03 +08:00
Nick Fisher
ee991f8bf5 use pthread instead of std::thread for emscripten compatibility 2024-06-16 13:22:03 +08:00
Nick Fisher
2199255341 ensure NULL terminator is copied to strings in get_bone_names 2024-06-16 13:22:03 +08:00
Nick Fisher
d2b548c176 rename web methods 2024-06-16 13:22:03 +08:00
Nick Fisher
bea8dc64a0 keep context handle and call engine->execute() on every call to render() (fixes lock bug on webgl) 2024-06-16 13:22:03 +08:00
Nick Fisher
6268ed7ad1 rename Web methods and move to EMSCRIPTEN_WEBGL_CONTEXT_PROXY_DISALLOW for single-threaded build 2024-06-16 13:22:03 +08:00
Nick Fisher
41fa55cfb5 set default camera zoom speed to 1.0 2024-06-16 13:22:03 +08:00
Nick Fisher
ef075fb4ba whitespace 2024-06-16 13:22:03 +08:00
Nick Fisher
49f33cd7bf update web/js interop types 2024-06-16 13:22:02 +08:00
Nick Fisher
e47e8e39f3 delete webgl libs from repository 2024-06-16 13:22:02 +08:00
Nick Fisher
d4cd3c23fb re-introduce guards for bloom on Emscripten 2024-06-16 13:22:02 +08:00
Nick Fisher
3b6969909c add last working Fluttter commit to README for WASM compat 2024-06-16 13:22:02 +08:00
Nick Fisher
663be45e6a remove inadvertent dart:ffi dependency 2024-06-16 13:22:02 +08:00
Nick Fisher
860acce797 Merge pull request #35 from nmfisher/feature/bone-animation-blending
Blend between glTF and dynamic bone animations
2024-06-16 15:13:12 +10:00
Nick Fisher
c0eae7b7a9 Merge pull request #34 from nmfisher/feature/native-assets
Migrate to native-assets & restructure into separate Dart/Flutter packages
2024-06-16 15:11:35 +10:00
Nick Fisher
5c5897f74d add maxDelta to blend between glTF and dynamic bone animations 2024-06-10 22:32:44 +08:00
Nick Fisher
5798a269ec docs 2024-06-09 11:28:22 +08:00
Nick Fisher
b5ed69483c use ifdef guards for Windows pragmas 2024-06-08 22:26:33 +08:00
Nick Fisher
0f892645af remove example dev dependency on native_* packages 2024-06-09 00:09:19 +10:00
Nick Fisher
c1b4d6463a remove all pubspec.lock files 2024-06-09 00:08:30 +10:00
Nick Fisher
2b4e4ec490 Merge branch 'feature/native-assets' of github.com:nmfisher/polyvox_filament into feature/native-assets
- prebuilt library zip files now downloaded directly from Cloudflare to
  .dart_tool/dart_filament
- for Windows compatibility, we need to depend on a fork of
  native_toolchain_c (to support linking against non-import libs when
  creating a DLL)
2024-06-09 00:06:09 +10:00
Nick Fisher
d548f1a2df Merge pull request #31 from Hannnes1/feature/native-assets
Download and unzip native assets during build
2024-06-08 15:44:43 +10:00
Nick Fisher
6f1597daec update build.dart to support windows 2024-06-08 15:36:57 +10:00
Nick Fisher
ecb52f06da update build.dart to support windows 2024-06-08 15:36:28 +10:00
Nick Fisher
026c65016c add pragmas to ensure linking on Windows 2024-06-08 15:35:51 +10:00
Nick Fisher
45a651adf0 set stereoscopic options to fix issue on Windows 2024-06-08 15:35:32 +10:00
Nick Fisher
770f01c2bb remove some logging 2024-06-08 15:34:23 +10:00
Nick Fisher
ef27e06e82 use forked native_toolchain_c 2024-06-08 15:34:06 +10:00
Nick Fisher
169acb4682 allow null flutterTextureId in FlutterFilamentTexture 2024-06-08 15:33:29 +10:00
Nick Fisher
4705359b5f clean up example pubspec 2024-06-08 15:33:06 +10:00
Nick Fisher
4f830f1f95 fixes for Windows 2024-06-08 15:30:24 +10:00
Hannes Hultergård
9556c0b314 Remove native libraries from git 2024-06-07 16:03:39 +02:00
Hannes Hultergård
1831e31afb Download and unzip native assets during build 2024-06-07 16:03:39 +02:00
Nick Fisher
6eea9c1f66 Merge branch 'feature/native-assets' of github.com:nmfisher/polyvox_filament into feature/native-assets 2024-06-07 20:43:55 +10:00
Nick Fisher
6b12f2532f update Windows plugin for new native-assets structure 2024-06-07 20:43:09 +10:00
Nick Fisher
f7cc0ce6ad remove windows specific headers 2024-06-07 20:42:07 +10:00
Nick Fisher
58d9ce04be rename & documentation 2024-06-07 20:41:36 +10:00
Nick Fisher
c40814709d Merge pull request #32 from Hannnes1/lockfile-remove
Remove pubspec.lock files from packages
2024-06-07 10:45:59 +08:00
Nick Fisher
0e0b9d2901 Merge pull request #27 from jarrodcolburn/patch-3
Update README.md - code block
2024-06-07 10:44:44 +08:00
Nick Fisher
34707c944b Merge branch 'master' into patch-3 2024-06-07 10:44:35 +08:00
Nick Fisher
1c5c29f1d2 Merge pull request #26 from jarrodcolburn/patch-1
Update README.md - beta requirement
2024-06-07 10:44:01 +08:00
Nick Fisher
9330e2b7a7 Merge pull request #28 from jarrodcolburn/patch-2
Update README.md -version table
2024-06-07 10:43:42 +08:00
Hannes Hultergård
93b7c74ffe Remove pubspec.lock files from packages
The dart team recommends not committing the pubspec.lock in regular
packages. The examples should still have the lock files to "ensures
changes to transitive dependencies are explicit".

https://dart.dev/guides/libraries/private-files#pubspec-lock
2024-06-06 21:23:51 +02:00
Nick Fisher
edb8de721b update animation_tools_dart dependency 2024-06-06 23:38:06 +08:00
Nick Fisher
6efaee07c5 dont pass plugin before initialization to ExampleViewport 2024-06-06 23:34:54 +08:00
Nick Fisher
0140911515 update build.gradle for Android example project 2024-06-06 23:34:09 +08:00
Nick Fisher
77322019ec recreate example iOS project 2024-06-06 23:33:43 +08:00
Nick Fisher
b6b4bcc94a remove accidentally committed folder 2024-06-06 23:33:01 +08:00
Nick Fisher
5a0d18bd59 clean up MacOS bridging headers 2024-06-06 23:32:43 +08:00
Nick Fisher
559706ef53 ios bridging header fixes 2024-06-06 23:32:18 +08:00
Nick Fisher
b62bac9153 update build.dart for Android 2024-06-06 23:31:55 +08:00
Nick Fisher
0d17d28de7 Revert "remove unused Filament headers"
This reverts commit 778c3c959e.
2024-06-06 22:21:56 +08:00
Nick Fisher
e97e6f3a83 add checks for concurrent texture creation, don't recreate texture if same size as existing 2024-06-06 22:19:25 +08:00
Nick Fisher
01f4814a9a clean up FlutterFilamentTexture 2024-06-06 22:18:13 +08:00
Nick Fisher
9e8676e9cd don't destroy Texture on FilamentWidget disposal 2024-06-06 22:17:52 +08:00
Nick Fisher
bc68c530ac update Android interop 2024-06-06 22:17:09 +08:00
Nick Fisher
ed2a1eb482 update Android CMakeLists.txt for new native-assets build 2024-06-06 22:14:48 +08:00
Nick Fisher
1dcc4b5108 remove unnecessary cast from SceneManager 2024-06-06 22:14:22 +08:00
Nick Fisher
cc27577f4d logging 2024-06-06 22:13:30 +08:00
Nick Fisher
778c3c959e remove unused Filament headers 2024-06-06 22:13:07 +08:00
Nick Fisher
f82813b7f3 move Android libs to release dir 2024-06-06 22:12:47 +08:00
Nick Fisher
dda9a61f20 rename Android C++ glue file 2024-06-06 22:10:56 +08:00
Nick Fisher
6ad53ae413 add Android support to build.dart 2024-06-06 22:10:00 +08:00
Nick Fisher
e26a649424 remove old logging 2024-06-05 22:30:57 +08:00
Nick Fisher
d99d39a306 update android example project 2024-06-05 22:30:42 +08:00
Nick Fisher
e9bbf2f8b3 dont ignore return value when removing lights to stop compiler complaining 2024-06-05 22:30:23 +08:00
Nick Fisher
fb030e9bc8 add missing android header files 2024-06-05 22:29:59 +08:00
Nick Fisher
1293c47da1 add missing android libs 2024-06-05 22:29:36 +08:00
Nick Fisher
78662ccade fix quaternion order in JS interop bindings 2024-06-04 22:20:40 +08:00
Nick Fisher
6ecfb60521 remove logging 2024-06-04 22:20:24 +08:00
Nick Fisher
fce1846c27 recalculate world transform from parent hierarchy when setting bone animation 2024-06-04 22:20:13 +08:00
Nick Fisher
2f38cfceee fade tests 2024-06-04 20:54:16 +08:00
Nick Fisher
3c289bd13d don't enqueue gltf animation if already playing 2024-06-04 20:53:58 +08:00
Nick Fisher
2f1edc706b update web bindings 2024-06-04 20:53:34 +08:00
Nick Fisher
15392071e4 add fade in/out arguments to JS export types 2024-06-04 20:53:20 +08:00
Nick Fisher
dadd7d1f5d add looping to animation debug widget 2024-06-04 13:16:16 +08:00
Nick Fisher
fd06424f28 add various bone methods to JS interop 2024-06-04 13:15:45 +08:00
Nick Fisher
f31bbccdc9 add fade in/out to dynamic bone animations 2024-06-04 13:14:53 +08:00
Nick Fisher
765d0e0839 update skinning tests 2024-06-03 22:31:23 +08:00
Nick Fisher
69bc4d6ff6 add missing emscripten resolve callback arg 2024-06-03 22:31:07 +08:00
Nick Fisher
7af0f6f00d don't add multiple component instances and interpolate between gltf and dynamic bone animation 2024-06-03 22:30:45 +08:00
Nick Fisher
52204ddd5b documentation 2024-06-03 22:30:17 +08:00
Nick Fisher
a97eea396a add new rest local transforms getter when setting bone animations, rather than needing to reset and get current local transform 2024-06-03 22:30:00 +08:00
Nick Fisher
7d9bc9e5cc add method to retrieve rest local transforms 2024-06-03 22:29:23 +08:00
Nick Fisher
9090eca461 add method to retrieve rest local transforms 2024-06-03 22:28:46 +08:00
Nick Fisher
7f4d8c2f42 update gitattributes 2024-06-01 12:52:50 +08:00
Nick Fisher
63a2199e52 use published animation_tools_dart dependency 2024-06-01 12:52:37 +08:00
Nick Fisher
2bd4dc58e3 update example assets 2024-06-01 12:52:05 +08:00
Nick Fisher
58525c16af update tests 2024-06-01 12:51:07 +08:00
Nick Fisher
9431865d18 remove old export 2024-06-01 12:50:46 +08:00
Nick Fisher
df777585e2 re-add resize timer to FilamentWidget return initial widget when resizing 2024-06-01 12:50:27 +08:00
Nick Fisher
382d68ee77 factor out debug widgets 2024-06-01 12:45:43 +08:00
Nick Fisher
e89574aea5 Flutter plugin documentation 2024-06-01 12:44:59 +08:00
Nick Fisher
231c9a96a7 update web bindings 2024-06-01 12:44:40 +08:00
Nick Fisher
18b0b7c20a fix double-add entity in Scene 2024-06-01 12:43:47 +08:00
Nick Fisher
8536dfae01 add ignore parameter for Gizmo 2024-06-01 12:43:25 +08:00
Nick Fisher
5337269f83 add missing implementation methods for web/JS interop viewer 2024-06-01 12:42:31 +08:00
Nick Fisher
3083730c2b fix web/JS extension defn of addBoneAnimation 2024-06-01 12:41:58 +08:00
Nick Fisher
2c588c9eaa add web/JS export implementation for addBoneAnimation 2024-06-01 12:41:15 +08:00
Nick Fisher
40187987a6 add index operator to web PointerPointer extension 2024-06-01 12:40:46 +08:00
Nick Fisher
57f3135e3b add callbacks to certain async FFI methods 2024-06-01 12:40:20 +08:00
Nick Fisher
c19928850c expose various methods for getting bones/transforms/etc. 2024-06-01 12:35:20 +08:00
Nick Fisher
dc8dfc3474 expose various methods for getting bones/transforms/etc. change reset rest pose to reset bone transforms (not just resetting the bone matrices) 2024-06-01 12:34:48 +08:00
Nick Fisher
35c1227b6c expose various methods for getting bones/transforms/etc 2024-06-01 12:33:31 +08:00
Nick Fisher
650239fcd6 expose various methods for getting bones/transforms/etc 2024-06-01 12:33:18 +08:00
Nick Fisher
8391ae6178 allow removing animation components and dont stash initial joint transforms when creating bone animations 2024-06-01 12:32:50 +08:00
Nick Fisher
188fc6b5dc expose various methods for getting bones/transforms/etc 2024-06-01 12:32:35 +08:00
Nick Fisher
7d54eadaa8 allow removing animation components and dont stash initial joint transforms when creating bone animations 2024-06-01 12:31:59 +08:00
Nick Fisher
5db72f15ea throw exception if concurrent resizes found 2024-06-01 12:29:35 +08:00
Nick Fisher
68160c6bef use published animation_tools_dart dependency 2024-06-01 12:28:27 +08:00
Nick Fisher
41d8fd3e65 add implemenation methods for setting transforms/bone matrices 2024-06-01 12:20:03 +08:00
Nick Fisher
910af4d76c add interface methods for setting transforms/bone matrices 2024-06-01 12:19:04 +08:00
Nick Fisher
c03709656d add skeleton menu widget for debugging 2024-06-01 12:17:47 +08:00
Nick Fisher
3b168d7a83 use debug libs in debug mode 2024-06-01 12:17:20 +08:00
Nick Fisher
161abced39 update macos debug/release libs 2024-06-01 12:16:19 +08:00
Nick Fisher
24c29593be expose methods for getting bone names 2024-05-26 12:11:40 +08:00
Nick Fisher
82f533e6b2 expose methods for getting bone names 2024-05-26 12:11:11 +08:00
Nick Fisher
443a4ba0d4 reenable bloom on web 2024-05-21 16:39:23 +08:00
Nick Fisher
26f0c4a5b4 add web support for light changes 2024-05-21 13:34:57 +08:00
Nick Fisher
139c191a8a update web bindings 2024-05-21 13:25:10 +08:00
Nick Fisher
501a73ea55 update CHANGELOG 2024-05-21 13:24:02 +08:00
Nick Fisher
9bfb6d37dd EntityListWidget styling 2024-05-21 13:23:50 +08:00
Nick Fisher
a235f33bfc update example project 2024-05-21 13:23:33 +08:00
Nick Fisher
d7edf105c4 addLight now accepts a LightType enum; added support for setting falloff, spot light radius, sun radius & halo 2024-05-21 13:23:23 +08:00
Nick Fisher
173ff4be20 update gitattributes 2024-05-21 10:21:29 +08:00
Nick Fisher
59c635e29a update cli wasm 2024-05-21 10:21:24 +08:00
Nick Fisher
a91618c920 remove old web test 2024-05-21 10:21:12 +08:00
Nick Fisher
90edd0d1a6 remove old test web app 2024-05-21 10:20:35 +08:00
Nick Fisher
b33e7d04ab move AppLifecyleListener to Flutter plugin 2024-05-21 10:18:35 +08:00
Nick Fisher
90727e79c5 update example web project 2024-05-21 10:15:15 +08:00
Nick Fisher
ece018b7e9 cleanup comments 2024-05-21 10:14:19 +08:00
Nick Fisher
ce3b14cdae update wasm example 2024-05-21 10:14:02 +08:00
Nick Fisher
7043d3ef2f update Makefile 2024-05-19 14:19:35 +08:00
Nick Fisher
3415648676 remove logging 2024-05-19 14:19:03 +08:00
Nick Fisher
269aa819e2 whitespace 2024-05-19 14:18:51 +08:00
Nick Fisher
e9b87a9a9a don't use asTypedList/setRange on Float32List as this doesn't work with WASM 2024-05-19 14:18:40 +08:00
Nick Fisher
467b80beb7 use locally scoped vars in js interop for easier debugging 2024-05-19 14:18:05 +08:00
Nick Fisher
4f9672cbbf throw error on web for setCameraModelMatrix 2024-05-19 14:17:24 +08:00
Nick Fisher
43b5cb040a add missing getter for float pointer 2024-05-19 14:16:30 +08:00
Nick Fisher
2f8894505c example project web fixes 2024-05-17 14:52:36 +08:00
Nick Fisher
8c586e48eb git attributes 2024-05-17 14:52:17 +08:00
Nick Fisher
6280368f68 hide UtfPointer to avoid clashes 2024-05-17 14:51:58 +08:00
Nick Fisher
3c186eea37 return child widget in gesture detector widget even when viewer is not yet initialized 2024-05-17 14:51:36 +08:00
Nick Fisher
17f7a2931f move child renderable menu to own widget 2024-05-17 14:51:08 +08:00
Nick Fisher
888531f333 example project fixes 2024-05-17 14:50:39 +08:00
Nick Fisher
00f9122f37 example project fixes 2024-05-17 14:50:15 +08:00
Nick Fisher
3a98bd53de web : mandate child entity for morph animation functions and implement some missing functions 2024-05-17 14:49:40 +08:00
Nick Fisher
a566851efe update generated bindings 2024-05-17 14:47:25 +08:00
Nick Fisher
bf252c05f8 gitignore 2024-05-17 14:46:55 +08:00
Nick Fisher
31cc1059dd add dart cli wasm 2024-05-17 14:46:44 +08:00
Nick Fisher
9568ff2c4e add Float32List asTypedList extension 2024-05-17 14:44:07 +08:00
Nick Fisher
ca35b310eb mandate passing childEntity to morph target functions 2024-05-17 14:43:47 +08:00
Nick Fisher
b465553f04 make registerEntity public on scene and mandate passing childEntity to morph target functions 2024-05-17 14:42:28 +08:00
Nick Fisher
a3e1d180d9 remove old CLI example 2024-05-17 14:41:57 +08:00
Nick Fisher
deb0884109 add dart cli/wasm example 2024-05-17 14:41:37 +08:00
Nick Fisher
5e576e00ba add dart macos CLI example 2024-05-17 14:40:16 +08:00
Nick Fisher
f487be82b1 use child entity for morph animations rather than name 2024-05-17 14:37:25 +08:00
Nick Fisher
8b1a1974b1 use child entity for morph animations rather than name & expose Emscripten scripts via moduleArgs 2024-05-17 14:36:52 +08:00
Nick Fisher
bb514b13d3 update gitattributes 2024-05-17 14:33:57 +08:00
Nick Fisher
e79d67d880 re-add web binding generation and symbol replacement in web CMakeLists.txt 2024-05-17 14:33:41 +08:00
Nick Fisher
b8588e3196 dont use lists for CMake replace in file 2024-05-17 14:33:24 +08:00
Nick Fisher
6bfb32b5e8 update web libs 2024-05-17 14:32:32 +08:00
Nick Fisher
32c25ac4e0 move Makefile to top-level directory 2024-05-17 14:30:59 +08:00
Nick Fisher
24c62ca026 update example project with debug widgets for child entities & morph targets 2024-05-16 22:36:10 +08:00
Nick Fisher
f63228e623 turn off debug colouring 2024-05-16 11:01:51 +08:00
Nick Fisher
39e1eddf0d alpha on web 2024-05-16 11:01:38 +08:00
Nick Fisher
a507f789f1 clean up 2024-05-16 00:16:23 +08:00
Nick Fisher
582557353c use Dart bool where possible in web interop 2024-05-16 00:15:55 +08:00
Nick Fisher
ea4c31ecca use Dart bool where possible in web interop 2024-05-16 00:14:50 +08:00
Nick Fisher
77f544fd6d add missing emscripten callback blocks 2024-05-16 00:14:27 +08:00
Nick Fisher
9f94f834ef use animation_tools_dart from git 2024-05-15 22:31:19 +08:00
Nick Fisher
3b8af0ecf4 explicitly include ResourceBuffer.h in generated bindings so we can actually use it on web 2024-05-15 22:30:37 +08:00
Nick Fisher
5fd0fc60bf web compatibility work 2024-05-15 22:29:56 +08:00
Nick Fisher
dcc52cd7c1 add android libs 2024-05-15 22:29:35 +08:00
Nick Fisher
7703f33b81 update federated flutter_filament 2024-05-15 22:28:58 +08:00
Nick Fisher
293d3c9fd6 move flutter_filament plugin to federated structure 2024-05-15 22:26:57 +08:00
Nick Fisher
c11e2b9f38 remove Windows libs from flutter_filament (to be replaced in dart_filament) 2024-05-15 22:26:32 +08:00
Nick Fisher
6b50dc9d36 move flutter_filament plugin to federated structure 2024-05-15 22:25:46 +08:00
jarrodcolburn
57fb7c985f Update README.md - code block
add language to codeblocks to enable color coding
2024-05-11 12:51:09 -05:00
jarrodcolburn
e01e08e4d1 Update README.md -version table
attempt to fix versioning table
2024-05-11 12:49:10 -05:00
jarrodcolburn
dca77a9cab Update README.md
removed portion where is said needs to be on beta channel for `3.16.0-0.2.pre` since stable is on 3.19
2024-05-11 12:32:20 -05:00
Nick Fisher
66e5e38324 update web_wasm example 2024-05-11 22:41:17 +08:00
Nick Fisher
d46aecb8ec Makefile 2024-05-11 22:40:52 +08:00
Nick Fisher
f007ea99a9 gitattr 2024-05-11 22:40:47 +08:00
Nick Fisher
b963a066d2 update CMakeLists 2024-05-11 22:40:40 +08:00
Nick Fisher
a5991c15c2 EM_ASM callbacks 2024-05-11 22:40:22 +08:00
Nick Fisher
c0315c3450 formatting 2024-05-11 22:40:00 +08:00
Nick Fisher
f9ab0bf12c update web api for dart 2024-05-11 22:39:44 +08:00
Nick Fisher
f7c3d20aa9 add guards for material headers 2024-05-11 22:38:52 +08:00
Nick Fisher
85f129d435 compatibility shims for web 2024-05-11 22:38:28 +08:00
Nick Fisher
ae70564bf3 remove web-only header files 2024-05-11 22:37:55 +08:00
Nick Fisher
b65aae4c64 update web libs 2024-05-11 22:37:30 +08:00
Nick Fisher
84c7769c3d update makefile 2024-05-11 12:32:25 +08:00
Nick Fisher
4130699f86 update web CMakeLists 2024-05-11 12:32:15 +08:00
Nick Fisher
7aa450948c use EMSCRIPTEN_KEEPALIVE 2024-05-11 12:31:55 +08:00
Nick Fisher
ed78dd66ef use EMSCRIPTEN_KEEPALIVE 2024-05-11 12:31:42 +08:00
Nick Fisher
943c5e21ac use void* instead of ResourceLoaderWrapper* 2024-05-11 12:31:27 +08:00
Nick Fisher
1c9e7039d0 use EMSCRIPTEN_KEEPALIVE 2024-05-11 12:31:09 +08:00
Nick Fisher
5d053e6484 use EMSCRIPTEN_KEEPALIVE 2024-05-11 12:30:59 +08:00
Nick Fisher
e648ed6e7d update git attr/ign 2024-05-11 12:30:43 +08:00
Nick Fisher
5faf288a21 cleanup old iOS files 2024-05-11 12:30:16 +08:00
Nick Fisher
8781b67db0 create examples folder 2024-05-11 12:30:02 +08:00
Nick Fisher
5493afbf67 web ffigen config 2024-05-11 12:29:46 +08:00
Nick Fisher
2c6e953b4b fix compatibility imports 2024-05-11 10:16:13 +08:00
Nick Fisher
d04c71d8f9 add web folder to native 2024-05-11 10:13:11 +08:00
Nick Fisher
19818a66fd separate into native/web conditional imports for compatibility 2024-05-11 10:12:21 +08:00
Nick Fisher
dbf44f1c8b add EMSCRIPTEN guards around thread waiting ResourceBuffer 2024-05-11 10:11:50 +08:00
Nick Fisher
cfbfc87b0b dont free ResourceBuffer in emscripten loadGlbFromBuffer 2024-05-11 10:11:30 +08:00
Nick Fisher
25cedc0e66 add Makefile 2024-05-11 10:11:03 +08:00
Nick Fisher
f63d3293c7 move ffigen config to own folder 2024-05-11 10:10:58 +08:00
Nick Fisher
a255b268f6 move web folder to native 2024-05-11 10:10:24 +08:00
Nick Fisher
f82a9b6222 rename native pick to filament_pick to avoid naming clashes 2024-05-11 10:09:11 +08:00
Nick Fisher
6f0df56751 add hacky check for resizing 2024-05-10 23:05:05 +08:00
Nick Fisher
a7fb516ff3 remove outdated export 2024-05-10 23:04:22 +08:00
Nick Fisher
29e77c4cd1 change imports 2024-05-09 13:39:52 +08:00
Nick Fisher
dd5cd812f0 add option to wait for animation to complete 2024-05-09 13:39:37 +08:00
Nick Fisher
f0058d4009 rename gizmo translation args 2024-05-09 13:39:18 +08:00
Nick Fisher
1a6529b315 wait for plugin initialization before returning via FlutterFilamentPlugin.create 2024-05-09 13:39:01 +08:00
Nick Fisher
5e03f5d13c use pixel ratio when resizing via widget 2024-05-09 13:38:26 +08:00
Nick Fisher
0a8bdb9721 move EntityTransformController to dart_filament 2024-05-09 13:38:06 +08:00
Nick Fisher
f338fc0b43 move EntityTransformController to dart_filament 2024-05-09 13:37:47 +08:00
Nick Fisher
87213e8aac actually hook up set_frame_interval to FilamentViewer 2024-05-09 13:37:01 +08:00
Nick Fisher
f8db54e941 create transparent swapchain on iOS and fix recording issues" 2024-05-09 13:36:26 +08:00
Nick Fisher
adfdecd274 remove animation components on destroyAll 2024-05-09 13:35:50 +08:00
Nick Fisher
9dd95d32dc export dart_filament from flutter_filament 2024-05-09 13:35:30 +08:00
Nick Fisher
2c9a3bf807 update generated bindings 2024-05-09 13:35:14 +08:00
Nick Fisher
9ff4fec6ab reduce min req for example cli 2024-05-09 13:34:45 +08:00
Nick Fisher
6f9ead6f5c example_cli update 2024-05-09 13:34:26 +08:00
Nick Fisher
f8ed5d1b28 update example 2024-04-30 17:50:03 +08:00
Nick Fisher
8267a0c5f8 fix 2024-04-30 15:48:50 +08:00
Nick Fisher
14b0b674c5 fix iOS 2024-04-30 14:14:54 +08:00
Nick Fisher
8f9e309c34 initial work to split into dart_filament and flutter_filament 2024-04-30 12:07:26 +08:00
Nick Fisher
b81f34cd29 formatting 2024-04-29 14:28:21 +08:00
Nick Fisher
107f3bce64 remove logging 2024-04-29 14:28:07 +08:00
Nick Fisher
fe0067c16a whitespace 2024-04-29 14:27:54 +08:00
Nick Fisher
49fb8fb9e3 remove logging 2024-04-29 14:27:44 +08:00
Nick Fisher
f8e69466d7 fixes for moving animation_tools_dart 2024-04-26 11:14:24 +08:00
Nick Fisher
9b66fb165a update example project 2024-04-26 11:04:00 +08:00
Nick Fisher
089b59e6c7 update generated bindings 2024-04-26 11:03:40 +08:00
Nick Fisher
ce425a44f5 move animations to animation_tools_dart 2024-04-26 11:03:30 +08:00
Nick Fisher
7f365f985d add animation_tools dependency 2024-04-26 11:00:33 +08:00
Nick Fisher
ff25744a84 use std::variant for AnimationComponent to distinguish between arbitrray entities and glTF FilamentAsset 2024-04-26 10:56:30 +08:00
Nick Fisher
b5a36cc8d8 allow adding AnimationComponent/morph target animations to arbitrary entities 2024-04-26 10:55:56 +08:00
Nick Fisher
83296ef582 remove unused FFI morph animation method 2024-04-26 10:55:23 +08:00
Nick Fisher
fc4bb19569 allow adding AnimationComponent/morph target animations to arbitrary entities 2024-04-26 10:53:16 +08:00
Nick Fisher
4b348f62eb allow adding AnimationComponent/morph target animations to arbitrary entities 2024-04-26 10:52:34 +08:00
Nick Fisher
f2efb0d7d1 allow adding AnimationComponent/morph target animations to arbitrary entities 2024-04-26 10:51:38 +08:00
Nick Fisher
6fe436a5cc update makefile 2024-04-20 13:48:07 +08:00
Nick Fisher
ca3eafda24 remove duplicate libs from macos podspec 2024-04-20 13:47:38 +08:00
Nick Fisher
6f2c07f5fb add FileMaterialProvider 2024-04-20 13:47:19 +08:00
Nick Fisher
ea04e94c1f update macos/ios to Filament v1.51.2 2024-04-20 13:46:58 +08:00
Nick Fisher
15882891e2 use void callback for setBackgroundImage to correctly free pointer after dispatch 2024-04-20 13:46:10 +08:00
Nick Fisher
49229f8c88 revert FileMaterialProvider deletion 2024-04-05 15:18:24 +08:00
Nick Fisher
d063701250 example project updates 2024-03-30 11:20:36 +08:00
Nick Fisher
50b3ead812 example project updates 2024-03-30 11:20:20 +08:00
Nick Fisher
1c871f1e99 update CHANGELOG 2024-03-26 00:25:36 +08:00
Nick Fisher
b357144a79 expose method for retrieving all child entities 2024-03-26 00:24:21 +08:00
Nick Fisher
849ad6c530 use resgen'd gizmo material 2024-03-25 23:33:35 +08:00
Nick Fisher
34c997815d Merge branch 'feature/instancing' into develop 2024-03-25 22:23:36 +08:00
Nick Fisher
2ed2e7fb05 Merge branch 'develop' of github.com:nmfisher/polyvox_filament into develop 2024-03-25 22:23:08 +08:00
Nick Fisher
cfab7eac3b update path for generated bindings 2024-03-25 22:22:38 +08:00
Nick Fisher
357c585d44 add (very rough) gizmo, restructure Dart package into library, add EntityListWidget 2024-03-25 22:21:37 +08:00
Nick Fisher
66ae0a4d08 merge 2024-03-09 11:25:10 +08:00
Nick Fisher
5e0c4e1f70 update pubspec.lock 2024-03-09 11:22:33 +08:00
Nick Fisher
2fc1e6a127 update generated bindings 2024-03-09 11:22:24 +08:00
Nick Fisher
f02cd5d611 rejig frame timings 2024-03-09 11:22:12 +08:00
Nick Fisher
ed8bcd5794 remove logging 2024-03-09 11:18:18 +08:00
Nick Fisher
00c0e2526e pass callback to native pick(), dont use _ffi version for get_animation_names 2024-03-09 11:17:54 +08:00
Nick Fisher
13fa60e8de pass callback to native pick() and remove pick_ffi 2024-03-09 11:17:25 +08:00
Nick Fisher
6e9a02b5b5 Merge branch 'feature/instancing' of github.com:nmfisher/polyvox_filament into feature/instancing 2024-03-08 18:02:14 +08:00
Nick Fisher
950d00dc3d update CHANGELOG 2024-03-08 18:02:06 +08:00
Nick Fisher
f72aeb486c add release instructions for Android 2024-03-08 18:01:38 +08:00
Nick Fisher
d6cc6c13fe update example app gradle 2024-03-08 18:01:22 +08:00
Nick Fisher
2cbaeabe6c update kotlin/gradle versions 2024-03-08 18:01:04 +08:00
Nick Fisher
7d0ae605d6 update kotlin/gradle versions 2024-03-08 18:00:49 +08:00
Nick Fisher
3cbf796248 pass through scaleStart/Update/End to mobile gesture detector 2024-03-08 18:00:30 +08:00
Nick Fisher
684d758bd9 set pixel ratio before creating rect 2024-03-07 18:30:09 +11:00
Nick Fisher
deb3bac35d create new WGL context when WGL_USE_BACKING_WINDOW is false 2024-03-07 18:27:09 +11:00
Nick Fisher
4377a55747 no need to create WGL context explicitly - defer to Engine 2024-03-07 17:16:48 +11:00
Nick Fisher
b8aab1d030 turn PP off by default 2024-03-07 17:16:03 +11:00
Nick Fisher
a872cef436 initialize flutterTextureId to -1 2024-03-07 16:44:56 +11:00
Nick Fisher
59d6b17f63 remove duplicate ANGLE flutterTextureId 2024-03-07 16:44:27 +11:00
Nick Fisher
1fccaf1990 EGL logging 2024-03-07 16:44:03 +11:00
Nick Fisher
c34a1b0370 remove duplicate sharedContext 2024-03-07 16:43:29 +11:00
Nick Fisher
34d5478beb disable postprocessing by default 2024-03-07 16:42:57 +11:00
Nick Fisher
f0c48d7f0a cleanup EGL/D3D texture rendering 2024-03-07 12:19:01 +11:00
Nick Fisher
8ef166d9b8 move Flutter result checks to OpenGLTextureBuffer 2024-03-06 20:07:52 +11:00
Nick Fisher
89c7f7ddc3 hardcode frame interval to 1 2024-03-06 20:06:05 +11:00
Nick Fisher
c797cfc3b7 don't unnecessarily repaint FilamentWidget 2024-03-06 19:28:53 +11:00
Nick Fisher
6e7e918125 only conditionally add WGL_USE_BACKING_WINDOW 2024-03-06 19:28:38 +11:00
Nick Fisher
150f409ae1 don't mark texture frame available when USE_BACKING_WINDOW is true 2024-03-06 19:28:14 +11:00
Nick Fisher
732a6d0527 reduce default Windows color/depth buffer to 24/16 2024-03-06 19:28:06 +11:00
Nick Fisher
fda70fb6d1 use std::vector instead of dynamic array to stop MSVC complaining 2024-03-06 19:27:52 +11:00
Nick Fisher
adfb607eb7 make all FFI calls async with completers 2024-03-05 13:51:57 +08:00
Nick Fisher
39fa9387e6 expose removeCollisionComponent 2024-03-05 10:30:42 +08:00
Nick Fisher
32fe5d9083 remove unused test linux file 2024-03-05 10:22:12 +08:00
Nick Fisher
246494404c explicitly include iomanip header for iOS build using dart native 2024-03-05 10:21:51 +08:00
Nick Fisher
0c9e051baf rename plugin files 2024-03-05 10:21:26 +08:00
Nick Fisher
5287c108f9 rename getMeshNames to getChildEntities 2024-03-04 21:43:56 +08:00
Nick Fisher
e2a56f4136 fix bad copy-paste bug 2024-03-04 21:43:35 +08:00
Nick Fisher
f80d92bf5b move pick to pointerdown for better latency 2024-03-04 15:41:35 +08:00
Nick Fisher
403ea40d09 resize fix 2024-03-04 15:41:11 +08:00
Nick Fisher
d8ae4c0949 logging 2024-03-04 15:40:58 +08:00
Nick Fisher
61299e4587 add stopAnimationByName 2024-03-04 15:40:44 +08:00
Nick Fisher
1680573a1e hardcode 5ms window for rendering 2024-03-04 08:35:00 +08:00
Nick Fisher
b8314dcdd8 logging 2024-03-04 08:32:52 +08:00
Nick Fisher
06d8df0394 expose addAnimationComponent and dont add by default on loadGlb 2024-03-04 08:32:38 +08:00
Nick Fisher
40ec8accf7 expose addAnimationComponent and dont add by default on loadGlb 2024-03-04 08:32:22 +08:00
Nick Fisher
6c6bcfe7a4 work 2024-03-01 22:48:39 +08:00
Nick Fisher
9295059885 namespace changes, setCameraRotation accepts quat, getMainCamera 2024-03-01 22:47:35 +08:00
Nick Fisher
6525dea6c2 namespace changes 2024-03-01 22:47:01 +08:00
Nick Fisher
a3b67bef91 namespace changes 2024-03-01 22:46:53 +08:00
Nick Fisher
9b9a0b7ce5 split component managers 2024-03-01 22:46:23 +08:00
Nick Fisher
0970990061 update tests 2024-03-01 22:46:00 +08:00
Nick Fisher
131091c3e4 add C++ tests 2024-03-01 15:58:16 +08:00
Nick Fisher
3abcfb0594 update windows image material 2024-02-21 11:25:26 +08:00
Nick Fisher
e40c0099b6 update compiled image material 2024-02-19 20:54:54 +08:00
Nick Fisher
8779619d23 update pubspec 2024-02-19 20:54:46 +08:00
Nick Fisher
58c7679857 restructure light slider widget 2024-02-19 20:54:37 +08:00
Nick Fisher
974f9ea9d9 press escape to stop capturing keyboard input 2024-02-19 20:54:11 +08:00
Nick Fisher
3d013dec54 update example project 2024-02-19 20:53:52 +08:00
Nick Fisher
106395e385 update CHANGELOG 2024-02-19 20:53:23 +08:00
Nick Fisher
a5a1d2679e rename FilamentGestureDetector enabled flag 2024-02-18 21:50:04 +08:00
Nick Fisher
217626f434 remove openGlCompatibility key from MacOS cvPixelBuffer 2024-02-18 21:49:26 +08:00
Nick Fisher
65db2aa32e rename AssetManager to SceneManager 2024-02-18 21:48:50 +08:00
Nick Fisher
a10fe6584d add testCollisions method for manual collision checking 2024-02-18 21:48:03 +08:00
Nick Fisher
6c37368aea add camera options widget 2024-02-18 21:46:06 +08:00
Nick Fisher
5e2946fe30 update generated bindings 2024-02-18 15:23:36 +08:00
Nick Fisher
8961f7ca8f use iOS 13.0 as min target 2024-02-18 15:23:19 +08:00
Nick Fisher
130ab8ea86 rename AssetManager to SceneManager, add camera FOV/antialiasing methods, do symmetric AABB checking for collisions 2024-02-18 15:23:04 +08:00
Nick Fisher
00803c35ab rename AssetManager to SceneManager, add camera FOV/antialiasing methods, do symmetric AABB checking for collisions 2024-02-18 15:22:47 +08:00
Nick Fisher
8107258a1e update image material 2024-02-16 20:37:07 +08:00
Nick Fisher
2ae3f8c466 rename (asset to entity) 2024-02-15 15:16:56 +08:00
Nick Fisher
935b876ce9 add flag for affectsCollidingTransform, add setParent method for transforms 2024-02-15 14:50:14 +08:00
Nick Fisher
023900bb99 use Timer in EntityControllerMouseWidget for pointer hover 2024-02-15 13:47:59 +08:00
Nick Fisher
aba9d8e6a6 update example project 2024-02-15 13:47:31 +08:00
Nick Fisher
da123d6274 update example project 2024-02-15 13:47:22 +08:00
Nick Fisher
0b315f3dfe bump Dart SDK version for NativeCallable 2024-02-15 13:45:51 +08:00
Nick Fisher
73c039b413 differentiate between setPosition/queuePositionUpdate (+rotate), use EntityId in collision callback, fix collisions + add skiing effect 2024-02-15 13:45:09 +08:00
Nick Fisher
5d1eccacac add StandardComponents for collision 2024-02-14 10:49:12 +08:00
Nick Fisher
4913956b3e add createGeometry 2024-02-14 10:48:56 +08:00
Nick Fisher
5ab257cd15 merge macos debug libs 2024-02-13 16:25:12 +08:00
Nick Fisher
1638599078 support collisions & restructure transforms to only update once per frame 2024-02-13 13:31:18 +08:00
Nick Fisher
6561af6825 change transform order for relative setPosition to SRT 2024-02-05 08:43:54 +08:00
Nick Fisher
48a1c6dc0b use decompose/composeMatrix for transforms and add mouse controls for rotation 2024-02-03 14:11:02 +08:00
Nick Fisher
63a52025dd support relative setPosition, add hardware keyboard listener + control, log FPS 2024-02-03 11:56:06 +08:00
Nick Fisher
0d9cf8a9ff merge in work on controller from webjs branch 2024-02-02 18:17:40 +08:00
Nick Fisher
17e4014b3e merge in changes from web/js branch by hand (bone animation updates) 2024-02-02 17:16:25 +08:00
Nick Fisher
d2fc342bea update pubspec.lock 2023-12-18 12:11:18 +08:00
Nick Fisher
3e368e1a31 expose getters for near/far culling distance and clean up example project for more readability on frustum 2023-12-17 15:17:17 +08:00
Nick Fisher
8c3d113ab4 Merge branch 'develop' of github.com:nmfisher/polyvox_filament into develop 2023-12-17 13:11:40 +08:00
Nick Fisher
b899ce544e don't invalidate iterator before changing non-deleted asset indices 2023-12-17 13:11:16 +08:00
Nick Fisher
8dcad76acf Windows MSVC fixes 2023-12-16 11:34:33 +11:00
Nick Fisher
de3cc00059 update example project 2023-12-15 23:39:56 +08:00
Nick Fisher
f5244975df fix incorrect/premature destruction of entities 2023-12-15 23:38:38 +08:00
Nick Fisher
59d0e64d04 add timer to FFI render loop 2023-12-15 22:30:24 +08:00
Nick Fisher
b2d7cfc4df add explicit bone animation to sample project 2023-12-15 22:30:06 +08:00
Nick Fisher
8fb7b9aa16 clean up macos warnings 2023-11-20 23:00:46 +08:00
Nick Fisher
0474e0305e clean up unused variables 2023-11-20 23:00:14 +08:00
Nick Fisher
660395a40e enable setting output directory for recording 2023-11-20 22:59:50 +08:00
Nick Fisher
5c1be3d047 add option to record to PNGs (inc background threadpool for encoding) 2023-11-20 15:28:55 +08:00
Nick Fisher
a96309bd77 remove sandbox from example macOS runner 2023-11-20 15:26:27 +08:00
Nick Fisher
df63d1f270 documentation 2023-11-20 15:26:08 +08:00
Nick Fisher
a24f56b31a restructure render loop to correct timings and expose FFI methods for setBoneTransform/setMorphWeights 2023-11-20 11:35:50 +08:00
Nick Fisher
f0683b0b24 remove morph animation FFI-specific methods (regular methods are OK to use outside the engine thread) 2023-11-19 18:12:38 +08:00
Nick Fisher
ad9e4689b1 update example project 2023-11-18 13:35:10 +08:00
Nick Fisher
5638eca20c allow setting animations for multiple targets 2023-11-18 13:34:50 +08:00
Nick Fisher
fff6eae2f8 allow setting animations for multiple targets 2023-11-18 13:34:25 +08:00
Nick Fisher
28bbc42e14 use correct bone transform for animation + setter 2023-11-18 13:33:54 +08:00
Nick Fisher
0c698d16e3 use boneName instead of boneIndex for setBoneTransform 2023-11-18 00:28:31 +08:00
Nick Fisher
572a945025 add support for multiple bone animations using quaternions 2023-11-17 23:44:30 +08:00
Nick Fisher
440aa11935 Update README.md 2023-11-17 22:32:16 +08:00
Nick Fisher
f5d5a36f22 add setBoneTransform method 2023-11-17 16:40:17 +08:00
Nick Fisher
daf319bf2c FilamentWidget resizing fixes 2023-11-16 12:17:55 +08:00
Nick Fisher
e67d4d7e1f fix incorrect pixelDeviceRatio 2023-11-16 12:09:50 +08:00
Nick Fisher
f2a458b9ca add setCameraCulling method to set near/far culling plane and return vector_math:Frustum from planes returned by get_camera_frustum 2023-11-09 15:08:34 +08:00
1434 changed files with 71977 additions and 60939 deletions

404
.gitattributes vendored
View File

@@ -1,12 +1,392 @@
*.a filter=lfs diff=lfs merge=lfs -text
*.lib filter=lfs diff=lfs merge=lfs -text
*.dll filter=lfs diff=lfs merge=lfs -text
*.pdb filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.uberz filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
*.ktx filter=lfs diff=lfs merge=lfs -text
*.blend filter=lfs diff=lfs merge=lfs -text
*.gltf filter=lfs diff=lfs merge=lfs -text
*.glb filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libbackendtest_combined.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libfilabridge.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libibl-lite.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libcamutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libgeometry_combined.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libbackend.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libuberarchive.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libgeometry.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libmikktspace.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libzstd.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libcivetweb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libsdl2.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libmathio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libfilament-iblprefilter.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libmatdbg_combined.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libspirv-cross-msl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libtinyexr.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libzstd.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libSPIRV-Tools.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libgeometry.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libimageio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libOGLCompiler.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libSPIRV-Tools-diff.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libfilamat_combined.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libfilameshio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libmathio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libassimp.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libmatlang.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libibl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libmikktspace.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libmatdbg_combined.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/swift/ThermionTexture.h filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libfilamat_combined.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libfilament.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libibl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libstb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libuberzlib.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libbasis_encoder.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libimgui.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libdracodec.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libimageio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libfilament.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libstb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libbackend_test.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libgetopt.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libgtest.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libfilabridge.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libmatdbg_resources.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libuberarchive.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libfilaflat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libSPIRV.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libpng.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libvkshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libimage.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libmatdbg_resources.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libsuzanne-resources.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libfilamat_lite.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libgeometry_combined.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libsmol-v.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libmath.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libgeometry.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libpng16.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libbenchmark_main.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libbluegl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libuberzlib.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/swift/build.sh filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libdracodec.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libibl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libktxreader.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libbluegl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libfilaflat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libpng.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libbluevk.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libfilaflat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libfilamat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libglslang.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libcivetweb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libktxreader.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libbenchmark.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libgltf-demo-resources.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libSPIRV-Tools-lint.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libdracodec.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libfilagui.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libmikktspace.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libsample-resources.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libOSDependent.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libspirv-cross-glsl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libgltfio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libimage.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libpng.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libgltfio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libmatdbg.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libspirv-cross-core.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libstb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libfilamat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libfilamat_lite.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libfilamat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libviewer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libvkshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libcamutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libbackend.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libfilagui.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libmath.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libviewer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/swift/libdartfilamenttexture.dylib filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libfilament-iblprefilter.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libuberzlib.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libviewer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libfilamat_lite.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libfilameshio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libcivetweb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libSPIRV-Tools-link.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libvkshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libz.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libbluevk.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libtinyexr.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libzstd.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libcamutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libfilabridge.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libmatdbg.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libimage.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libsmol-v.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libsmol-v.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libfilament-iblprefilter.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libfilament.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libbackend.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libibl-lite.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libktxreader.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libfilameshio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/swift filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libtinyexr.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libSPIRV-Tools-reduce.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libuberarchive.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libibl-lite.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libimageio.a filter=lfs diff=lfs merge=lfs -text
materials/Makefile filter=lfs diff=lfs merge=lfs -text
materials/gizmo.filamat filter=lfs diff=lfs merge=lfs -text
materials/image.filamat filter=lfs diff=lfs merge=lfs -text
materials/unlit_opaque.mat filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libktxreader.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libcamutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libuberzlib.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libdracodec.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libbackend.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libibl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libmikktspace.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libzstd.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libzstd.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libfilament.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libvkshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libbluevk.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libgeometry.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libstb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libimage.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libvkshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64 filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libfilameshio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libcivetweb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libfilabridge.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libuberzlib.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libfilamat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libuberarchive.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libbackend.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libimage.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libsmol-v.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libdracodec.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libfilament.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libfilament-iblprefilter.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libfilamat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libibl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libvkshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libfilaflat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libibl-lite.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libsmol-v.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libfilaflat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libfilaflat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libzstd.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libbackend.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libdracodec.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libcamutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libfilament.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libuberzlib.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libbluevk.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libcamutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libsmol-v.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libcivetweb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libktxreader.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libfilaflat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libuberarchive.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libfilameshio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libbluevk.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libfilabridge.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libibl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libmikktspace.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libzstd.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libfilameshio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libfilament-iblprefilter.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libstb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libfilament-iblprefilter.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libimage.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libfilament.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libgeometry.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libdracodec.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libgeometry.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libuberarchive.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libbluevk.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libfilabridge.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libuberzlib.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libimage.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libviewer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libibl-lite.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86 filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libibl-lite.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libuberarchive.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libktxreader.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libfilament-iblprefilter.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libfilameshio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libstb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libgeometry.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libviewer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libktxreader.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libibl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libfilamat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libibl-lite.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libvkshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libcamutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libcivetweb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libsmol-v.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libfilabridge.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libmikktspace.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libmikktspace.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libbackend.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libfilamat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libviewer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libviewer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libcivetweb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libstb.a filter=lfs diff=lfs merge=lfs -text
thermion_flutter_federated/thermion_flutter/example/web/thermion_dart.wasm filter=lfs diff=lfs merge=lfs -text
thermion_flutter_federated/thermion_flutter/example/web/main.unopt.wasm filter=lfs diff=lfs merge=lfs -text
thermion_flutter_federated/thermion_flutter/example/web/main.wasm filter=lfs diff=lfs merge=lfs -text
thermion_flutter_federated/thermion_flutter/example/web/thermion_dart.js filter=lfs diff=lfs merge=lfs -text
thermion_flutter_federated/thermion_flutter/example/web/thermion_dart.worker.js filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libmatdbg_resources.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libuberarchive.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libcivetweb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libimage.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libviewer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libvkshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libfilagui.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libfilamat_combined.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libtinyexr.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libcamutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libfilamat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libibl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libmikktspace.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libuberzlib.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libzstd.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libfilaflat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libfilamat_lite.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libgltfio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libimageio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libgeometry_combined.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libbluevk.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libdracodec.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libfilabridge.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libfilameshio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libktxreader.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libmatdbg.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libmathio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libsmol-v.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libbackend.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libbluegl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libfilament.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libgeometry.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libstb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libpng.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libfilament-iblprefilter.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libibl-lite.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libmatdbg_combined.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libmath.a filter=lfs diff=lfs merge=lfs -text
examples/assets/default_env/default_env_skybox.ktx filter=lfs diff=lfs merge=lfs -text
examples/assets/shapes/shapes.gltf filter=lfs diff=lfs merge=lfs -text
examples/assets/3.glb filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/textures/Boden_baseColor.jpg filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet.bin filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet.gltf filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic1.png filter=lfs diff=lfs merge=lfs -text
examples/assets/default_env filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/textures/Boden_metallicRoughness.jpg filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_baseColor3.png filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic4.png filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/README.md filter=lfs diff=lfs merge=lfs -text
examples/assets/default_env/default_env_ibl.ktx filter=lfs diff=lfs merge=lfs -text
examples/assets/shapes/shapes.blend filter=lfs diff=lfs merge=lfs -text
examples/assets/shapes/shapes.glb filter=lfs diff=lfs merge=lfs -text
examples/assets/2.glb filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_normal.png filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_normal1.png filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic3.png filter=lfs diff=lfs merge=lfs -text
examples/assets/background.ktx filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/scene.bin filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_baseColor4.png filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_normal4.png filter=lfs diff=lfs merge=lfs -text
examples/assets/shapes/shapes.blend1 filter=lfs diff=lfs merge=lfs -text
examples/assets/solidcolor.mat filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/textures/body_baseColor.jpg filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/textures/body_emissive.jpg filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic.png filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic2.png filter=lfs diff=lfs merge=lfs -text
examples/assets/solidcolor.filamat filter=lfs diff=lfs merge=lfs -text
examples/assets/1.glb filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/scene.gltf filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_normal2.png filter=lfs diff=lfs merge=lfs -text
examples/assets/shapes/texture_test.png filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_normal3.png filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/textures filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/textures/Boden_normal.jpg filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/textures/body_normal.jpg filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/textures/material_metallicRoughness.jpg filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_baseColor.png filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_baseColor2.png filter=lfs diff=lfs merge=lfs -text
examples/assets/shapes filter=lfs diff=lfs merge=lfs -text
examples/assets/shapes/shapes.bin filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/textures/body_metallicRoughness.jpg filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/textures/material_baseColor.jpg filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/textures/material_normal.jpg filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_baseColor1.png filter=lfs diff=lfs merge=lfs -text
examples/assets/background.png filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/shapes/shapes.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/app/intermediates/assets/debug/flutter_assets/assets/2.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/app/intermediates/assets/debug/flutter_assets/assets/3.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/macos/Build/Products/Debug/example.app/Contents/Frameworks/App.framework/Versions/A/Resources/flutter_assets/assets/shapes/shapes.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/app/intermediates/assets/debug/flutter_assets/assets/1.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/app/intermediates/flutter/debug/flutter_assets/assets/shapes/shapes.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/macos/Build/Products/Debug/example.app/Contents/Frameworks/App.framework/Versions/A/Resources/flutter_assets/assets/1.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/macos/Build/Products/Debug/example.app/Contents/Frameworks/App.framework/Versions/A/Resources/flutter_assets/assets/3.glb filter=lfs diff=lfs merge=lfs -text
thermion_dart/test/assets/shapes.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/app/intermediates/flutter/debug/flutter_assets/assets/1.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/1.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/app/intermediates/flutter/debug/flutter_assets/assets/3.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/2.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/3.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/macos/Build/Products/Debug/example.app/Contents/Frameworks/App.framework/Versions/A/Resources/flutter_assets/assets/2.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/app/intermediates/assets/debug/flutter_assets/assets/shapes/shapes.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/app/intermediates/flutter/debug/flutter_assets/assets/2.glb filter=lfs diff=lfs merge=lfs -text

View File

@@ -1,29 +0,0 @@
name: Dart Analyzer
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v1
with:
java-version: '12.x'
- name: Install Flutter
uses: subosito/flutter-action@v1
with:
flutter-version: '2.x'
- name: Get dependencies
run: flutter pub get
- name: Analyze
run: flutter analyze

View File

@@ -1,35 +0,0 @@
name: PubDev Score
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
package-analysis:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: axel-op/dart-package-analyzer@v3
id: analysis
with:
githubToken: ${{ secrets.GITHUB_TOKEN }}
# use this id to retrieve the outputs in the next steps
# exit dirty when the package doesn't reach 100%
- name: Check scores
env:
# "analysis" is the id set above
# PERCENTAGE=$(( $TOTAL * 100 / $TOTAL_MAX ))
TOTAL: ${{ steps.analysis.outputs.total }}
TOTAL_MAX: ${{ steps.analysis.outputs.total_max }}
JSON_OUT: ${{ steps.analysis.outputs.json_output }}
run: |
if (( $TOTAL != $TOTAL_MAX ))
then
echo There are missing points in the project!
echo $TOTAL from $TOTAL_MAX Points reached
echo $JSON_OUT | jq
exit 1
fi

14
.gitignore vendored
View File

@@ -1,4 +1,12 @@
**/*/.cxx
**/.github
**/.idea
.dart_tool
**/.dart_tool
.vscode
macos/src
macos/include
.DS_Store
.DS_Store
**/*/build
**/*/pubspec.lock
pubspec_overrides.yaml
/pubspec.lock
*.iml

View File

@@ -1,19 +0,0 @@
<component name="libraryTable">
<library name="Dart SDK">
<CLASSES>
<root url="file:///Users/admin/Downloads/flutter/bin/cache/dart-sdk/lib/async" />
<root url="file:///Users/admin/Downloads/flutter/bin/cache/dart-sdk/lib/collection" />
<root url="file:///Users/admin/Downloads/flutter/bin/cache/dart-sdk/lib/convert" />
<root url="file:///Users/admin/Downloads/flutter/bin/cache/dart-sdk/lib/core" />
<root url="file:///Users/admin/Downloads/flutter/bin/cache/dart-sdk/lib/developer" />
<root url="file:///Users/admin/Downloads/flutter/bin/cache/dart-sdk/lib/html" />
<root url="file:///Users/admin/Downloads/flutter/bin/cache/dart-sdk/lib/io" />
<root url="file:///Users/admin/Downloads/flutter/bin/cache/dart-sdk/lib/isolate" />
<root url="file:///Users/admin/Downloads/flutter/bin/cache/dart-sdk/lib/math" />
<root url="file:///Users/admin/Downloads/flutter/bin/cache/dart-sdk/lib/mirrors" />
<root url="file:///Users/admin/Downloads/flutter/bin/cache/dart-sdk/lib/typed_data" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

10
.idea/modules.xml generated
View File

@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/holovox_filament.iml" filepath="$PROJECT_DIR$/holovox_filament.iml" />
<module fileurl="file://$PROJECT_DIR$/android/holovox_filament_android.iml" filepath="$PROJECT_DIR$/android/holovox_filament_android.iml" />
<module fileurl="file://$PROJECT_DIR$/example/android/holovox_filament_example_android.iml" filepath="$PROJECT_DIR$/example/android/holovox_filament_example_android.iml" />
</modules>
</component>
</project>

View File

@@ -1,6 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="example/lib/main.dart" type="FlutterRunConfigurationType" factoryName="Flutter">
<option name="filePath" value="$PROJECT_DIR$/example/lib/main.dart" />
<method />
</configuration>
</component>

45
.idea/workspace.xml generated
View File

@@ -1,45 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="FileEditorManager">
<leaf>
<file leaf-file-name="holovox_filament.dart" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/lib/holovox_filament.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="main.dart" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/example/lib/main.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="ToolWindowManager">
<editor active="true" />
<layout>
<window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
</layout>
</component>
<component name="ProjectView">
<navigator currentView="ProjectPane" proportions="" version="1">
</navigator>
<panes>
<pane id="ProjectPane">
<option name="show-excluded-files" value="false" />
</pane>
</panes>
</component>
<component name="PropertiesComponent">
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="dart.analysis.tool.window.force.activate" value="true" />
<property name="show.migrate.to.gradle.popup" value="false" />
</component>
</project>

View File

@@ -1,9 +1,858 @@
## 0.6.0
# Change Log
* `createViewer` is no longer called by `FilamentWidget` and must be called manually at least one frame after a FilamentWidget has been inserted into the widget hierarchy.
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## 2024-10-02
### Changes
---
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
- [`thermion_dart` - `v0.2.1-dev.0.0.4`](#thermion_dart---v021-dev004)
- [`thermion_flutter_web` - `v0.1.0+5`](#thermion_flutter_web---v0105)
- [`thermion_flutter` - `v0.2.1-dev.3`](#thermion_flutter---v021-dev3)
- [`thermion_flutter_platform_interface` - `v0.2.1-dev.3`](#thermion_flutter_platform_interface---v021-dev3)
- [`thermion_flutter_ffi` - `v0.2.1-dev.3`](#thermion_flutter_ffi---v021-dev3)
Packages with dependency updates only:
> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
- `thermion_flutter_web` - `v0.1.0+5`
- `thermion_flutter` - `v0.2.1-dev.3`
- `thermion_flutter_platform_interface` - `v0.2.1-dev.3`
- `thermion_flutter_ffi` - `v0.2.1-dev.3`
---
#### `thermion_dart` - `v0.2.1-dev.0.0.4`
## 0.5.0
## 2024-10-02
### Changes
---
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
- [`thermion_dart` - `v0.2.1-dev.0.0.3`](#thermion_dart---v021-dev003)
- [`thermion_flutter_web` - `v0.1.0+4`](#thermion_flutter_web---v0104)
- [`thermion_flutter` - `v0.2.1-dev.2`](#thermion_flutter---v021-dev2)
- [`thermion_flutter_platform_interface` - `v0.2.1-dev.2`](#thermion_flutter_platform_interface---v021-dev2)
- [`thermion_flutter_ffi` - `v0.2.1-dev.2`](#thermion_flutter_ffi---v021-dev2)
Packages with dependency updates only:
> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
- `thermion_flutter_web` - `v0.1.0+4`
- `thermion_flutter` - `v0.2.1-dev.2`
- `thermion_flutter_platform_interface` - `v0.2.1-dev.2`
- `thermion_flutter_ffi` - `v0.2.1-dev.2`
---
#### `thermion_dart` - `v0.2.1-dev.0.0.3`
- Bump "thermion_dart" to `0.2.1-dev.0.0.3`.
## 2024-10-02
### Changes
---
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
- [`thermion_dart` - `v0.2.1-dev.0.0.2`](#thermion_dart---v021-dev002)
- [`thermion_flutter_web` - `v0.1.0+3`](#thermion_flutter_web---v0103)
- [`thermion_flutter_ffi` - `v0.2.1-dev.1`](#thermion_flutter_ffi---v021-dev1)
- [`thermion_flutter` - `v0.2.1-dev.1`](#thermion_flutter---v021-dev1)
- [`thermion_flutter_platform_interface` - `v0.2.1-dev.1`](#thermion_flutter_platform_interface---v021-dev1)
Packages with dependency updates only:
> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
- `thermion_flutter_web` - `v0.1.0+3`
- `thermion_flutter_ffi` - `v0.2.1-dev.1`
- `thermion_flutter` - `v0.2.1-dev.1`
- `thermion_flutter_platform_interface` - `v0.2.1-dev.1`
---
#### `thermion_dart` - `v0.2.1-dev.0.0.2`
## 2024-10-02
### Changes
---
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
- [`thermion_dart` - `v0.2.1-dev.0.0.1`](#thermion_dart---v021-dev001)
- [`thermion_flutter_web` - `v0.1.0+2`](#thermion_flutter_web---v0102)
- [`thermion_flutter` - `v0.2.1-dev.0`](#thermion_flutter---v021-dev0)
- [`thermion_flutter_platform_interface` - `v0.2.1-dev.0`](#thermion_flutter_platform_interface---v021-dev0)
- [`thermion_flutter_ffi` - `v0.2.1-dev.0`](#thermion_flutter_ffi---v021-dev0)
Packages with dependency updates only:
> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
- `thermion_flutter_web` - `v0.1.0+2`
- `thermion_flutter` - `v0.2.1-dev.0`
- `thermion_flutter_platform_interface` - `v0.2.1-dev.0`
- `thermion_flutter_ffi` - `v0.2.1-dev.0`
---
#### `thermion_dart` - `v0.2.1-dev.0.0.1`
## 2024-10-02
### Changes
---
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
- [`thermion_dart` - `v0.2.1-dev.0.0.0`](#thermion_dart---v021-dev000)
- [`thermion_flutter` - `v0.2.1-dev.0.0.0`](#thermion_flutter---v021-dev000)
- [`thermion_flutter_ffi` - `v0.2.1-dev.0.0.0`](#thermion_flutter_ffi---v021-dev000)
- [`thermion_flutter_platform_interface` - `v0.2.1-dev.0.0.0`](#thermion_flutter_platform_interface---v021-dev000)
- [`thermion_flutter_web` - `v0.1.0+1`](#thermion_flutter_web---v0101)
Packages with dependency updates only:
> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
- `thermion_flutter_web` - `v0.1.0+1`
---
#### `thermion_dart` - `v0.2.1-dev.0.0.0`
- y
#### `thermion_flutter` - `v0.2.1-dev.0.0.0`
- y
#### `thermion_flutter_ffi` - `v0.2.1-dev.0.0.0`
- y
#### `thermion_flutter_platform_interface` - `v0.2.1-dev.0.0.0`
- y
## 2024-10-02
### Changes
---
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
- [`thermion_dart` - `v0.2.0`](#thermion_dart---v020)
- [`thermion_flutter` - `v0.2.0`](#thermion_flutter---v020)
- [`thermion_flutter_ffi` - `v0.2.0`](#thermion_flutter_ffi---v020)
- [`thermion_flutter_platform_interface` - `v0.2.0`](#thermion_flutter_platform_interface---v020)
- [`thermion_flutter_web` - `v0.1.0`](#thermion_flutter_web---v010)
Packages graduated to a stable release (see pre-releases prior to the stable version for changelog entries):
- `thermion_dart` - `v0.2.0`
- `thermion_flutter` - `v0.2.0`
- `thermion_flutter_ffi` - `v0.2.0`
- `thermion_flutter_platform_interface` - `v0.2.0`
- `thermion_flutter_web` - `v0.1.0`
---
#### `thermion_dart` - `v0.2.0`
#### `thermion_flutter` - `v0.2.0`
#### `thermion_flutter_ffi` - `v0.2.0`
#### `thermion_flutter_platform_interface` - `v0.2.0`
#### `thermion_flutter_web` - `v0.1.0`
## 2024-10-02
### Changes
---
Packages with breaking changes:
- [`thermion_dart` - `v0.2.0-dev.8.0.0`](#thermion_dart---v020-dev800)
- [`thermion_flutter_ffi` - `v0.2.0-dev.8.0.0`](#thermion_flutter_ffi---v020-dev800)
Packages with other changes:
- [`thermion_flutter` - `v0.2.0-dev.8.0.0`](#thermion_flutter---v020-dev800)
- [`thermion_flutter_platform_interface` - `v0.2.0-dev.8.0.0`](#thermion_flutter_platform_interface---v020-dev800)
- [`thermion_flutter_web` - `v0.1.0-dev.8.0.0`](#thermion_flutter_web---v010-dev800)
Packages with dependency updates only:
> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
- `thermion_flutter_web` - `v0.1.0-dev.8.0.0`
---
#### `thermion_dart` - `v0.2.0-dev.8.0.0`
- **REFACTOR**: continual refactor to support multiple render targets.
- **FEAT**: camera and resizing improvements.
- **FEAT**: support multiple ThermionWidget on Android.
- **FEAT**: use imported texture on iOS.
- **FEAT**: working implementation of multiple widgets on macos.
- **FEAT**: more work on multiple views/swapchains.
- **FEAT**: add setParameterFloat2 method.
- **FEAT**: add setParameterFloat2 method.
- **FEAT**: add uvScale to unlit material.
- **FEAT**: add ThirdPersonCameraDelegate.
- **FEAT**: set camera model matrix directly.
- **FEAT**: expose more camera methods.
- **BREAKING** **REFACTOR**: refactor to support multiple Views/Render Targets.
- **BREAKING** **REFACTOR**: remove RenderThread methods no longer needed.
- **BREAKING** **FIX**: replace queuePosition/Rotation with queueTransforms.
- **BREAKING** **FIX**: replace queuePosition/Rotation with queueTransforms.
- **BREAKING** **FIX**: replace queuePosition/Rotation with queueTransforms.
- **BREAKING** **FIX**: replace queuePosition/Rotation with queueTransforms.
- **BREAKING** **FEAT**: big refactor to support multiple swapchains.
- **BREAKING** **FEAT**: set baseColorIndex to -1 by default in unlit materialss.
#### `thermion_flutter_ffi` - `v0.2.0-dev.8.0.0`
- **REFACTOR**: continual refactor to support multiple render targets.
- **FEAT**: support multiple ThermionWidget on Android.
- **FEAT**: use imported texture on iOS.
- **FEAT**: working implementation of multiple widgets on macos.
- **BREAKING** **REFACTOR**: refactor to support multiple Views/Render Targets.
- **BREAKING** **FEAT**: big refactor to support multiple swapchains.
#### `thermion_flutter` - `v0.2.0-dev.8.0.0`
- **REFACTOR**: continual refactor to support multiple render targets.
- **FEAT**: camera and resizing improvements.
- **FEAT**: support multiple ThermionWidget on Android.
- **FEAT**: use imported texture on iOS.
- **FEAT**: working implementation of multiple widgets on macos.
- **FEAT**: add rendering check to ThermionWidget ticker.
#### `thermion_flutter_platform_interface` - `v0.2.0-dev.8.0.0`
- **REFACTOR**: continual refactor to support multiple render targets.
- **FEAT**: support multiple ThermionWidget on Android.
- **FEAT**: working implementation of multiple widgets on macos.
# Change Log
v0.2.0
- **BREAKING** Dart SDK 3.6.0 required
- **BREAKING** Libraries have been restructured so you should only need to import `package:thermion_dart/thermion_dart.dart`, `package:thermion_flutter/thermion_flutter.dart`
- **BREAKING** The former GestureDetector widgets and EntityControllerMouseWidget/EntityTransformController have been removed and replaced with ThermionListenerWidget. that accepts an InputHandler.
- **BREAKING** The former debugging widgets and Scene class have been removed.
- **REFACTOR** The creation of the main camera has been refactored; the default projection & near/far planes should not have changed, but pay close attention.
- **REFACTOR**: add methods for create/destroy material instance, add priority/layer to load_glb_from_buffer.
- **FEAT**: Translation gizmo, stencil highlight & overlays.
- **FEAT**: new setLightDirection and setLightPosition.
- **FEAT**: move HighlightOverlay to nested class, move createGeometry to SceneManager, add queueRelativePositionUpdateFromViewportVector.
- **FEAT**: move createGeometry to SceneManager, add queueRelativePositionUpdateFromViewportVector and removeStencilHighlight.
- **FEAT**: add setGizmoVisibility/pickGizmo methods to ThermionViewer.
- **FEAT**: remove gizmo view references, exclude gizmo entities from picking, add createIbl.
- **FEAT**: set stencil highlight on gizmo attach.
- **FEAT**: add getAncestor method.
- **FEAT**: expose API methods for create_ibl, pick/set gizmo visibility.
- **FEAT**: create transparent overlay for gizmo for easier picking.
- **FEAT**: rescale gizmo based on distance from camera.
- **FEAT**: rescale gizmo based on distance from camera.
- **FEAT**: add getAncestor method.
- **FEAT**: add startOffset parameter to gltf playAnimation.
- **FEAT**: layers, grid.
- **FEAT**: layers, grid.
- **FEAT**: ignore grid overlay and gizmo center when picking, implement highlighting.
- **FEAT**: SceneManager updates (setLayer, add grid, queueRelativePositionUpdateWorld.
- **FEAT**: expose set_layer_enabled, get_camera_fov and queue_relative_position_updateg_world_axis to ThermionDartApi.h.
- **FEAT**: add getCameraFov to FilamentViewer.
- **FEAT**: add new grid overlay files to web CmakeLists.
- **FEAT**: re-implement (native) Gizmo class, expose preserveScaling parameter for setParent, add methods for getting viewport bounding box from renderable entity.
- **FEAT**: expose setLayerEnabled, viewportDimensions and getCameraFov on ThermionView.
- **FEAT**: download WASM module directly on web (no need to embed in index.html any more) and expose updateViewportAndCameraProjection.
- **FEAT**: add capture() function and expose viewportDimensions on ThermionViewer (allows easier saving of captured images to PNG).
- **FEAT**: (web) allow table growth in emscripten module for passing C-style callback function pointers.
- **FEAT**: (web) add capture() method and missing camera navigation controls.
- **FEAT**: createIbl.
- **BREAKING** **FEAT**: (web) (flutter) create canvas when createViewer is called (no longer need to manually add canvas element to web HTML).
- **BREAKING** **FEAT**: update web/http dependencies.
- **FIX**: (flutter) pass ThermionFlutterOptions to ThermionWidget, use dpr for resizeTexture, delete unnecessary TransparencyPainter class.
- **FIX**: (flutter/web) use window.devicePixelRatio for viewport.
- **FIX**: (flutter) desktop gesture detector changes for new Gizmo methods.
- **FEAT**: allow passing null options to ThermionWidget.
- **FEAT**: (flutter) (web) if importCanvasAsWidget is false, render transparency.
- **FEAT**: add createViewerWithOptions to ThermionFlutterPlugin and mark createViewer as deprecated.
- **FEAT**: add createViewerWithOptions to ThermionFlutterPlugin and mark createViewer as deprecated.
- **FEAT**: highlight gizmo on hover.
- **BREAKING** **FIX**: (flutter) pass pixelRatio to createTexture.
- **BREAKING** **FIX**: (flutter) pass pixelRatio to createTexture.
- **BREAKING** **FEAT**: (web) (flutter) create canvas when createViewer is called (no longer need to manually add canvas element to web HTML).
- **BREAKING** **FEAT**: resize canvas on web.
- **BREAKING** **CHORE**: rename controller to viewer in gesture detector widgets.
- **FEAT**: (flutter) move DPR calculation to resizeTexture and add createViewerWithOptions method to ThermionFlutterFFI.
- **BREAKING** **FIX**: (flutter) pass pixelRatio to createTexture.
- **FEAT**: add createViewerWithOptions to ThermionFlutterPlugin and mark createViewer as deprecated.
- **FEAT**: add ThermionFlutterOptions classes, rename interface parameter for offsetTop and ensure pixelRatio is passed to resizeTexture.
- **BREAKING** **FIX**: (flutter) pass pixelRatio to createTexture.
- **FIX**: (flutter/web) use window.devicePixelRatio for viewport.
- **FEAT**: (flutter) (web) use options to determine whether to create canvas, and set fixed position + offset.
- **FEAT**: add ThermionFlutterOptions classes, rename interface parameter for offsetTop and ensure pixelRatio is passed to resizeTexture.
- **BREAKING** **FEAT**: (flutter) (web) upgrade package:web dep to 1.0.0.
- **BREAKING** **FEAT**: (web) (flutter) create canvas when createViewer is called (no longer need to manually add canvas element to web HTML).
- **BREAKING** **FEAT**: resize canvas on web.
## v0.1.3
- **FIX**: manually remove leading slash for compiler path on Windows when building for Android.
- **FIX**: web/JS bool checks need to compare to int.
- **FIX**: shadow JS<->WASM bridge methods.
- **FIX**: manually remove leading slash for compiler path on Windows when building for Android.
- **FIX**: web/JS bool checks need to compare to int.
- **FIX**: shadow JS<->WASM bridge methods.
- **FEAT**: add clearMorphAnimationData function.
- **FEAT**: allow passing assetPathPrefix to ThermionViewerWasm to account for Flutter build asset paths.
- **FEAT**: allow passing assetPathPrefix to ThermionViewerWasm to account for Flutter build asset paths.
#### `thermion_flutter_ffi` - `v0.1.0+12`
- **FIX**: add logging dependency.
- **FIX**: web/JS bool checks need to compare to int.
- **FIX**: add logging dependency.
- **FIX**: web/JS bool checks need to compare to int.
#### `thermion_flutter_web` - `v0.0.3`
- **FEAT**: allow passing assetPathPrefix to ThermionViewerWasm to account for Flutter build asset paths.
- **FEAT**: allow passing assetPathPrefix to ThermionViewerWasm to account for Flutter build asset paths.
## 2024-07-11
### Changes
---
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
- [`thermion_flutter_ffi` - `v0.1.0+11`](#thermion_flutter_ffi---v01011)
- [`thermion_flutter` - `v0.1.1+12`](#thermion_flutter---v01112)
Packages with dependency updates only:
> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
- `thermion_flutter` - `v0.1.1+12`
---
#### `thermion_flutter_ffi` - `v0.1.0+11`
- **FIX**: add logging dependency.
## 2024-07-11
### Changes
---
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
- [`thermion_dart` - `v0.1.2`](#thermion_dart---v012)
- [`thermion_flutter_ffi` - `v0.1.0+10`](#thermion_flutter_ffi---v01010)
- [`thermion_flutter_web` - `v0.0.2`](#thermion_flutter_web---v002)
- [`thermion_flutter` - `v0.1.1+11`](#thermion_flutter---v01111)
- [`thermion_flutter_platform_interface` - `v0.1.0+10`](#thermion_flutter_platform_interface---v01010)
Packages with dependency updates only:
> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
- `thermion_flutter` - `v0.1.1+11`
- `thermion_flutter_platform_interface` - `v0.1.0+10`
---
#### `thermion_dart` - `v0.1.2`
- **FIX**: manually remove leading slash for compiler path on Windows when building for Android.
- **FIX**: web/JS bool checks need to compare to int.
- **FIX**: shadow JS<->WASM bridge methods.
- **FEAT**: allow passing assetPathPrefix to ThermionViewerWasm to account for Flutter build asset paths.
#### `thermion_flutter_ffi` - `v0.1.0+10`
- **FIX**: web/JS bool checks need to compare to int.
#### `thermion_flutter_web` - `v0.0.2`
- **FEAT**: allow passing assetPathPrefix to ThermionViewerWasm to account for Flutter build asset paths.
## 2024-07-04
### Changes
---
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
- [`thermion_dart` - `v0.1.1+5`](#thermion_dart---v0115)
- [`thermion_flutter_web` - `v0.0.1+9`](#thermion_flutter_web---v0019)
- [`thermion_flutter` - `v0.1.1+10`](#thermion_flutter---v01110)
- [`thermion_flutter_platform_interface` - `v0.1.0+9`](#thermion_flutter_platform_interface---v0109)
- [`thermion_flutter_ffi` - `v0.1.0+9`](#thermion_flutter_ffi---v0109)
Packages with dependency updates only:
> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
- `thermion_flutter_web` - `v0.0.1+9`
- `thermion_flutter` - `v0.1.1+10`
- `thermion_flutter_platform_interface` - `v0.1.0+9`
- `thermion_flutter_ffi` - `v0.1.0+9`
---
#### `thermion_dart` - `v0.1.1+5`
- Bump "thermion_dart" to `0.1.1+5`.
## 2024-07-02
### Changes
---
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
- [`thermion_dart` - `v0.1.1+4`](#thermion_dart---v0114)
- [`thermion_flutter_web` - `v0.0.1+8`](#thermion_flutter_web---v0018)
- [`thermion_flutter` - `v0.1.1+9`](#thermion_flutter---v0119)
- [`thermion_flutter_platform_interface` - `v0.1.0+8`](#thermion_flutter_platform_interface---v0108)
- [`thermion_flutter_ffi` - `v0.1.0+8`](#thermion_flutter_ffi---v0108)
Packages with dependency updates only:
> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
- `thermion_flutter_web` - `v0.0.1+8`
- `thermion_flutter` - `v0.1.1+9`
- `thermion_flutter_platform_interface` - `v0.1.0+8`
- `thermion_flutter_ffi` - `v0.1.0+8`
---
#### `thermion_dart` - `v0.1.1+4`
- **FIX**: defer creating image entity/material/etc until actually requested.
## 2024-06-27
### Changes
---
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
- [`thermion_dart` - `v0.1.1+3`](#thermion_dart---v0113)
- [`thermion_flutter` - `v0.1.1+8`](#thermion_flutter---v0118)
- [`thermion_flutter_web` - `v0.0.1+7`](#thermion_flutter_web---v0017)
- [`thermion_flutter_platform_interface` - `v0.1.0+7`](#thermion_flutter_platform_interface---v0107)
- [`thermion_flutter_ffi` - `v0.1.0+7`](#thermion_flutter_ffi---v0107)
Packages with dependency updates only:
> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
- `thermion_flutter_web` - `v0.0.1+7`
- `thermion_flutter_platform_interface` - `v0.1.0+7`
- `thermion_flutter_ffi` - `v0.1.0+7`
---
#### `thermion_dart` - `v0.1.1+3`
- **FIX**: bump ffigen dependency version & regenerate bindings (and revert to ffi.Int rather than ffi.Int32).
- **DOCS**: update homepage links and minor documentation updates.
#### `thermion_flutter` - `v0.1.1+8`
- **DOCS**: update homepage links and minor documentation updates.
## 2024-06-26
### Changes
---
Packages with breaking changes:
- [`thermion_dart` - `v0.1.1+2`](#thermion_dart---v0112)
- [`thermion_flutter` - `v0.1.1+7`](#thermion_flutter---v0117)
Packages with other changes:
- [`thermion_flutter_ffi` - `v0.1.0+6`](#thermion_flutter_ffi---v0106)
- [`thermion_flutter_platform_interface` - `v0.1.0+6`](#thermion_flutter_platform_interface---v0106)
- [`thermion_flutter_web` - `v0.0.1+6`](#thermion_flutter_web---v0016)
Packages graduated to a stable release (see pre-releases prior to the stable version for changelog entries):
- `thermion_dart` - `v0.1.1+2`
- `thermion_flutter` - `v0.1.1+7`
- `thermion_flutter_ffi` - `v0.1.0+6`
- `thermion_flutter_platform_interface` - `v0.1.0+6`
- `thermion_flutter_web` - `v0.0.1+6`
---
#### `thermion_dart` - `v0.1.1+2`
#### `thermion_flutter` - `v0.1.1+7`
#### `thermion_flutter_ffi` - `v0.1.0+6`
#### `thermion_flutter_platform_interface` - `v0.1.0+6`
#### `thermion_flutter_web` - `v0.0.1+6`
## 2024-06-26
### Changes
---
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
- [`thermion_dart` - `v0.1.1-dev.0+2`](#thermion_dart---v011-dev02)
- [`thermion_flutter` - `v0.1.1-dev.0+7`](#thermion_flutter---v011-dev07)
- [`thermion_flutter_platform_interface` - `v0.1.0-dev.0+6`](#thermion_flutter_platform_interface---v010-dev06)
- [`thermion_flutter_web` - `v0.0.1-dev.0+6`](#thermion_flutter_web---v001-dev06)
- [`thermion_flutter_ffi` - `v0.1.0-dev.0+6`](#thermion_flutter_ffi---v010-dev06)
Packages with dependency updates only:
> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
- `thermion_flutter_platform_interface` - `v0.1.0-dev.0+6`
- `thermion_flutter_web` - `v0.0.1-dev.0+6`
- `thermion_flutter_ffi` - `v0.1.0-dev.0+6`
---
#### `thermion_dart` - `v0.1.1-dev.0+2`
- **FIX**: revert to std::thread (pthreads not easily available on Windows).
- **FIX**: on Windows, pass static libs via -l rather than custom linkWith property so build.dart stays compatible between published & custom versions.
#### `thermion_flutter` - `v0.1.1-dev.0+7`
- **FIX**: add ResourceBuffer header directly to Windows build so I don't have to fiddle around getting the CMake path right.
## 2024-06-22
### Changes
---
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
- [`thermion_dart` - `v0.1.1+1`](#thermion_dart---v0111)
- [`thermion_flutter` - `v0.1.1+6`](#thermion_flutter---v0116)
- [`thermion_flutter_web` - `v0.0.1+5`](#thermion_flutter_web---v0015)
- [`thermion_flutter_platform_interface` - `v0.1.0+5`](#thermion_flutter_platform_interface---v0105)
- [`thermion_flutter_ffi` - `v0.1.0+5`](#thermion_flutter_ffi---v0105)
Packages with dependency updates only:
> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
- `thermion_flutter_web` - `v0.0.1+5`
- `thermion_flutter_platform_interface` - `v0.1.0+5`
- `thermion_flutter_ffi` - `v0.1.0+5`
---
#### `thermion_dart` - `v0.1.1+1`
- **DOCS**: update with links to playground.
#### `thermion_flutter` - `v0.1.1+6`
- **DOCS**: update with links to playground.
## 2024-06-21
### Changes
---
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
- [`thermion_dart` - `v0.1.1`](#thermion_dart---v011)
---
#### `thermion_dart` - `v0.1.1`
- Bump "thermion_dart" to `0.1.1`.
## 2024-06-21
### Changes
---
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
- [`thermion_dart` - `v0.1.0+4`](#thermion_dart---v0104)
- [`thermion_flutter_web` - `v0.0.1+4`](#thermion_flutter_web---v0014)
- [`thermion_flutter_platform_interface` - `v0.1.0+4`](#thermion_flutter_platform_interface---v0104)
- [`thermion_flutter` - `v0.1.1+5`](#thermion_flutter---v0115)
- [`thermion_flutter_ffi` - `v0.1.0+4`](#thermion_flutter_ffi---v0104)
Packages with dependency updates only:
> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
- `thermion_flutter_web` - `v0.0.1+4`
- `thermion_flutter_platform_interface` - `v0.1.0+4`
- `thermion_flutter` - `v0.1.1+5`
- `thermion_flutter_ffi` - `v0.1.0+4`
---
#### `thermion_dart` - `v0.1.0+4`
- **FIX**: add dummy asset to build.dart on Linux builds so we can use the package on a Linux host.
## 2024-06-21
### Changes
---
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
- [`thermion_dart` - `v0.1.0+3`](#thermion_dart---v0103)
- [`thermion_flutter_web` - `v0.0.1+3`](#thermion_flutter_web---v0013)
- [`thermion_flutter` - `v0.1.1+4`](#thermion_flutter---v0114)
- [`thermion_flutter_platform_interface` - `v0.1.0+3`](#thermion_flutter_platform_interface---v0103)
- [`thermion_flutter_ffi` - `v0.1.0+3`](#thermion_flutter_ffi---v0103)
Packages with dependency updates only:
> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
- `thermion_flutter_web` - `v0.0.1+3`
- `thermion_flutter` - `v0.1.1+4`
- `thermion_flutter_platform_interface` - `v0.1.0+3`
- `thermion_flutter_ffi` - `v0.1.0+3`
---
#### `thermion_dart` - `v0.1.0+3`
- **FIX**: exit build.dart early on Linux builds so we can use the package on a Linux host.
## 2024-06-21
### Changes
---
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
- [`thermion_dart` - `v0.1.0+2`](#thermion_dart---v0102)
- [`thermion_flutter_ffi` - `v0.1.0+2`](#thermion_flutter_ffi---v0102)
- [`thermion_flutter_web` - `v0.0.1+2`](#thermion_flutter_web---v0012)
- [`thermion_flutter` - `v0.1.1+3`](#thermion_flutter---v0113)
- [`thermion_flutter_platform_interface` - `v0.1.0+2`](#thermion_flutter_platform_interface---v0102)
Packages with dependency updates only:
> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
- `thermion_flutter_web` - `v0.0.1+2`
- `thermion_flutter` - `v0.1.1+3`
- `thermion_flutter_platform_interface` - `v0.1.0+2`
---
#### `thermion_dart` - `v0.1.0+2`
- **REFACTOR**: rearrange some stubs/imports for easier web WASM deployment.
#### `thermion_flutter_ffi` - `v0.1.0+2`
- **REFACTOR**: rearrange some stubs/imports for easier web WASM deployment.
## 2024-06-21
### Changes
---
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
- [`thermion_flutter` - `v0.1.1+2`](#thermion_flutter---v0112)
---
#### `thermion_flutter` - `v0.1.1+2`
- **FIX**: update Flutter example project to use new API.
- **FIX**: add logging dependency to thermion_flutter.
## 2024-06-21
### Changes
---
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
- [`thermion_dart` - `v0.1.0+1`](#thermion_dart---v0101)
- [`thermion_flutter` - `v0.1.1+1`](#thermion_flutter---v0111)
- [`thermion_flutter_web` - `v0.0.1+1`](#thermion_flutter_web---v0011)
- [`thermion_flutter_platform_interface` - `v0.1.0+1`](#thermion_flutter_platform_interface---v0101)
- [`thermion_flutter_ffi` - `v0.1.0+1`](#thermion_flutter_ffi---v0101)
Packages with dependency updates only:
> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
- `thermion_flutter_platform_interface` - `v0.1.0+1`
- `thermion_flutter_ffi` - `v0.1.0+1`
---
#### `thermion_dart` - `v0.1.0+1`
- **REFACTOR**: export ThermionViewerWasm for web and hide FFI/WASM version.
- **FIX**: use preserveDrawingBuffer=true on web.
#### `thermion_flutter` - `v0.1.1+1`
- **REFACTOR**: export ThermionViewerWasm for web and hide FFI/WASM version.
- **FIX**: catch exception if gizmo unavailable in ThermionGestureDestectorDesktop.
#### `thermion_flutter_web` - `v0.0.1+1`
- **REFACTOR**: export ThermionViewerWasm for web and hide FFI/WASM version.
* Replaced `isReadyForScene` Future in `FilamentController` with the `Stream<bool>` `hasViewer`.
* Rendering is set to false when the app is hidden, inactive or paused; on resume, this will be set to the value it held prior to being hidden/inactive/paused.

202
LICENSE
View File

@@ -1 +1,201 @@
TODO: Add your license here.
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2024 Nick Fisher
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@@ -1,27 +1,36 @@
mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST)))
current_dir := $(dir $(mkfile_path))
parent_dir := $(abspath $(dir $(lastword $(MAKEFILE_LIST)))/..)
dart-web:
cd thermion_dart/native/web; mkdir -p build && cd build && emcmake cmake .. && emmake make
dart-web-clean:
cd thermion_dart/native/web && rm -rf build
dart-wasm-cli-example: dart-web-clean dart-web
cd thermion_dart/examples/cli_wasm/bin && dart compile wasm example_cli.dart && node main.js
dart-web-example: dart-web
cp thermion_dart/native/web/build/build/out/thermion_dart* examples/web_wasm/bin
cd thermion_dart/examples/web_wasm/bin && dart compile wasm example_web.dart
flutter-example-web: dart-web-clean dart-web
cd thermion_flutter_federated/thermion_flutter/example/web && dart compile wasm main.dart && cd .. && flutter build web --wasm --profile
flutter-example-macos:
cd thermion_flutter_federated/thermion_flutter/example/web && flutter run -d macos
swift-bindings:
swiftc -c thermion_flutter/thermion_flutter/macos/Classes/ThermionTexture.swift -module-name swift_module -emit-objc-header-path thermion_dart/native/include/generated/ThermionTextureSwiftObjCAPI.h -emit-library -o thermion_dart/test/libThermionTextureSwift.dylib
cd thermion_dart/ && dart --enable-experiment=native-assets run ffigen --config ffigen/swift.yaml
bindings:
cd thermion_dart/ && dart --enable-experiment=native-assets run ffigen --config ffigen/native.yaml
filament_build_out := $(parent_dir)/filament/out/cmake-release
# We compile a small set of custom materials for various helpers (background image, gizmo, etc)
# You must specify the `FILAMENT_PATH` environment variable, either the path /out/release
# eg: FILAMENT_PATH=/path/to/filament/out/release/bin make materials
#
materials: FORCE
@echo "Using Filament build from ${FILAMENT_PATH}"
@for material in unlit image gizmo grid; do \
${FILAMENT_PATH}/matc -a opengl -a metal -o materials/$$material.filamat materials/$$material.mat; \
$(FILAMENT_PATH)/resgen -c -p $$material -x thermion_dart/native/include/material/ materials/$$material.filamat; \
echo '#include "'$$material'.h"' | cat - thermion_dart/native/include/material/$$material.c > thermion_dart/native/include/material/$$material.c.new; \
mv thermion_dart/native/include/material/$$material.c.new thermion_dart/native/include/material/$$material.c; \
done
# building on MacOS, we currently just delete the macos/include
# and macos/src directories and copy from iOS
sync-macos: FORCE
rm -rf ${current_dir}macos/include ${current_dir}macos/src
cp -R ${current_dir}ios/include ${current_dir}macos
cp -R ${current_dir}ios/src ${current_dir}macos
#rm materials/*.filamat
FORCE: ;
# We use a single material (no lighting and no transparency) for background images
#
# by default this assumes you have built filament in a sibling folder
# you may customize the out folder by speicifying `filament_build_out`
#
# eg: make generate-background-material filament_build_out=/filament/out/release
#
generate-background-material:
${filament_build_out}/tools/matc/matc -a opengl -a metal -o materials/image.filamat materials/image.mat
${filament_build_out}/tools/resgen/resgen -c -p image -x ios/include/material/ materials/image.filamat
rm materials/image.filamat

447
README.md
View File

@@ -1,433 +1,38 @@
# Flutter Filament
![Thermion Logo](docs/logo.png)
Cross-platform, 3D PBR rendering and animation for [Flutter](https://github.com/google/filament).
<p align="center">
<a href="https://thermion.dev/quickstart">Quickstart (Flutter)</a> •
<a href="https://thermion.dev/">Documentation</a> •
<a href="https://thermion.dev/examples">Showcase</a> •
<a href="https://dartpad.thermion.dev/">Playground</a> •
<a href="https://discord.gg/h2VdDK3EAQ">Discord</a>
</p>
Wraps the [the Filament rendering library](https://github.com/google/filament).
## Cross-platform 3D toolkit for Dart and Flutter.
Powers the [Polyvox](https://polyvox.app) and [odd-io](https://github.com/odd-io/) engines.
<a href="https://pub.dev/packages/thermion_dart"><img src="https://img.shields.io/pub/v/thermion_dart?label=pub.dev&labelColor=333940&logo=dart&color=00589B" alt="pub"></a>
<a href="https://github.com/nmfisher/thermion"><img src="https://img.shields.io/github/stars/nmfisher/flutter_filament?style=flat&label=stars&labelColor=333940&color=8957e5&logo=github" alt="github"></a>
<a href="https://discord.gg/h2VdDK3EAQ"><img src="https://img.shields.io/discord/993167615587520602?logo=discord&logoColor=fff&labelColor=333940" alt="discord"></a>
<a href="https://github.com/nmfisher/thermion"><img src="https://img.shields.io/github/contributors/nmfisher/flutter_filament?logo=github&labelColor=333940" alt="contributors"></a>
This is still in beta: bugs/missing features are to be expected.
### Features
https://github.com/nmfisher/flutter_filament/assets/7238578/abaed1c8-c97b-4999-97b2-39e85e0fa7dd
- Supports iOS (arm64), MacOS (arm64/x64), Android (arm64), Windows (x64) (>= 10), Web/WASM
- glTF, KTX, PNG & JPEG texture support
- camera/entity manipulation with mouse (desktop) and gestures (mobile)
- skinning + morph animations
### Sponsors, Contributors & Acknowledgments
|Feature|Supported|
|---|---|
|Platforms|✅ iOS (arm64)<br/>✅ MacOS (arm64)<br/>✅ Android (arm64) <br/>✅ Windows (x64) (>= 10)<br/>⚠️ Linux (x64 - broken)<br/>⚠️ Web (planned)|
|Formats|✅ glb <br/>⚠️ glTF (partial - see Known Issues)|
|Texture support|✅ PNG <br/>✅ JPEG <br/>✅ KTX <br/>⚠️ KTX2 (planned)|
|Camera movement|✅ Desktop (mouse)<br/>✅ Mobile (swipe/pinch)|
|Animation|✅ Embedded glTF skinning animations<br/>✅ Embedded glTF morph animations<br/> ✅ Runtime/dynamic morph animations<br/> ⚠️ Runtime/dynamic skinning animations <br/>
|Entity manipulation|✅ Viewport selection<br/>⚠️ Entity/transform parenting (planned)<br/> ⚠️ Transform manipulation (mouse/gesture to rotate/translate/scale object) (partial)<br/>⚠️ Runtime material changes (planned)|
Thermion uses the [Filament](https://github.com/google/filament) Physically Based Rendering engine under the hood.
Special thanks to [odd-io](https://github.com/odd-io/) for sponsoring work on supporting Windows, raycasting, testing and documentation.
PRs are welcome but please create a placeholder PR to discuss before writing any code. This will help with feature planning, avoid clashes with existing work and keep the project structure consistent.
Thank you to the following people:
## Getting Started
- @Hannnes1 for help migrating to `native-assets`
- @jarrodcolburn for documentation contributions
- @daverin for MacOS library contributions
- @LukasPoque for CI/refactoring work
- @alexmercerind for his work on integrating ANGLE textures on Flutter Windows
This package requires Flutter >= `3.16.0-0.2.pre`, so you will need to first switch to the `beta` channel:
```
flutter channel beta
flutter upgrade
```
There are specific issues with earlier versions on Windows/MacOS (mobile should actually be fine, so if you want to experiment on your own you're free to remove the minimum version from `pubspec.yaml`).
Next, clone this repository and pull the latest binaries from Git LFS:
```
cd $HOME
git clone <repo> && cd flutter_filament
git lfs pull
```
(this step won't be needed after the plugin is published to pub.dev).
> You *do not need to build Filament yourself*. The repository is bundled with all necessary headers/static libraries (`windows/lib`, `ios/lib`, `macos/lib` and `linux/lib`) and the Flutter plugin has been configured to link at build time.
Run the example project to check:
```
cd example && flutter run -d <macos/windows/Your iPhone/etc>
```
To use the plugin in your own project, add the plugin to your pubspec.yaml:
```
name: your_project
description: Your project
...
dependencies:
flutter:
sdk: flutter
flutter_filament:
path: <path where you cloned the repository>
```
## Basic Usage
See the `example` project for a complete sample that incorporates many of the below steps, and more.
### Creating the viewport widget and controller
Create an instance of `FilamentControllerFFI` somewhere in your app where it will not be garbage collected until you no longer need a rendering canvas:
```
class MyApp extends StatelessWidget {
final _filamentController = FilamentControllerFFI();
...
}
```
This is a relatively lightweight object, however its constructor will load/bind symbols from the native library. This may momentarily block the UI, so you may wish to structure your app so that this is hidden behind a static widget until it is available.
Next, create an instance of `FilamentWidget` in the widget hierarchy where you want the rendering canvas to appear. This can be sized as large or as small as you want. On most platforms, Flutter widgets can be positioned above or below the `FilamentWidget`.
```
class MyApp extends StatelessWidget {
final _filamentController = FilamentControllerFFI();
@override
Widget build(BuildContext context) {
return MaterialApp(
color: Colors.white,
home: Scaffold(backgroundColor: Colors.white, body: Stack(children:[
Container(color:Colors.green, height:100, width:100),
Positioned.fill(top:100, left:100child:FilamentWidget(controller:_filamentController)),
Positioned(right:0, bottom:0, child:Container(color:Colors.purple, height:100, width:100))
])));
}
}
```
When a `FilamentWidget` is added to the widget hierarchy:
1) by default a Container will be rendered with solid red. If you want to change this, pass a widget as the `initial` paramer to the `FilamentWidget` constructor.
2) on the second frame, `FilamentWidget` will pass its dimensions/pixel ratio to the `FilamentController`
3) You can then call `createViewer` to create:
* the rendering surface (on most platforms, a backing texture that will be registered with Flutter for use in a `Texture` widget)
* a rendering thread
* a `FilamentViewer` and an `AssetManager`, which will allow you to load assets/cameras/lighting/etc via the `FilamentController`
4) after an indeterminate number of frames, `FilamentController` will notify `FilamentWidget` when a rendering surface is available the viewport
5) `FilamentWidget` will replace the default `initial` Widget with the viewport (which will initially be solid black or white, depending on your platform).
IMPORTANT: there *will* be a delay between adding a `FilamentWidget`, calling `createViewer` and the actual rendering viewport becoming available. This is why we fill `FilamentWidget` with red - to make it abundantly clear that you need to handle this asynchronous delay appropriately. Once `createViewer` has completed, the viewport is available for rendering.
> Currently, the `initial` widget will also be displayed whenever the viewport is resized (including changing orientation on mobile and drag-to-resize on desktop). You probably want to change this from the default red.
Congratulations! You now have a scene. It's completely empty, so you probably want to add something visible.
### Load a background
You probably want to set a background for your scene. You can load a skybox:
```
await _filamentController.loadSkybox("assets/default_env/default_env_skybox.ktx)
```
or a static background image:
```
await _filamentController.setBackgroundImage("assets/background.ktx)
```
or a solid background color:
```
await _filamentController.setBackgroundColor(0.0, 1.0, 0.0, 1.0); // solid green
```
At this point, you might not see any change in the viewport. This is because the FilamentController will only actually render into the viewport once `render` has been called.
By default, the FilamentController will only render into the viewport by manually calling `render()` on the FilamentController. This is to avoid needlessly running a render loop when there is nothing to display.
```
await _filamentController.render()
```
You should now see your background displayed in the scene. To automatically render at 60fps, call `setRendering`:
```
await _filamentController.setRendering(true);
```
### Load an asset
To add a glTF asset to the scene, call `loadGlb()` on `FilamentController` with the Flutter asset path to your .glb file.
For example, if your `pubspec.yaml` looks like this:
```
flutter:
assets:
- assets/models/bob.glb
```
Then you would call the following
```
var entity = await _filamentController.loadGlb("assets/models/bob.glb");
```
You can also pass a URI to indicate that the glTF file should be loaded from the filesystem:
```
var entity = await _filamentController.loadGlb("file:///tmp/bob.glb");
```
The return type `FilamentEntity` is simply an integer handle that be used to manipulate the entity in the scene. For example, to remove the asset:
```
await _filamentController.removeAsset(entity);
entity = null;
```
> Removing an entity from the scene will invalidate the corresponding `FilamentEntity` handle, so ensure you don't retain any references to it after calling `removeAsset` or `clearAssets`. Removing one `FilamentEntity` does not invalidate/change any other `FilamentEntity` handles; you can continue to safely manipulate these via the `FilamentController`.
### Lighting
You should now see your object in the viewport, but since we haven't added a light, this will be solid black.
Add an image-based light from a KTX file:
```
await _filamentController.loadIbl("assets/default_env/default_env_ibl.ktx");
```
You can also add dynamic lights:
```
var sun = await _filamentController.addLight(
```
### Manipulating entity transforms
To set the world space position of the asset:
```
_filamentController.setPositon(entity, 1.0, 1.0, 1.0);
```
On desktop, you can also click any renderable object in the viewport to retrieve its associated FilamentEntity (see below).
### Camera movement
To enable mouse/swipe navigation through the scene, wrap the `FilamentWidget` inside a `FilamentGestureDetector`:
```
class MyApp extends StatelessWidget {
final _filamentController = FilamentControllerFFI();
@override
Widget build(BuildContext context) {
return MaterialApp(
color: Colors.white,
home: Scaffold(backgroundColor: Colors.white, body: Stack(children:[
Positioned.fill(child:FilamentGestureDetector(
controller: _filamentController,
child:FilamentWidget(
controller:_filamentController
))),
Positioned(right:0, bottom:0, child:Container(color:Colors.purple, height:100, width:100))
])));
}
}
```
On desktop:
1) hold the middle mouse button and move the mouse to rotate the camera
2) hold the left mouse button and move the mouse to pan the camera
3) scroll up/down with the scrollwheel to zoom in/out.
On mobile:
1) swipe with your finger to pan the camera
2) double tap the viewport, then swipe with your finger to rotate the camera (double-tap again to return to pan)
3) pinch with two fingers in/out to zoom in/out.
### Changing the active camera
Every scene has a default camera. Whenever you rotate/pan/zoom the viewport, you are moving the default camera.
If you have added an entity to the scene that contains one or more camera nodes, you can change the active scene camera to one of those camera nodes.
```
var asset = await _filamentController.loadGlb("assets/some_asset_with_camera.glb");
await _filamentController.setCamera(asset, "Camera.002"); // pass the node name to load a specific camera under that entity node
await _filamentController.setCamera(asset, null); // pass null to load the first camera found under that entity
```
### Picking entities
On desktop, left-clicking an object in the viewport will retrieve the FilamentEntity for the top-most renderable instance at that cursor position (if any).
Note this is an asynchronous operation, so you will need to subscribe to the [pickResult] stream on your [FilamentController] to do something with the result.
```
class MyApp extends StatefulWidget {
...
}
class _MyAppState extends State<MyApp> {
final _filamentController = FilamentControllerFFI();
@override
void initState() {
_filamentController.pickResult.listen((FilamentEntity filamentEntity) async {
var entityName = _filamentController.getNameForEntity(filamentEntity);
await showDialog(builder:(ctx) {
return Container(child:Text("You clicked $entityName"));
});
});
}
@override
Widget build(BuildContext context) {
return MaterialApp(
color: Colors.white,
home: Scaffold(backgroundColor: Colors.white, body: Stack(children:[
Positioned.fill(child:FilamentGestureDetector(
controller: _filamentController,
child:FilamentWidget(
controller:_filamentController
))),
])));
}
}
```
## Advanced Usage
If you want to work with custom materials, you will need some (basic knowledge of the underlying Filament library)[https://google.github.io/filament/Materials.html#compilingmaterials].
Things to keep in mind:
- You must compile materials with the correct version of Filament (see the table above). Keep in mind that versions may not be identical across platforms so you may need multiple uberz files for multiple platforms.
e.g. the lit_opaque.uberz file has been created from a Filament build:
```
cd out/cmake-android-release-aarch64/libs/gltfio
uberz -TSHADINGMODEL=lit -TBLENDING=opaque -o lit_opaque_43.uberz lit_opaque
```
(note that the number in the filename corresponds to the Material version, not the Filament version. Not every Filament version requires a new Material version).
## Footguns
### Stripping in release mode
If you build your app in release mode, you will need to ensure that "Dead Strip" is set to false.
This is because we only invoke the library at runtime via FFI, so at link time these symbols are otherwise treated as redundant.
### Animations when backgrounded
Don't call playAnimation when the app is in the background (i.e inactive/hidden). This will queue, but not start, an animation, and eventually this will overflow the command buffer when the app is foregrounded/resumed.
If you have some kind of looping animation in your app code, make sure it pauses while the app is backgrounded.
## Versioning
||Android|iOS|MacOS|Windows|Linux|WebGL|
|---|---|---|---|---|---||
|Filament|v1.43.1 (arm64/armeabi-v7a/x86/x86_64)|v1.43.1* (arm64)|v1.43.1 (arm64)|v1.32.4 (x86_64)|TODO**|TODO***|
|Flutter||3.15.0-15.2.pre|3.15.0-15.2.pre|3.15.0-15.2.pre
* iOS release build has a skybox bug so the debug versions are currently shipped on iOS
** (Waiting for https://github.com/google/filament/issues/7078 to be resolved before upgrading, not sure exactly when the bug was introduced but it was somewhere between v1.32.4 and v1.40.0)
*** Texture widget not currently supported on web in Flutter.
## Testing
We automate testing by running the example project on actual iOS/Android/MacOS/Windows devices and executing various operations.
Eventually we want to compare screenshots after each operation to a set of goldens for every platform.
Currently this is only possible on iOS (see https://github.com/flutter/flutter/issues/123063 and https://github.com/flutter/flutter/issues/127306).
To re-generate the golden screenshots for a given device:
```
./regenerate_goldens.sh <your_device_id>
```
To run the tests and compare against those goldens:
```
./compare_goldens.sh <your_device_id>
```
The results will depend on the actual device used to generate the golden, therefore if you are using a different device (which is likely), your results may not be the same. This is expected.
# Building Filament from source
```
git clone git@github.com:nmfisher/filament.git && cd filament
```
## Android/iOS/MacOS
```
git checkout flutter-filament-ios-android-macos
./build.sh -p <platform> release
```
## Windows
To support embedding GPU textures in Flutter (rather than copying to a CPU pixel buffer on every frame), we need to build a slightly customized version of Filament that uses GLES on Windows (rather than the default, which uses OpenGL).
Separately, we also force the Filament gltfio library to load assets via in-memory buffers, rather than the filesystem. This is simply a convenience so we don't have to use different logic for gltf resource loading across platforms.
```
git checkout flutter-filament-windows
mkdir out && cd out
"C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" --build . --target gltf_viewer --config Debug
```
Building notes:
On Android/iOS, we remove -fno-exceptions from CMakeLists.txt
Project structure:
- most shared code/headers under ios/src (because I still can't get podspec to build a target with symlinks or relative paths)
- building on MacOS, we currently just delete the macos/include and macos/src directories and copy from iOS (for same reason),
e.g.
```
make sync-macos
```
- Note also need to specifically build imageio/png/tinyexr
- if release build, then need to comment out -fno-exceptions
# Linux specific
(Fedora 34)
Building Filament:
env LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/11/ CC=clang CXX=clang++ CXX_FLAGS="-v" LD_FLAGS="-v" FILAMENT_REQUIRES_CXXABI=true ./build.sh -c release
Running example project:
export PKG_CONFIG_PATH=/usr/lib/pkgconfig/:/usr/lib64/pkgconfig/ CPLUS_INCLUDE_PATH=/usr/include/gtk-3.0/:/usr/include/pango-1.0/:/usr/include/harfbuzz:/usr/include/cairo/:/usr/include/gdk-pixbuf-2.0/:/usr/include/atk-1.0/
Web:
EMCC_CFLAGS="-Wno-missing-field-initializers -Wno-deprecated-literal-operator -fPIC" ./build.sh -c -p webgl -i debug
EMCC_CFLAGS="-I/Users/nickfisher/Documents/filament/libs/utils/include -I/Users/nickfisher/Documents/filament/libs/image/include -I/Users/nickfisher/Documents/filament/libs/math/include -I../../..//third_party/basisu/encoder/ -I../../..//third_party/libpng/ -I../../..//third_party/tinyexr/ -fPIC" emmake make
## Materials
We use a single material (no lighting and no transparency) for background images:
```
make generate-background-material
```
# Known issues
On Windows, loading a glTF (but NOT a glb) may crash due to a race condition between uploading resource data to GPU memory and being freed on the host side.
This has been fixed in recent versions of Filament, but other bugs on Windows prevent upgrading.
Only workaround is to load a .glb file.
# Thanks
- https://github.com/alexmercerind/flutter-windows-ANGLE-OpenGL-ES

View File

@@ -1,8 +0,0 @@
{
"allAbis": [
"arm64-v8a"
],
"validAbis": [
"ARM64_V8A"
]
}

View File

@@ -1 +0,0 @@
[]

View File

@@ -1,20 +0,0 @@
{
"ndkHandlerSupportedAbis": [
"ARMEABI_V7A",
"ARM64_V8A",
"X86",
"X86_64"
],
"ndkHandlerDefaultAbis": [
"ARMEABI_V7A",
"ARM64_V8A",
"X86",
"X86_64"
],
"externalNativeBuildAbiFilters": [],
"ndkConfigAbiFilters": [
"arm64-v8a"
],
"splitsFilterAbis": [],
"ideBuildOnlyTargetAbi": true
}

View File

@@ -1,11 +0,0 @@
{
"ndk": "C:\\Users\\Nick\\AppData\\Local\\Android\\Sdk\\ndk\\25.2.9519653",
"revision": {
"mMajor": 25,
"mMinor": 2,
"mMicro": 9519653,
"mPreview": 0,
"mPrecision": "MICRO",
"mPreviewSeparator": " "
}
}

View File

@@ -1,22 +0,0 @@
[
{
"level": "INFO",
"message": "android.ndkVersion from module build.gradle is [25.2.9519653]"
},
{
"level": "INFO",
"message": "android.ndkPath from module build.gradle is not set"
},
{
"level": "INFO",
"message": "ndk.dir in local.properties is not set"
},
{
"level": "INFO",
"message": "Not considering ANDROID_NDK_HOME because support was removed after deprecation period."
},
{
"level": "INFO",
"message": "sdkFolder is C:\\Users\\Nick\\AppData\\Local\\Android\\Sdk"
}
]

View File

@@ -1,17 +0,0 @@
{
"ndkVersionFromDsl": "25.2.9519653",
"sdkFolder": "C:\\Users\\Nick\\AppData\\Local\\Android\\Sdk",
"sideBySideNdkFolderNames": [
"19.2.5345600",
"21.1.6352462",
"21.4.7075529",
"22.0.7026061",
"22.1.7171670",
"23.0.7599858",
"23.1.7779620",
"23.2.8568313",
"24.0.8215888",
"25.1.8937393",
"25.2.9519653"
]
}

View File

@@ -1,61 +0,0 @@
cmake_minimum_required(VERSION 3.10)
include_directories(../ios/src)
include_directories(../ios/include)
include_directories(../ios/include/filament)
include_directories(src/main/cpp)
link_directories(src/main/jniLibs/${ANDROID_ABI})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
add_library(flutter_filament_android SHARED
"${CMAKE_CURRENT_SOURCE_DIR}/../ios/src/FlutterFilamentApi.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/../ios/src/FlutterFilamentFFIApi.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/src/main/cpp/FilamentAndroid.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/../ios/src/AssetManager.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/../ios/src/FilamentViewer.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/../ios/src/StreamBufferAdapter.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/../ios/src/TimeIt.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/../ios/src/camutils/Manipulator.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/../ios/src/camutils/Bookmark.cpp"
)
add_library(FILAMENT_SHADERS SHARED
"${CMAKE_CURRENT_SOURCE_DIR}/../ios/include/material/image.c"
)
target_link_libraries(
flutter_filament_android
FILAMENT_SHADERS
-landroid
-llog
-lgltfio_core
-lfilament
-lbackend
-lgeometry
-lfilameshio
-lfilamat
-lfilabridge
-lcamutils
-lfilaflat
-ldracodec
-libl
-lktxreader
-limageio
-limage
-lutils
-ltinyexr
-lstb
-lbluevk
-lvkshaders
-luberzlib
-lsmol-v
-luberarchive
-lmeshoptimizer
-lgeometry
-lbasis_transcoder
-lGLESv3
-lEGL
-lpng
-lz
-lzstd
)

View File

@@ -1 +0,0 @@
rootProject.name = 'flutter_filament'

View File

@@ -1,21 +0,0 @@
#include <android/native_window_jni.h>
#include <android/native_activity.h>
extern "C" {
#include "FlutterFilamentFFIApi.h"
void* get_native_window_from_surface(
jobject surface,
JNIEnv* env
) {
void* window = ANativeWindow_fromSurface(env, surface);
return window;
}
// this does nothing, but we need it for JNA to return the correct pointer
FilamentRenderCallback make_render_callback_fn_pointer(FilamentRenderCallback callback) {
return callback;
}
}

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:577996c240a574c291848329ddc2823ed9432a3bb0eba4322bc8724f616b46dc
size 2186272

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:76eaee1bddc9c4fa2a5da5fece5bc33178092a24843250ad02623031fc6271b5
size 387274

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:11b0fc712800467f6f9eae1022a9b6a868c37040b8d27aab3b141f47684ee0f0
size 200504

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f56a73aa32f19c681cd140a83e64273b6bf550770cbc1ba0c39f8e8135d992ac
size 49004

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c3d89171648cd80b9457cc1d06e50f44cf816b37932dfb05d1d192743a75f3f6
size 283364

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5e9862f1e4694a57fafd1140d8749dabbb50c580673a5eefbd4f184a799b09a1
size 2537500

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b920ca16cc9542ddfb5d1710ccaafe6d6302c957c46583cd378eecb4855749d3
size 67032

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ee941c4e8d442ce441720653bacf58dca3811d957522364cc0df7c1323e9b0b8
size 49830

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f7cb50b8b077a1f5a3bc2f9ed0c77b45be68eae6090b2835ffd085bf2cdcc43d
size 28876048

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:014d1015b292c6a49e4bdbf86e1eea9000bc91497dcb072dd7c3c771de07a33e
size 650872

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e27d41d11d24399af9a06b3c320de343b4b035299c4372a035cf16f74d3a94e6
size 72470

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f9b76ab599e907ef8bc2c1372d01a8c1697b700fd231c523fc4d2d316d6c4e79
size 2730404

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d49cef08fadf1ce1853d683005b6e93d15364e40ec94913b9f4e33aa7bd1b1ed
size 42044

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fd3c186447e4e40f44b0fd37a6255add16c0b055cddcb73e9e570ea624d2b56e
size 99010

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3768e9aaa45b74679c7470730422f33b5bef68821a42e9fa176e5d2dc60c0f7f
size 1189476

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b826b2c7c829153b1d27706cb5db97cc69ef2f61f4736f020e17c30395651459
size 360156

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4853a94c43601aa7b5c072b4d789d435c5f2ddf4b9bdda96e44d363dbb7d1495
size 440976

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:19ccbbc7b5fb6f65c95c531f7562ee60882ebe755599787e050a6573e509f029
size 104924

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2affa1a46f0509e26741e613278ba7742e73d5665b201d9819c9357b3824c9ff
size 212054

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f7d7948a522c57f3b6bf0e3f1570c7ba5b90499006c79660d8d2bd157d280fad
size 51514

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d0089029b919d128e1520250925d23b304566c5a831eb7be4c156d61a11b37b6
size 143536

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:68f40361280bc8fde1350a00d8e3ce4129b69385bac3d9eda37c0b392f9a167e
size 20686

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dde94c36b283091a5a3211e8a336f3f50dd1664db09929e5f2a654adaf0db6b3
size 355194

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:eca6cad667424fa5cb4808a009cf8b72b240bb3b4e5bcf14155d3b625eba7e28
size 127430

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:08bb916351f38d144803944cc2b9d6659a297dab73d99394d66237b3073177ee
size 39734

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:99fdf005160d4f1be0b72a24a3abafa7f11ba47950125a664a535637071dafc5
size 130006

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f27ccb09daed406bd49c8d47b1738815d8daf0336a3fea6fdb059876e2416493
size 226376

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cdb8a9ed3a9ba3cdbbeef8065358a92b6654363e7f4e1b57d0522abc063d27e6
size 1831436

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b3bf56398e2410c37613d7ab6f43bdd65eaec1d70e2a315db08f2c6e836cb0d6
size 32970

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0ffbd71464e87f505601a1bf2e6ca8f1ff14a541d878811d9a7c460cf52d3d28
size 360534

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:89928210c8470639f8db62fbcc74c31b72f79411db3454040d77c749a9047b6b
size 534600

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9040bd03b7b1021be16908c4e398c55e67283f4e471dd4ffbc407828147e380d
size 2446

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:aa6d6caaa63f5b406bce82001fa415d2dfe199c6e443514552655d9f2bed4bc4
size 124934

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9884cc62093cae12ef44610b0bbf5ab9a3940772646377644f11677f5ec2a6a4
size 693850

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b0e90af7a4eeddda57a6d2e908e17d5f811acf05e85f0bb02db9330e84baea14
size 1921834

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ac08b9235e1f64644cd63900be5eb89d41669e644fb9f9682f2a983cabb8af47
size 334968

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e2dc261eb31198f16f611ca7f7c20acfec21e24b486ed5dea10ed64effad5bbf
size 97648

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6a58756b0425352edf2c02df034177fb0b0bf885bdb70850c5e3ec8091ca1308
size 49696

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:41041d6ee1b1ecb9fbeac961170b493b6f923f0cb0fadb450c30022132973f5f
size 192156

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f8e9f2005ad07aacb49c5b02c55f2b418879bd409f09619b8d6ccff427971310
size 2163328

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:46bc4c3723ce398239975826895515ce0bff3c58b6f2e7875be819bb748b2800
size 58366

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:19627f494f67d03a428b786095cd9720f12137b3f0ca10518424d012e76d7e0a
size 44928

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:094642603b72a40f73a46596a9a30ff4b0076bb074c746ff2bf324cc5bb3d92a
size 25254932

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f65567b38b146e39092ce9f9eef8ff588dbd97531202aa847916ad98b91e90b7
size 538770

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c22085b3bd21823ee8b28e3b9a43fe61c71e26c0ffd84447d505d307a98ec4e4
size 61498

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:87e140c8a18facb798d66432d5c6e148e1d85a7f9e3a8b0cbd6b8ca727a470fa
size 2627016

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bb836a5781758df35cb3101fbdf85450ab125dc6a8f86b9c10f69212111e6740
size 36352

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e96465ea3fa2e75a9b138985cf090068febaeab3821c9f63515ae4ec10b511a8
size 87278

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:99012d0b89fd8c149a5d68576f54de962bad345b5a89f6bd4078994583111303
size 1022636

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1637be0db30afc4d5291ad78bd2e4e661ff4168ab1d0e67182b5e32039fec901
size 349604

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:baff9505cb2c26505b549f613a99a2b790426edfb25aefd76d3fd0dd7b8090ec
size 431960

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:111c0e0c798c56f82df3f6d9c54f8034bcd8d501f4032ad20fe5dc3d6fe85dcd
size 80256

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9c413e680c5df5f8ca0600df1938c0c94e52ba15f733fb86dac6259efe8becd1
size 161038

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:76e98365dcfffa1af20248f6183d04876c7801aeaf3b9baf1921eb8bc9c05092
size 41644

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a9c8bc64684f16214fa741edefaa467c3d3987d45ef7bc5f3a9339b309b3dd7e
size 111704

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c531d71de69f8734b1946d8f18b18d7217f5f133bf10f7e120ca40f36b5f028b
size 15326

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fd5bf07a67fbb6096da10f6ffc3a60aaf720662370c6ccbbf3582999d0833c28
size 243322

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:97f602f703a739609f874fb07e5f3116520dc4085ccc634c8f00cc1fa6551fd0
size 126666

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:375bc70b9a5e0a9143373d4ed579227d665e232889bd8963f55b5dab0c8ebb87
size 27622

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:23f077c0379cbca2bad3b342cc0db2bb0bf1747dc95e884afd709143b2702dbf
size 88774

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:09ee485f222900bc3f67d9daec7711d7ca1c57abcacc7f4df5e5f76f2534ea47
size 152200

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f2e2eabf92a463967157fc0cf5319e4b59c1e9afe7d98bcd8667b89a5e3dffb9
size 1831260

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ac61dec39919f1c19a9601b073020593e6cc9d0cbe27fe3e2104d904bd345196
size 27354

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3d314214a0a09fe047080b54cd8684a0322c192a45d1f859914677ec84c8711e
size 299782

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6865d378b0e97f1f829221c45e4b74091953d3ce66222c2534be6c5f470e13d8
size 392688

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c2bdeeafe7933584916aa8d8e07856b8660025eae13a602a090c884dd009776b
size 2254

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fcf5034e7d1fb324feebe63497b151b0ce2acaaae2cd2a13ad18d24eba8d5fff
size 91942

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:da1ea9abc45796696b36a30aa451978a646b43d85ebec43c157efff4501a7f87
size 563610

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d7d7fd061ad93dd9ac21c5b0620c3a7b38b54375d518bfb3f31dcb51f1b3d1f5
size 1791656

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:84273290e6b3ebd92a97d9904005eb031a4e2c40e236b572ede6f20aa8f6b5c2
size 392140

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ae215d1057b2df182a15cef28c3dbcfadbd7e919cd658f79d48cc679dcc981fb
size 131020

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:eb4db56341d4c880a3a7304e9788d9279890b30315c3d8cf4ded49b60e202e22
size 46776

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1d07d91f9ce5a99c910a5c767710305db09af0940a8b0e8fe44bd07d0098c0f2
size 239568

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fd82549b6db29c158d096340f72dddadf31cc757d7fd02496eeefbcaaa89c69b
size 2175384

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:54953690caae540cb34c61f18b50161b4f83cc98a5e52c0498024bcd66deb4d5
size 53346

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:12b12cdf3017cce821c86e612ceeb26e227a32ae42d46822ffc9149e1382c337
size 41466

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e0f1500570bb005e14cb490331980b2eed7d74b28500c6363947d833c97ae963
size 23301288

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f7831363303801ef3e83ee9d31f65c386f310e174a921d921ca17afe216b7115
size 521960

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:033fc92a176e25d2ddebab48ffa059e0cdb11a8efcddb65addc2b29eb5cc5753
size 63910

Some files were not shown because too many files have changed in this diff Show More