Commit Graph
100 Commits
Author SHA1 Message Date
Nick Fisher 634c6d6877 (web) only requestFrame/setState when canvas is imported as widget 2025-06-24 15:33:50 +08:00
Nick Fisher b47e7f206c update BUILDING.md for Linux 2025-06-24 15:33:24 +08:00
Nick Fisher 8a1f320bb7 remove objective_c from dev_dependencies & change test_helper to create render target without importing textures 2025-06-24 13:37:09 +08:00
Nick Fisher ed5fb03aa4 (CI) update GitHub workflow to add update-goldens 2025-06-24 13:27:33 +08:00
Nick Fisher 21ccb52ab9 fix missing includes for Linux compatibility 2025-06-24 12:30:33 +08:00
Nick Fisher ff48ce94a3 update build.dart to prepare for Linux support 2025-06-24 10:46:33 +08:00
Nick Fisher d20ff0a6f1 don't require SwapChain to be passed to viewer.render - this will just render into all registered swapchains 2025-06-24 10:36:10 +08:00
Nick Fisher c7d4d9cb33 add NativeHandle interface and refactor SwapChain to use getNativeHandle 2025-06-24 10:35:33 +08:00
Nick Fisher 9aec83fd70 throw Exception if createInstance is called on an instance and pass through isInstance/keepData flags 2025-06-24 10:22:40 +08:00
Nick Fisher 4dbd761d16 always request stencil buffer (depth24_stencil8) on macos/ios 2025-06-23 12:48:25 +08:00
Nick Fisher fc365744ef (test) add cube_texture2.svg 2025-06-23 12:47:02 +08:00
Nick Fisher 900e43b5ec (example) (web) update build_web_compilers dependency 2025-06-23 12:46:45 +08:00
Nick Fisher c78cd45b8a (example) (web) cleanup js_wasm example HTML when building for wasm 2025-06-23 12:46:18 +08:00
Nick Fisher 1268970ba7 (example) (web) cleanup js_wasm example 2025-06-23 12:45:59 +08:00
Nick Fisher f93e44abd5 (web) don't hardcore 60fps timer on web 2025-06-23 12:44:37 +08:00
Nick Fisher d41f29c06d (web) after capture is called on emscripten builds, request the render thread to exit/resume to yield to the browser so the frame is committed 2025-06-23 12:43:40 +08:00
Nick Fisher e27be37378 add mRestart flag to immediately request the thread exits to force a commit frame 2025-06-23 12:43:03 +08:00
Nick Fisher a8a7f11d44 add mRestart flag to immediately request the thread exits to force a commit frame 2025-06-23 12:42:53 +08:00
Nick Fisher c81f2f225c (test) add simple capture test 2025-06-23 12:41:56 +08:00
Nick Fisher a89c6d0eb3 update key map 2025-06-23 12:39:25 +08:00
Nick Fisher 34c9d5a279 (example) update metadata 2025-06-23 12:39:07 +08:00
Nick Fisher 57999bec3c clean up TextureProjection 2025-06-23 12:38:35 +08:00
Nick Fisher 69400f8b68 update TextureProjection to accept material instances and render multiple target entities 2025-06-23 12:38:06 +08:00
Nick Fisher 18b6b2e5f0 (web) in capture, add extra call to render a frame to flush frame callbacks 2025-06-23 12:27:05 +08:00
Nick Fisher 7e802f7b23 formatting 2025-06-23 12:25:30 +08:00
Nick Fisher ce23b9f3cd (doc) add documentation for destroyAsset instances 2025-06-23 12:25:18 +08:00
Nick Fisher 45d8c7b929 (example) add user_defines to headless example pubspec 2025-06-23 12:24:46 +08:00
Nick Fisher 7a484ee794 update light tests for IBL from manually-created texture 2025-06-23 12:23:12 +08:00
Nick Fisher 832319ee1b (test) add bounding box test to asset_tests 2025-06-23 12:22:13 +08:00
Nick Fisher 668c001b49 add inUse flag to assist with recycling gltf instances 2025-06-23 12:21:52 +08:00
Nick Fisher e503dd2e8b docstrings for GltfSceneAsset destroyInstance 2025-06-23 12:21:21 +08:00
Nick Fisher e1c34cc4d9 formatting 2025-06-23 12:21:04 +08:00
Nick Fisher b035d45ada (example) remove HTML header from picking web 2025-06-23 12:20:31 +08:00
Nick Fisher 75d34f0afb log user defines in build.dart 2025-06-23 12:20:14 +08:00
Nick Fisher d053bfd6da move showBoundingBox/hideBoundingBox implementation to ThermionViewerFFI 2025-06-23 12:19:41 +08:00
Nick Fisher 920f81c514 add flipY argument to pixelBufferToPng 2025-06-23 12:18:08 +08:00
Nick Fisher b64a505ffc formatting 2025-06-23 12:17:52 +08:00
Nick Fisher 00debf509d remove getBoundingBoxAsset and destroyBoundingBoxAsset from ThermionAsset 2025-06-23 12:17:38 +08:00
Nick Fisher 73b32f9c1e start migrating from covariant (for FFIAsset) to getNativeHandle() 2025-06-23 11:58:51 +08:00
Nick Fisher abd1a1fd55 move bounding box asset methods from ThermionAsset to ThermionViewer 2025-06-23 11:57:15 +08:00
Nick Fisher e8721b6133 more key mappings 2025-06-23 10:33:50 +08:00
Nick Fisher a01bf36576 use ENABLE_TRACING from user defines 2025-06-21 10:14:43 +08:00
Nick Fisher 5f92c7feab expose addToScene argument in interface for loadGltfFromBuffer (this was already exposed in the implementation) 2025-06-21 09:25:44 +08:00
Nick Fisher e1cb517417 allow creating more glTF instances than pre-allocated 2025-06-20 18:46:36 +08:00
Nick Fisher 37c35906d6 add propagateEvents arg to ThermionListenerWidget
expose physical/logical key maps
dont await InputHandler.handle - this no longer returns a future
2025-06-20 18:36:31 +08:00
Nick Fisher 355999562f move Axis class to own file 2025-06-20 18:35:21 +08:00
Nick Fisher c208972ed7 docstrings 2025-06-20 18:34:08 +08:00
Nick Fisher 6a7ca3cd42 add backtick key 2025-06-20 18:33:47 +08:00
Nick Fisher b6d869275a InputHandler shouldn't return Future
add mousePanSensitivity
2025-06-20 18:33:35 +08:00
Nick Fisher 64eeacc029 add missing support for Camera_getCullingProjectionMatrix 2025-06-20 12:42:32 +08:00
Nick Fisher 3783081456 in viewer, ensure onTextureUploadComplete callbacks are passed through to KTX1Bundle.createTexture 2025-06-19 11:52:44 +08:00
Nick Fisher 0a9b1a82e2 update instancing tests 2025-06-19 11:01:16 +08:00
Nick Fisher 9322122dac pass through keepData argument when loadGltfFromBuffer is called 2025-06-19 11:01:09 +08:00
Nick Fisher a823718bcd fix incorrect indexing for material instances when creating an instance 2025-06-19 10:57:54 +08:00
Nick Fisher 7446b0545a update docs 2025-06-18 14:34:03 +08:00
Nick Fisher 3c4bedd43b update headless example README 2025-06-18 13:10:49 +08:00
Nick Fisher 21e8cf0d11 add Dart/headless example 2025-06-18 13:08:51 +08:00
Nick Fisher 86e0f7740f add Fence_waitAndDestroyRenderThread 2025-06-18 13:03:34 +08:00
Nick Fisher a5a3c73708 add Fence_waitAndDestroy to TEngine.h 2025-06-18 13:02:59 +08:00
Nick Fisher a44cb9a9cc add Fence_waitAndDestroy to TEngine.h 2025-06-18 13:02:48 +08:00
Nick Fisher 6f97bf3993 update build.dart to set ENABLE_TRACING based on tracing property from user defines 2025-06-18 13:02:24 +08:00
Nick Fisher 42f9538040 implement TSkybox and use setColor method to set the background color, rather than the image 2025-06-18 13:01:25 +08:00
Nick Fisher df393b075b update bindings for Fence methods 2025-06-18 12:11:36 +08:00
Nick Fisher 13f9a8370b add iOS build instructions 2025-06-18 10:59:04 +08:00
Nick Fisher 558978a0f2 add makeUint8List helper method for ffi/jsinterop 2025-06-17 18:01:18 +08:00
Nick Fisher a29b194612 ensure highlight entities don't cast/receive shadows 2025-06-17 17:29:40 +08:00
Nick Fisher 3e04bf427f allow passing reflection texture separately from irradiance when calling loadIblFromTexture 2025-06-17 14:13:19 +08:00
Nick Fisher 65ca59ff22 merge native setImage with setImageWithDepth 2025-06-17 13:25:53 +08:00
Nick Fisher a91aaae131 formatting 2025-06-17 11:51:37 +08:00
Nick Fisher 71bae61015 add loadIblFromTexture method 2025-06-17 11:51:07 +08:00
Nick Fisher 288acb019e add getBackgroundImage to ThermionViewerFFI 2025-06-17 11:49:16 +08:00
Nick Fisher b9354531b2 add cubemap methods to BackgroundImage 2025-06-17 11:26:27 +08:00
Nick Fisher 388b8556e5 fix incorrect index when creating texture from Ktx1Bundle 2025-06-12 11:54:10 +08:00
Nick Fisher 59d9d87d2f remove unused headers 2025-06-12 11:47:23 +08:00
Nick Fisher d5824466f7 update generated bindings 2025-06-12 11:39:09 +08:00
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