Commit Graph
100 Commits
Author SHA1 Message Date
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
Nick Fisher 1f58c13179 (test) formatting 2025-05-21 13:16:06 +08:00
Nick Fisher 5ce2efa638 (web) remove console logging 2025-05-21 13:15:43 +08:00
Nick Fisher e75805ba06 change output dir for generated swift lib 2025-05-21 13:15:14 +08:00
Nick Fisher 73f04eb0d4 update test helper setup for new objective_c package 2025-05-21 13:14:46 +08:00
Nick Fisher 097d991ea8 move precompiled Swift lib to test/generated and add precompiled objc 2025-05-21 13:14:31 +08:00
Nick Fisher 5cf494def9 remove old input handler test 2025-05-21 12:03:20 +08:00
Nick Fisher 23d6e3a819 (example) update picking example 2025-05-21 12:02:29 +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 e432b0be1d update tests 2025-05-21 11:58:32 +08:00
Nick Fisher 2dad04a354 (examples) remove logging 2025-05-20 14:57:41 +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 d61723dee2 update Emscripten build instructions for macOS compat 2025-05-18 15:13:02 +08:00
Nick Fisher 1afd5ff257 clean up FixedOrbitCameraDelegate 2025-05-18 15:11:52 +08:00
Nick Fisher 04b8b333d4 update materials_and_textures sample 2025-05-18 15:11:52 +08:00
Nick Fisher fdd3853121 add await to inputHandler calls in ThermionListenerWidget 2025-05-18 15:11:52 +08:00
Nick Fisher bdba92c842 set emscripten main thread to nullptr when RenderThread is stopped 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 c53266f12f move ThermionFlutterWebOptions to platform_interface package 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 d392daa2e6 fix Makefile 2025-05-18 15:09:05 +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 383fc221d9 add web docs 2025-05-18 15:08:47 +08:00
Nick Fisher e4942bad2f add web docs 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 43442e10de update picking index.html 2025-05-18 14:46:56 +08:00
Nick Fisher b710e0ace3 regenerate JS bindings 2025-05-18 14:46:48 +08:00
Nick Fisher b0087d8d54 rename loadResource in ThermionFlutterWeb 2025-05-18 14:46:39 +08:00
Nick Fisher dcef1a5749 symlink cube_with_morph_targets.glb to example assets 2025-05-17 22:23:39 +08:00
Nick Fisher 1c0a7f6b1e update BUILDING.md 2025-05-17 22:23:00 +08:00
Nick Fisher 2444e9a980 add example animations project 2025-05-17 22:19:47 +08:00
Nick Fisher 417ee4648f (flutter) rename resourceLoader to loadResource and don't pass to ThermionViewerFFI 2025-05-17 22:19:09 +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