Commit Graph

94 Commits

Author SHA1 Message Date
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
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
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
679af95901 allow directly creating an entity and setting transform 2025-05-24 16:34:47 +08:00
Nick Fisher
81fb0fb583 add setFogOptions 2025-05-24 15:05:03 +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
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
f9d09e17ef return false from AnimationManager_ methods if provided sceneAsset is not a glTF asset
rename playAnimation to playGltfAnimation etc where appropriate
2025-05-17 10:06:12 +08:00
Nick Fisher
c47cfe9b57 transformToUnitCube returns bool (false when transform instance can't be found) 2025-05-10 09:04:06 +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
e9628511fc remove C++ includes from C headers 2025-05-07 16:53:15 +08:00
Nick Fisher
4cb725d47e add Engine_destroyCamera 2025-04-19 09:49:19 +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
f7a7b6bedf add EMSCRIPTEN_KEEPALIVE to swap chain flags 2025-04-02 22:26:03 +08:00
Nick Fisher
99217499f9 remove old SceneManager references 2025-03-28 15:55:35 +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
e73cb9c7d6 refactor 2025-03-19 15:42:33 +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
746ef07e42 add FilamentAsset methods 2025-03-17 22:35:58 +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
d710ab810c expose more Texture/TextureSampler methods 2025-03-17 16:54:15 +08:00
Nick Fisher
4e5a9be97a add standalone SceneAsset_createGeometry method 2025-03-17 16:53:35 +08:00
Nick Fisher
342a53ae7b add View_setScene and rename View_updateViewport to View_setViewport 2025-03-17 16:53:06 +08:00
Nick Fisher
74502ba5b3 add further TEngine methods 2025-03-17 16:52:05 +08:00