Commit Graph

421 Commits

Author SHA1 Message Date
Nick Fisher
64eeacc029 add missing support for Camera_getCullingProjectionMatrix 2025-06-20 12:42:32 +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
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
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
65ca59ff22 merge native setImage with setImageWithDepth 2025-06-17 13:25:53 +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
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
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
8998f1f740 add RenderableManager_getBoundingBox 2025-06-11 09:50:48 +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
Nick Fisher
d447fb8e2a add RenderableManager_getBoundingBox 2025-06-11 09:44:46 +08:00
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