Commit Graph
100 Commits
Author SHA1 Message Date
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
Nick Fisher 5db9fe2c9e disable initial clear color (blue) for gl canvas on web 2025-05-28 10:47:44 +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 679af95901 allow directly creating an entity and setting transform 2025-05-24 16:34:47 +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
Nick Fisher 60cfe32672 (CI) explicitly specify arm64 for runner 2025-05-23 17:48:55 +08:00
Nick Fisher 0decb6b9f1 upload build.log on test failure 2025-05-23 17:41:51 +08:00
Nick Fisher d799ef0ca0 comment out Dart action (needs software rasterizer or self-hosted runner with GPU)
add basic flutter build for example projects
2025-05-23 17:33:37 +08:00
Nick Fisher 5a72bc835d use flutter pub get before attempting to run with dart 2025-05-23 17:11:59 +08:00
Nick Fisher 3e44716e8c try and use Dart path directly 2025-05-23 17:09:51 +08:00
Nick Fisher bf295394a8 try and use Dart path directly 2025-05-23 17:06:45 +08:00
Nick Fisher 64bc7f8bf3 update GitHub actions to use flutter action 2025-05-23 17:03:07 +08:00
Nick Fisher 63ba231996 update GitHub actions to remove upload logs step (unavailable on macos?) 2025-05-23 16:59:28 +08:00
Nick Fisher 562c221461 update GitHub actions to remove upload logs step (unavailable on macos?) 2025-05-23 16:58:48 +08:00
Nick Fisher f123bbf930 update GitHub actions 2025-05-23 16:57:53 +08:00
Nick Fisher 1765350cbe update GitHub actions to run tests on macos 2025-05-23 16:50:13 +08:00
Nick Fisher 94683ab5a9 (test) ensure aspect ratio is correctly set if viewport is not square 2025-05-23 16:28:32 +08:00
Nick Fisher 5a74345fe1 specify texture flags for render target in flutter 2025-05-23 16:28:09 +08:00
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 725f36a860 (test) use RGBA32F when creating render target in TestHelper 2025-05-22 15:23:30 +08:00
Nick Fisher 51212bdeed (test) cleanup imports 2025-05-22 15:22:32 +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 2bf77f123f remove unused sampledDepth parameter from capture_uv material 2025-05-22 15:03:52 +08:00
Nick Fisher 9785576866 reinstate View tests 2025-05-22 15:03:22 +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 1008452198 (test) formatting 2025-05-21 13:16:20 +08:00