Commit Graph
100 Commits
Author SHA1 Message Date
Nick Fisher dc5c1161cc add setMaterialInstanceAt to FilamentApp interface 2025-06-11 09:50:02 +08:00
Nick Fisher 3e6f95e0bf add removeEntity method on Scene 2025-06-11 09:49:05 +08:00
Nick Fisher f053c2f852 add removeEntity method on Scene 2025-06-11 09:48:44 +08:00
Nick Fisher 8f1da5e7bd separate skybox/ibl creation from KTX decoding 2025-06-11 09:48:17 +08:00
Nick Fisher 641d92515e move VoidCallback typedef to APIBoundaryTypes (now used outside the render thread header for texture upload callbacks) 2025-06-11 09:45:23 +08:00
Nick Fisher d447fb8e2a add RenderableManager_getBoundingBox 2025-06-11 09:44:46 +08:00
Nick Fisher ac87420a87 add setPriority to FilamentApp interface 2025-06-10 11:49:17 +08:00
Nick Fisher 5669ac5c55 Dart wrappers for View/Scene are now stateful 2025-06-10 11:48:31 +08:00
Nick Fisher ae9ce197c1 move setStencilHighlight/removeStencilHighlight to Scene 2025-06-10 10:27:03 +08:00
Nick Fisher 37c67c2da8 (macos) create render target texture with isStencil:false 2025-06-10 10:24:01 +08:00
Nick Fisher 66d3bf65fd add view test for multiple views rendering into the same render target 2025-06-10 09:08:30 +08:00
Nick Fisher dba40fb82b update instancing tests 2025-06-09 18:28:58 +08:00
Nick Fisher 95db6d7ebb update generated bindings 2025-06-09 18:28:43 +08:00
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 928517f80f update gitignore with generated Swift dylib 2025-06-09 18:25:53 +08:00
Nick Fisher 4a9b91c411 (test) update helper to add createStencilBuffer flag 2025-06-09 18:25:39 +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 4c95bc5b70 (macos) add isStencil argument for creating depth texture on macOS (if true, creates texture with .depth24Unorm_stencil8 2025-06-09 18:24:15 +08:00
Nick Fisher 8866ffe210 (test) update helper to add createStencilBuffer flag 2025-06-09 18:23:22 +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 78e14574ef split stencil/depth tests from unlit material tests 2025-06-09 18:15:17 +08:00
Nick Fisher 073976b40e logging 2025-06-09 18:13:54 +08:00
Nick Fisher 6d0844f873 logging 2025-06-09 18:13:44 +08:00
Nick Fisher 983d1373ba logging 2025-06-09 18:13:35 +08:00
Nick Fisher 0dd64a07bb add helper method to convert between TStencilFace and MaterialInstance::StencilFace (not strictly necessary, but will help if something upstream changes in future 2025-06-09 18:12:17 +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 acf03ea0c7 pass TFogOptions by value, not pointer, and rearrange struct fields to minimize alignment issues 2025-06-05 16:40:53 +08:00
Nick Fisher a9553da1d4 (build) remove libpng 2025-06-05 10:12:41 +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 150c0227c8 (test) remove group from asset_tests 2025-06-04 11:08:13 +08:00
Nick Fisher e594a42496 add test for create/destroy geometry instances 2025-06-04 11:07:58 +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 655ba89b0f logging 2025-06-04 11:05:19 +08:00
Nick Fisher 840f3599e7 logging 2025-06-04 11:04:52 +08:00
Nick Fisher d0da7f49f3 when destroying a SceneAsset, if the object is an instance, call destroyInstance on the owner of instance rather than deleting the object directly 2025-06-04 10:48:07 +08:00
Nick Fisher 886a4a37aa (test) log to stdout by default when using TestHelper 2025-06-04 10:46:55 +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 0fb4fd0004 (web) use mimalloc as default allocator on emscripten builds and set SAFE_HEAP to 1 by default for debug builds 2025-06-03 16:40:12 +08:00
Nick Fisher e147e59d8d don't call endFrame() unless beginFrame() was called
only use condition_variable on non-emscripten builds
2025-06-03 16:39:04 +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 b1617004d7 add missing EMSCRIPTEN_KEEPALIVE from Texture_generateMipMapsRenderThread 2025-06-02 14:58:11 +08:00
Nick Fisher 32b6b1c227 (flutter) add zero size check in TextureWidget 2025-06-02 12:58:53 +08:00
Nick Fisher 1c500fe925 require dispose() on InputHandlerDelegate and update sample implementations 2025-06-02 12:58:26 +08:00
Nick Fisher 3fd15ab91b (flutter) add zero size check for texture descriptors 2025-06-02 12:58:11 +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 24aaffda9c lock mutex when setting animations manually via AnimationManager 2025-06-02 11:52:08 +08:00
Nick Fisher 82aba605f9 add Texture_generateMipMapsRenderThread, AnimationManager_resetToRestPoseRenderThread 2025-06-02 11:51:43 +08:00
Nick Fisher 7b80723560 add Texture_generateMipMapsRenderThread, AnimationManager_resetToRestPoseRenderThread 2025-06-02 11:51:19 +08:00
Nick Fisher 39a302c23e remove comments 2025-06-02 11:50:26 +08:00
Nick Fisher 059926fe98 add generateMipmapsRenderThread 2025-06-02 10:44:45 +08:00
Nick Fisher 3c9b607109 add geometry tests for destroyAssets 2025-06-02 10:13:08 +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 7f0ec01937 change RenderThread warning from Log to TRACE 2025-05-30 14:35:48 +08:00
Nick Fisher ccdf2ecda6 (flutter) better synchronization in ThermionTextureWidget with presentation deadline 2025-05-30 14:35:24 +08:00
Nick Fisher 5f9a7bb959 remove errant comment 2025-05-29 22:30:00 +08:00
Nick Fisher 764fea836b move tests to unlit_material_tests.dart 2025-05-29 22:29:04 +08:00
Nick Fisher 27d6bd0f4a update projection tests to use aspect-ratio other than 1 2025-05-29 22:28:50 +08:00
Nick Fisher 7e810b8265 remove old tests 2025-05-29 22:27:39 +08:00
Nick Fisher 6ad3bfab13 remove old material_tests.dart 2025-05-29 22:27:31 +08:00
Nick Fisher 5ed00164a9 (web) expose HEAPF32 2025-05-29 22:26:59 +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 6ad76b6217 add stb_image.h 2025-05-29 19:02:35 +08:00
Nick Fisher 2e097f7ec6 (CI) run macos/web samples separately 2025-05-29 18:57:53 +08:00
Nick Fisher beeb45609c don't take reference to Builder 2025-05-29 18:57:01 +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 11f7ac459b separate material_tests into ubershader & unlit 2025-05-29 18:02:21 +08:00
Nick Fisher afd47f9b24 merge test/example assets 2025-05-29 17:58:13 +08:00
Nick Fisher aab2b0b769 (web) update emcc flags 2025-05-28 21:54:31 +08:00
Nick Fisher ffc7717149 (web) add explicit check for failure to create context 2025-05-28 21:54:03 +08:00
Nick Fisher ff5921a505 remove unused StreamBufferAdapter 2025-05-28 21:52:53 +08:00
Nick Fisher 45c7831a17 replace libpng with stb_image for Image_decode 2025-05-28 21:51:56 +08:00
Nick Fisher fcf57e8850 fix missing return value in EntityManager_createEntity 2025-05-28 21:48:24 +08:00
Nick Fisher a875f370e5 remove logging 2025-05-28 18:41:02 +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 b12dc80cfd (flutter) (web) only set position/zIndex for canvas if createCanvas is true 2025-05-28 10:48:39 +08:00
Nick Fisher f7d6d4786a remove asset from internal list before destroying 2025-05-28 10:48:10 +08:00