Commit Graph

405 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
e731556e6f add scale parameter to outline material 2025-07-01 14:28:19 +08:00
Nick Fisher
f9a7ac49a1 expose View methods for transparent picking 2025-07-01 14:20:02 +08:00
Nick Fisher
ce2dc9b1cb update FFI/JS bindings 2025-07-01 13:11:24 +08:00
Nick Fisher
a5eab305da add bool render argument to capture() 2025-07-01 13:09:42 +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
4379313932 move grid material instantiation to GridOverlay 2025-07-01 11:07:44 +08:00
Nick Fisher
8a997d533a remove stencil highlight on remove from scene or destroyAsset 2025-07-01 11:07:17 +08:00
Nick Fisher
9a5b737391 move outline material to embedded binary 2025-07-01 11:06:51 +08:00
Nick Fisher
215515a4fc use RenderTarget nativeHandle and don't cast to FFIMaterialInstance 2025-07-01 10:52:04 +08:00
Nick Fisher
2022fa97cc use DEPTH24_STENCIL8 as depth attachment for render target.
I'm not sure this is even used; the backend always allocate its own internal depth/stencil buffer. There may be a final blit from the internal buffer to the render target buffer, but I haven't actually confirmed this yet
2025-07-01 10:28:36 +08:00
Nick Fisher
809f84e1fa logging 2025-07-01 10:27:00 +08:00
Nick Fisher
932971c872 use generic parameter in FilamentApp for renderableManager/transformManager/etc, and only expose as getters in the interface 2025-07-01 10:26:30 +08:00
Nick Fisher
7ed120e854 call removeSwapChain when swapChain is destroyed 2025-07-01 10:25:36 +08:00
Nick Fisher
45c4cea6aa add setBackgroundImageFromTexture method to ThermionViewer 2025-07-01 10:23:25 +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
0b18caf4ff expose Engine->getSupportedFeatureLevel() 2025-07-01 10:07:10 +08:00
Nick Fisher
b3b0e2bae1 Material now implements NativeHandle 2025-07-01 10:06:05 +08:00
Nick Fisher
35369b890f Camera now implements NativeHandle 2025-07-01 10:05:47 +08:00
Nick Fisher
53a2a116aa RenderTarget now implements NativeHandle 2025-07-01 10:04:33 +08:00
Nick Fisher
80ceb5988e RenderTarget now implements NativeHandle 2025-07-01 10:04:13 +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
40e206fc94 expose setScene on View 2025-06-27 11:34:01 +08:00
Nick Fisher
48b631b0a8 add generic parameter to NativeHandle, rather than getNativeHandle() 2025-06-27 11:33:50 +08:00
Nick Fisher
bc392bd933 use getNativeHandle for MaterialInstance 2025-06-27 09:36:20 +08:00
Nick Fisher
72cc9b932a add containsChild method to ThermionAsset 2025-06-26 22:11:36 +08:00
Nick Fisher
2c7425fbdb (CI) add overlay_tests.dart 2025-06-26 22:11:13 +08:00
Nick Fisher
a7b0ed6f21 don't share a single material instance for all highlighted objects
destroy highlight material instances on highlight asset destroyed
expose highlight instances on Scene via getAssetForHighlight
2025-06-26 15:32:05 +08:00
Nick Fisher
fab3240ecf clamp pixel values in image conversion 2025-06-26 10:30:32 +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
fac0c727e4 don't track/remove assets when addToScene/removeFromScene is called 2025-06-25 16:51:21 +08:00
Nick Fisher
ed21eec66e pass through instance owner to FFIAsset so instances can be created on instances 2025-06-24 21:31:10 +08:00
Nick Fisher
d20ff0a6f1 don't require SwapChain to be passed to viewer.render - this will just render into all registered swapchains 2025-06-24 10:36:10 +08:00
Nick Fisher
c7d4d9cb33 add NativeHandle interface and refactor SwapChain to use getNativeHandle 2025-06-24 10:35:33 +08:00
Nick Fisher
9aec83fd70 throw Exception if createInstance is called on an instance and pass through isInstance/keepData flags 2025-06-24 10:22:40 +08:00
Nick Fisher
57999bec3c clean up TextureProjection 2025-06-23 12:38:35 +08:00
Nick Fisher
69400f8b68 update TextureProjection to accept material instances and render multiple target entities 2025-06-23 12:38:06 +08:00
Nick Fisher
18b6b2e5f0 (web) in capture, add extra call to render a frame to flush frame callbacks 2025-06-23 12:27:05 +08:00
Nick Fisher
7e802f7b23 formatting 2025-06-23 12:25:30 +08:00
Nick Fisher
ce23b9f3cd (doc) add documentation for destroyAsset instances 2025-06-23 12:25:18 +08:00
Nick Fisher
e1c34cc4d9 formatting 2025-06-23 12:21:04 +08:00
Nick Fisher
d053bfd6da move showBoundingBox/hideBoundingBox implementation to ThermionViewerFFI 2025-06-23 12:19:41 +08:00
Nick Fisher
920f81c514 add flipY argument to pixelBufferToPng 2025-06-23 12:18:08 +08:00
Nick Fisher
b64a505ffc formatting 2025-06-23 12:17:52 +08:00
Nick Fisher
00debf509d remove getBoundingBoxAsset and destroyBoundingBoxAsset from ThermionAsset 2025-06-23 12:17:38 +08:00
Nick Fisher
73b32f9c1e start migrating from covariant (for FFIAsset) to getNativeHandle() 2025-06-23 11:58:51 +08:00
Nick Fisher
abd1a1fd55 move bounding box asset methods from ThermionAsset to ThermionViewer 2025-06-23 11:57:15 +08:00
Nick Fisher
e8721b6133 more key mappings 2025-06-23 10:33:50 +08:00
Nick Fisher
5f92c7feab expose addToScene argument in interface for loadGltfFromBuffer (this was already exposed in the implementation) 2025-06-21 09:25:44 +08:00
Nick Fisher
355999562f move Axis class to own file 2025-06-20 18:35:21 +08:00