Commit Graph

324 Commits

Author SHA1 Message Date
Nick Fisher
73e6597301 replace overlay render target when viewport resizes 2025-07-01 16:58:46 +08:00
Nick Fisher
f9a7ac49a1 expose View methods for transparent picking 2025-07-01 14:20:02 +08:00
Nick Fisher
e984d8cf71 don't pass View to readPixels (only width/height, x/y offsets needed, and optionally rendertarget) 2025-07-01 13:03:06 +08:00
Nick Fisher
9a5b737391 move outline material to embedded binary 2025-07-01 11:06:51 +08:00
Nick Fisher
0c2e4e6faa (material) set gridColor when instantiating grid material 2025-07-01 10:42:42 +08:00
Nick Fisher
e50a1b6002 implement RenderTicker::removeSwapChain 2025-07-01 10:42:21 +08:00
Nick Fisher
584abd6086 on macOS, always create stencil buffer by default 2025-07-01 10:21:39 +08:00
Nick Fisher
0f9d2492e6 move set/remove stencilHighlight to View and implement via OverlayManager 2025-07-01 10:13:47 +08:00
Nick Fisher
506d2fb562 expose Material->getFeautureLevel 2025-07-01 10:07:35 +08:00
Nick Fisher
0b18caf4ff expose Engine->getSupportedFeatureLevel() 2025-07-01 10:07:10 +08:00
Nick Fisher
feeb757a10 use render thread method for creating grid overlay & reinstate overlay tests 2025-06-27 13:34:01 +08:00
Nick Fisher
ccc0a53abc rename numInstances to initialInstances in loadGltf methods.
when initialInstances > 0, don't wait for createInstance to be called to create corresponding GltfSceneAsset
2025-06-26 10:11:29 +08:00
Nick Fisher
1fe1889fa2 remove STB_IMAGE_IMPLEMENTATION (this is already linked) 2025-06-24 15:30:39 +08:00
Nick Fisher
21ccb52ab9 fix missing includes for Linux compatibility 2025-06-24 12:30:33 +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
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
668c001b49 add inUse flag to assist with recycling gltf instances 2025-06-23 12:21:52 +08:00
Nick Fisher
e1cb517417 allow creating more glTF instances than pre-allocated 2025-06-20 18:46:36 +08:00
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
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
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
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
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
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
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
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
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