Commit Graph

421 Commits

Author SHA1 Message Date
Nick Fisher
fef48940fc add implementation methods for getPrimitiveCount, setMaterialInstancesFromMap, getMaterialInstancesAsMap and setMaterialInstanceForAll 2025-06-09 18:28:33 +08:00
Nick Fisher
4086c9bd01 add interface methods for getPrimitiveCount, setMaterialInstancesFromMap, getMaterialInstancesAsMap and setMaterialInstanceForAll 2025-06-09 18:26:36 +08:00
Nick Fisher
9054879722 update Swift bindings and remove dylib from repository (should be recompiled when running via CI/CD?) 2025-06-09 18:25:18 +08:00
Nick Fisher
c33eaef713 replace direct FFI View_ calls with calls to corresponding (Dart) methods on View 2025-06-09 18:18:58 +08:00
Nick Fisher
6055bd3fa7 fix FFIMaterial so it correctly translates between StencilFace (Dart) and TStencilFace (Dart FFI) enums 2025-06-09 18:10:07 +08:00
Nick Fisher
f3a576005a expose setShadowsEnabled method on View/FFIView 2025-06-09 18:09:27 +08:00
Nick Fisher
ff559997dd (web) regenerate JS bindings 2025-06-05 21:52:47 +08:00
Nick Fisher
79fea25d1b manually edit JS bindings to remove internal (Dart) struct members and fix TFogOptions 2025-06-05 16:42:28 +08:00
Nick Fisher
9ae7c784df pass TFogOptions by value, not pointer, and rearrange struct fields to minimize alignment issues 2025-06-05 16:41:08 +08:00
Nick Fisher
fc4686b20f add documentation for Scene 2025-06-04 17:44:24 +08:00
Nick Fisher
ab4743da90 pass keepData flag to instances of FFIAsset when creating geometry 2025-06-04 11:14:02 +08:00
Nick Fisher
7406662853 add nullptr check when loading gltf assets 2025-06-04 11:13:39 +08:00
Nick Fisher
aa2f19442b surround frame request hooks with try/catch, and add a check to avoid concurrency exceptions when adding/removing hooks 2025-06-04 11:13:15 +08:00
Nick Fisher
cc99905eb8 pass through keepData flag when creating geometry via viewer 2025-06-04 11:11:42 +08:00
Nick Fisher
1d697037c0 gltf animation names are immutable, so cache these in a local copy in FFIAsset 2025-06-04 11:10:45 +08:00
Nick Fisher
c024efb8cd store reference to keepData in each FFIAsset and throw exception if an instance is attempted to be created when keepData is false 2025-06-04 11:09:28 +08:00
Nick Fisher
c484eeb37f when destroying an asset, remove/destroy instances before destroying the parent asset 2025-06-04 11:07:21 +08:00
Nick Fisher
6db82d00c2 don't call removeAnimationComponent in viewer (moved to FilamentApp.destroyAsset) 2025-06-03 16:40:50 +08:00
Nick Fisher
28aef7e5cc when destroying assets, remove animation component in FilamentApp, not viewer 2025-06-02 14:58:52 +08:00
Nick Fisher
1c500fe925 require dispose() on InputHandlerDelegate and update sample implementations 2025-06-02 12:58:26 +08:00
Nick Fisher
2191f9d44b require dispose() on InputHandlerDelegate and update sample implementations 2025-06-02 12:57:45 +08:00
Nick Fisher
87b63301f2 require dispose() on InputHandlerDelegate and update sample implementations 2025-06-02 12:57:22 +08:00
Nick Fisher
0d5b42c908 add Char to js_interop malloc 2025-06-02 12:15:35 +08:00
Nick Fisher
12e2dca873 change wireframe camera geometry 2025-06-02 12:14:55 +08:00
Nick Fisher
8eae6bf90c add flags to pixelBufferToPng for alpha/float 2025-06-02 12:14:40 +08:00
Nick Fisher
873244879f when batch is true in DelegateInputHandler, filter simultaneous keydown/keyup 2025-06-02 12:14:05 +08:00
Nick Fisher
2ab1732b6b add synthesized property to KeyEvent and add additional keys 2025-06-02 12:12:51 +08:00
Nick Fisher
5eb83a80b3 formatting 2025-06-02 12:08:26 +08:00
Nick Fisher
7141a01101 use render thread method for resetting to rest pose 2025-06-02 11:52:41 +08:00
Nick Fisher
82aba605f9 add Texture_generateMipMapsRenderThread, AnimationManager_resetToRestPoseRenderThread 2025-06-02 11:51:43 +08:00
Nick Fisher
059926fe98 add generateMipmapsRenderThread 2025-06-02 10:44:45 +08:00
Nick Fisher
70e2933c4b track geometry assets internally to ensure they are destroyed when destroyAssets is called 2025-06-02 10:09:58 +08:00
Nick Fisher
4fb85eb45a don't throw exception on failure to remove animation component 2025-05-31 21:58:32 +08:00
Nick Fisher
afecacfcf0 getChildEntity in FFIAsset should invoke FilamentApp method, not direct binding method 2025-05-31 11:25:24 +08:00
Nick Fisher
2f7f363db9 pass shared NameComponentManager to gltfio AssetLoader 2025-05-31 11:21:57 +08:00
Nick Fisher
5f9a7bb959 remove errant comment 2025-05-29 22:30:00 +08:00
Nick Fisher
86894cf583 add alpha/requireAlpha argument when decoding images
remove size checks from setImage (we are assuming the caller knows the correct size)
This also adds some monkey-patch methods to js_interop to convert Float32List to a UInt8List (but use this with care, because it will only work for emscripten-allocated objects)
2025-05-29 22:26:42 +08:00
Nick Fisher
c789e75af5 (web) fix casing for generateMipMaps 2025-05-29 19:27:22 +08:00
Nick Fisher
94eacec27e Texture improvements: generateMipmaps(), add levels to createTexture, tests to check auto mip level selection 2025-05-29 18:38:57 +08:00
Nick Fisher
b00f37ddaa (web) remove asTypedList from generated JS bindings (replaced by equivalent in js_interop.dart 2025-05-28 11:21:48 +08:00
Nick Fisher
a98d7550ae (web) add asTypedList extension for Pointer<Float>/Float32List 2025-05-28 10:49:44 +08:00
Nick Fisher
f7d6d4786a remove asset from internal list before destroying 2025-05-28 10:48:10 +08:00
Nick Fisher
d298b0d091 add decodeToTexture static helper method to Texture 2025-05-28 10:47:21 +08:00
Nick Fisher
4a7a366fc6 add setTransform/getWorldTransform to FilamentApp 2025-05-28 10:47:00 +08:00
Nick Fisher
c6ceea4f8b update generated bindings 2025-05-24 16:38:21 +08:00
Nick Fisher
1e812ebe93 allow directly creating an entity and setting transform 2025-05-24 16:33:58 +08:00
Nick Fisher
75a9950909 update generated bindings 2025-05-24 15:05:29 +08:00
Nick Fisher
81fb0fb583 add setFogOptions 2025-05-24 15:05:03 +08:00
Nick Fisher
4d6c008299 regenerate JS bindings 2025-05-24 10:54:49 +08:00
Nick Fisher
4505cbe325 add missing setExposure methods + reinstate camera tests 2025-05-24 10:51:56 +08:00