Commit Graph

54 Commits

Author SHA1 Message Date
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 8f1da5e7bd separate skybox/ibl creation from KTX decoding 2025-06-11 09:48:17 +08:00
Nick Fisher 7b80723560 add Texture_generateMipMapsRenderThread, AnimationManager_resetToRestPoseRenderThread 2025-06-02 11:51:19 +08:00
Nick Fisher 2f7f363db9 pass shared NameComponentManager to gltfio AssetLoader 2025-05-31 11:21:57 +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 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 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 11ff6c9053 remove TMaterialKey struct and pass directly as function params 2025-05-18 15:11:50 +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 826a22f348 wip 2025-05-18 15:08:45 +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
Nick Fisher 906f5bf931 remove redundant make_render_callback_fn_pointer definition 2025-05-09 11:22:08 +08:00
Nick Fisher 2f16908992 feat! js_interop improvements 2025-05-07 17:06:38 +08:00
Nick Fisher e1d5d14ff7 add RenderTarget_destroyRenderThread 2025-04-17 13:35:07 +08:00
Nick Fisher 1be1979c05 rename requestAnimationFrame to requestFrame 2025-04-17 13:34:18 +08:00
Nick Fisher 230bb5f9f6 use render thread methods for all async gltf loading 2025-04-16 19:07:31 +08:00
Nick Fisher 2d4342607d add async gltf resource loading 2025-04-16 17:06:51 +08:00
Nick Fisher ecb8d8672a fix instancing so that gltf assets always fill the first instance slot 2025-03-28 13:06:36 +08:00
Nick Fisher 999b1e613f refactoring + texture projection 2025-03-25 09:39:02 +08:00
Nick Fisher 0cbbc058e0 refactoring 2025-03-22 10:49:24 +08:00
Nick Fisher a67f42f0de refactoring 2025-03-21 17:18:16 +08:00
Nick Fisher 255c0edd49 refactoring 2025-03-21 14:56:20 +08:00
Nick Fisher e6bdcb687a refactoring 2025-03-20 18:48:04 +08:00
Nick Fisher a8a2f14b34 refactoring 2025-03-19 23:22:19 +08:00
Nick Fisher 931aab5159 refactoring 2025-03-19 21:52:59 +08:00
Nick Fisher a310498c5a refactoring 2025-03-19 18:45:42 +08:00
Nick Fisher 6744c02019 refactoring 2025-03-19 17:54:43 +08:00
Nick Fisher ac86dc7ad7 refactoring 2025-03-19 16:02:43 +08:00
Nick Fisher 627447f8b0 refactoring 2025-03-19 12:27:13 +08:00
Nick Fisher d5bffd5ad2 refactor 2025-03-18 23:15:13 +08:00
Nick Fisher 951f5daa2d more refactoring 2025-03-18 18:06:17 +08:00
Nick Fisher 77fe40848b refactoring 2025-03-18 16:26:47 +08:00
Nick Fisher 07b80071a4 add destroy methods for skybox/indirect light 2025-03-18 11:42:29 +08:00
Nick Fisher 231b03cd17 add indirect light methods 2025-03-17 22:36:53 +08:00
Nick Fisher bff76f184e add gltfio FFI methods and expose texture/render target creation directly 2025-03-17 18:53:36 +08:00
Nick Fisher 5ad187d54f add various render thread methods 2025-03-17 16:35:45 +08:00
Nick Fisher e91d1ca0aa support 3D texture/2D texture arrays 2025-03-10 18:05:42 +08:00
Nick Fisher aa26f4d0df separate out RenderLoop/FilamentViewer construction/destruction 2025-03-07 18:53:36 +08:00
Nick Fisher 74ee35bfcd use render thread methods for Texture/Image/TextureSampler 2025-03-07 14:52:45 +08:00
Nick Fisher fc7f5d7b93 create material for texture baking
textures can now be created manually and are no longer tracked by SceneManager (and therefore require manual tracking/disposal)
2025-03-04 14:52:48 +08:00
Nick Fisher 2a8931e1ac add TTexture bindings with TextureFormat, PixelDataType and PixelDataFormat enums 2025-03-03 14:43:20 +08:00
Nick Fisher 282ee6d103 cherry pick changes onto ThermionDartRenderThreadApi.h 2025-03-01 11:59:36 +08:00
Nick Fisher 124eed0264 fix: don't return entity from SceneManager_addLightRenderThread 2025-01-07 08:43:36 +08:00
Nick Fisher 4e64c4976f refactor!: rename removeAsset to destroyAsset
use render thread methods for lights
2025-01-07 08:25:48 +08:00
Nick Fisher 744e39e8dd fix: move removeIbl to render thread 2025-01-07 08:25:48 +08:00
Nick Fisher f8ae90b631 internal: add destroyRenderTargetRenderThread 2025-01-07 08:25:48 +08:00
Nick Fisher f27628e719 internal: add createGrid/destroyMaterial render thread methods 2025-01-07 08:25:48 +08:00
Nick Fisher 852cb58ba9 fix: move material/instance creation to render thread 2025-01-07 08:25:48 +08:00
Nick Fisher def85614d8 feat: add rotation gizmo 2025-01-07 08:25:48 +08:00