Commit Graph
100 Commits
Author SHA1 Message Date
Nick Fisher 3e11f09d63 update BUILDING.md 2025-06-12 11:38:25 +08:00
Nick Fisher 6bbab332be rename assetId to asset-id in ffigen config 2025-06-12 11:38:08 +08:00
Nick Fisher 85b86c5f13 formatting 2025-06-12 11:37:45 +08:00
Nick Fisher d8652e8709 formatting 2025-06-12 11:37:29 +08:00
Nick Fisher fe5279f942 don't free Int32List for childEntities, stackRestore takes care of this 2025-06-12 11:37:18 +08:00
Nick Fisher 828354abe5 clean up 2025-06-12 11:36:23 +08:00
Nick Fisher 48d9d6751b render() method on viewer now requires a SwapChain argument 2025-06-12 11:36:08 +08:00
Nick Fisher 4bde3d34cf (test) add test to create indirect light from irradiance texture 2025-06-12 11:34:17 +08:00
Nick Fisher 7f2ad7c4e4 (test) rename background_tests.dart to image_tests.dart 2025-06-12 11:33:57 +08:00
Nick Fisher 47807d560f separate native methods for creating IBL from irradiance texture and harmonics 2025-06-12 11:33:38 +08:00
Nick Fisher ad26fc4563 add Dart IndirectLight and Ktx1Bundle classes, and separate KTX decoding from skybox/IBL creation 2025-06-12 11:31:44 +08:00
Nick Fisher f252c86152 update image material to support cubemaps 2025-06-12 08:40:28 +08:00
Nick Fisher e5bcde3ade (web) update bindings 2025-06-11 11:13:43 +08:00
Nick Fisher 9436666d34 (example) update quickstart web to import canvas as widget 2025-06-11 11:08:31 +08:00
Nick Fisher 32fe54ac09 (web) on Emscripten builds, use static global wrapper function for texture upload complete callbacks (this is needed because all callbacks need to be proxied to the main thread 2025-06-11 11:08:13 +08:00
Nick Fisher 0461bb364a use getPrimitiveCount method on FilamentApp, rather than direct FFI method 2025-06-11 09:52:57 +08:00
Nick Fisher f78c6f258f add test for getBoundingBox 2025-06-11 09:51:24 +08:00
Nick Fisher b0796f493f (test) move IBL tests to light_tests 2025-06-11 09:51:14 +08:00
Nick Fisher 8998f1f740 add RenderableManager_getBoundingBox 2025-06-11 09:50:48 +08:00
Nick Fisher 6362efcd61 add implementations for getPrimitiveCount/getBoundingBox on FFIFilamentApp 2025-06-11 09:50:35 +08:00
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