Commit Graph

404 Commits

Author SHA1 Message Date
Nick Fisher
4c95bc5b70 (macos) add isStencil argument for creating depth texture on macOS (if true, creates texture with .depth24Unorm_stencil8 2025-06-09 18:24:15 +08:00
Nick Fisher
073976b40e logging 2025-06-09 18:13:54 +08:00
Nick Fisher
6d0844f873 logging 2025-06-09 18:13:44 +08:00
Nick Fisher
983d1373ba logging 2025-06-09 18:13:35 +08:00
Nick Fisher
0dd64a07bb add helper method to convert between TStencilFace and MaterialInstance::StencilFace (not strictly necessary, but will help if something upstream changes in future 2025-06-09 18:12:17 +08:00
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
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
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
b1617004d7 add missing EMSCRIPTEN_KEEPALIVE from Texture_generateMipMapsRenderThread 2025-06-02 14:58:11 +08:00
Nick Fisher
24aaffda9c lock mutex when setting animations manually via AnimationManager 2025-06-02 11:52:08 +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
7f0ec01937 change RenderThread warning from Log to TRACE 2025-05-30 14:35:48 +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
6ad76b6217 add stb_image.h 2025-05-29 19:02:35 +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
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
5db9fe2c9e disable initial clear color (blue) for gl canvas on web 2025-05-28 10:47:44 +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
81fb0fb583 add setFogOptions 2025-05-24 15:05:03 +08:00
Nick Fisher
4505cbe325 add missing setExposure methods + reinstate camera tests 2025-05-24 10:51:56 +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
5ce2efa638 (web) remove console logging 2025-05-21 13:15:43 +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
bdba92c842 set emscripten main thread to nullptr when RenderThread is stopped 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
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
c98e604e76 split animation components into GltfAnimation/MorphAnimation/BoneAnimation 2025-05-17 10:11:55 +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
46e87fb6a4 add sources to native CMakeLists.txt 2025-05-17 10:04:33 +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
ebab1f528d only set mRendered to true when a frame was actually rendered 2025-05-09 11:23:13 +08:00
Nick Fisher
4a5a1d0157 remove debug printing 2025-05-09 11:22:25 +08:00
Nick Fisher
906f5bf931 remove redundant make_render_callback_fn_pointer definition 2025-05-09 11:22:08 +08:00
Nick Fisher
50c1c871a8 return false from RenderTicker when frame skipped 2025-05-09 11:20:21 +08:00
Nick Fisher
8a6ba637a7 store last render time in RenderTicker 2025-05-09 11:19:13 +08:00