Commit Graph

371 Commits

Author SHA1 Message Date
Nick Fisher
195a625738 when getMaterialInstance/setMaterialInstance are called, if entity is not renderable, return false
if no entity is passed, iterate through all entities and use the first renderable entity
2025-05-23 16:27:38 +08:00
Nick Fisher
96694be017 remove register/unregister swapchain/view in TextureProjection
since we are rendering each view separately, this is no longer necessary
2025-05-22 15:22:15 +08:00
Nick Fisher
a31f11151e check for beginFrame returning false in project() and correctly calculate numChannels/channelSize 2025-05-22 15:19:03 +08:00
Nick Fisher
10136c8cde use flush() instead of directly calling executeRenderThread (wasm) or flushAndWait (native) 2025-05-22 15:18:19 +08:00
Nick Fisher
c712804bb1 add createLight method to FilamentApp 2025-05-22 15:09:36 +08:00
Nick Fisher
1373ce5a32 use flush() instead of manually invoking different methods for wasm/native 2025-05-22 15:08:29 +08:00
Nick Fisher
1b3d46533c remove unnecessary import 2025-05-22 15:08:02 +08:00
Nick Fisher
5733bc125b add addEntity method to Scene 2025-05-22 15:07:43 +08:00
Nick Fisher
943de8f77b add createCamera method to FilamentApp 2025-05-22 15:07:23 +08:00
Nick Fisher
9a4fd1141e remove logging 2025-05-22 15:06:27 +08:00
Nick Fisher
3007dec127 TextureProjection now makes a separate render pass for each View.
This is needed because changing material properties between beginFrame/endFrame is unsupported
2025-05-22 15:03:06 +08:00
Nick Fisher
9a6bacc73f pass both logical key & physical key to input handler on keyboard keypress 2025-05-21 12:01:50 +08:00
Nick Fisher
1fb68b20e9 separate Gltf/Morph/BoneAnimationComponentManager definitions
move gltf animation instantiation to GltfAnimationComponentManager (this helps ensure we are creating the component on the correct entity)
2025-05-20 14:57:26 +08:00
Nick Fisher
1afd5ff257 clean up FixedOrbitCameraDelegate 2025-05-18 15:11:52 +08:00
Nick Fisher
66f3e20489 copy input events before passing to delegate 2025-05-18 15:11:52 +08:00
Nick Fisher
871a327d99 implement js_interop withUint32Callback 2025-05-18 15:11:52 +08:00
Nick Fisher
11ff6c9053 remove TMaterialKey struct and pass directly as function params 2025-05-18 15:11:50 +08:00
Nick Fisher
fc75aab94b add bindings for View_pickRenderThread 2025-05-18 15:09:05 +08:00
Nick Fisher
760ae8ed8b add makeInt32List method (to create an Int32List actually backed by heap-allocated memory 2025-05-18 15:09:05 +08:00
Nick Fisher
25ada92574 add View_pickRenderThread method (only used in WASM builds so we can proxy the callback to the main thread 2025-05-18 15:09:05 +08:00
Nick Fisher
12c8031f2b update JS bindings 2025-05-18 15:09:04 +08:00
Nick Fisher
8c78e8e629 update JS interop to accept requestId for VoidCallback 2025-05-18 15:09:03 +08:00
Nick Fisher
dc5cdcb7e1 update all void callbacks to accept an integer requestId 2025-05-18 15:08:47 +08:00
Nick Fisher
460000308a remove custom camera delegate 2025-05-18 15:08:47 +08:00
Nick Fisher
826a22f348 wip 2025-05-18 15:08:45 +08:00
Nick Fisher
b710e0ace3 regenerate JS bindings 2025-05-18 14:46:48 +08:00
Nick Fisher
4b2342979f update tests + bindings 2025-05-17 21:52:21 +08:00
Nick Fisher
ee306549d8 rename relativeResourcePath to resourceUri
move resource loader from viewer to FilamentApp
2025-05-17 21:51:51 +08:00
Nick Fisher
d3ec825688 rename relativeResourcePath to resourceUri
move resource loader from viewer to FilamentApp
2025-05-17 21:50:58 +08:00
Nick Fisher
fe11479b08 remove relativeResourcePath from gltf resource loading;
all external resources should be added on the Dart side, Filament should never attempt to load these directly from the filesystem.
relativeResourcePath (called gltfPath on the Filament side) is only used for desktop loading, so this is now irrelevant.
Note that Filament must be compiled with GLTFIO_USE_FILESYSTEM=0
2025-05-17 21:48:18 +08:00
Nick Fisher
c98e604e76 split animation components into GltfAnimation/MorphAnimation/BoneAnimation 2025-05-17 10:11:55 +08:00
Nick Fisher
27eb117466 remove old WASM viewer 2025-05-17 10:04:49 +08:00
Nick Fisher
6d95180870 remove old JS shim/bridge classes 2025-05-17 10:04:19 +08:00
Nick Fisher
170fb4bf6d removing processing check in DelegateInputHandler 2025-05-13 16:41:58 +08:00
Nick Fisher
8bbe2f0dfb remove manual stack allocation/copy for struct args 2025-05-12 10:14:41 +08:00
Nick Fisher
0794e0ad84 comments 2025-05-12 09:36:12 +08:00
Nick Fisher
3f0f15b441 add _ready check to FixedOrbitCameraDelegate 2025-05-10 12:16:49 +08:00
Nick Fisher
8311c95100 update delegates to accept a List<InputEvent>, not Set 2025-05-10 09:08:59 +08:00
Nick Fisher
12a96cceee InputHandler now accepts a List of events, not a Set
add batch argument to DelegateInputHandler
2025-05-10 09:07:28 +08:00
Nick Fisher
fac7e9a894 transformToUnitCube returns bool (false when transform instance can't be found) 2025-05-10 09:06:53 +08:00
Nick Fisher
671949a5cd transformToUnitCube returns bool (false when transform instance can't be found) 2025-05-10 09:03:46 +08:00
Nick Fisher
abde201bda update bindings 2025-05-09 11:18:33 +08:00
Nick Fisher
1ddeac2d31 refactor InputHandler interface/DelegateInputHandler implementation 2025-05-09 11:18:07 +08:00
Nick Fisher
cedcb45484 feat!: change default near/far to 0.1/100.0 2025-05-08 17:27:49 +08:00
Nick Fisher
2f16908992 feat! js_interop improvements 2025-05-07 17:06:38 +08:00
Nick Fisher
63e2dcd0ca add getter for Aabb3 directly (getBoundingBox) on ThermionAsset 2025-05-07 16:53:16 +08:00
Nick Fisher
2a5a149e83 update bindings 2025-04-19 09:49:35 +08:00
Nick Fisher
4cb725d47e add Engine_destroyCamera 2025-04-19 09:49:19 +08:00
Nick Fisher
8228486ef3 remove asset from internal list when destroyAsset is called 2025-04-19 09:48:17 +08:00
Nick Fisher
c66dc40bab separate getter/create method for boundingBoxAsset 2025-04-19 09:47:18 +08:00