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
e5bcde3ade
(web) update bindings
2025-06-11 11:13:43 +08:00
Nick Fisher
9436666d34
(example) update quickstart web to import canvas as widget
2025-06-11 11:08:31 +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
0461bb364a
use getPrimitiveCount method on FilamentApp, rather than direct FFI method
2025-06-11 09:52:57 +08:00
Nick Fisher
f78c6f258f
add test for getBoundingBox
2025-06-11 09:51:24 +08:00
Nick Fisher
b0796f493f
(test) move IBL tests to light_tests
2025-06-11 09:51:14 +08:00
Nick Fisher
8998f1f740
add RenderableManager_getBoundingBox
2025-06-11 09:50:48 +08:00
Nick Fisher
6362efcd61
add implementations for getPrimitiveCount/getBoundingBox on FFIFilamentApp
2025-06-11 09:50:35 +08:00
Nick Fisher
dc5c1161cc
add setMaterialInstanceAt to FilamentApp interface
2025-06-11 09:50:02 +08:00
Nick Fisher
3e6f95e0bf
add removeEntity method on Scene
2025-06-11 09:49:05 +08:00
Nick Fisher
f053c2f852
add removeEntity method on Scene
2025-06-11 09:48:44 +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
ac87420a87
add setPriority to FilamentApp interface
2025-06-10 11:49:17 +08:00
Nick Fisher
5669ac5c55
Dart wrappers for View/Scene are now stateful
2025-06-10 11:48:31 +08:00
Nick Fisher
ae9ce197c1
move setStencilHighlight/removeStencilHighlight to Scene
2025-06-10 10:27:03 +08:00
Nick Fisher
37c67c2da8
(macos) create render target texture with isStencil:false
2025-06-10 10:24:01 +08:00
Nick Fisher
66d3bf65fd
add view test for multiple views rendering into the same render target
2025-06-10 09:08:30 +08:00
Nick Fisher
dba40fb82b
update instancing tests
2025-06-09 18:28:58 +08:00
Nick Fisher
95db6d7ebb
update generated bindings
2025-06-09 18:28:43 +08:00
Nick Fisher
fef48940fc
add implementation methods for getPrimitiveCount, setMaterialInstancesFromMap, getMaterialInstancesAsMap and setMaterialInstanceForAll
2025-06-09 18:28:33 +08:00
Nick Fisher
4086c9bd01
add interface methods for getPrimitiveCount, setMaterialInstancesFromMap, getMaterialInstancesAsMap and setMaterialInstanceForAll
2025-06-09 18:26:36 +08:00
Nick Fisher
928517f80f
update gitignore with generated Swift dylib
2025-06-09 18:25:53 +08:00
Nick Fisher
4a9b91c411
(test) update helper to add createStencilBuffer flag
2025-06-09 18:25:39 +08:00
Nick Fisher
9054879722
update Swift bindings and remove dylib from repository (should be recompiled when running via CI/CD?)
2025-06-09 18:25:18 +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
8866ffe210
(test) update helper to add createStencilBuffer flag
2025-06-09 18:23:22 +08:00
Nick Fisher
c33eaef713
replace direct FFI View_ calls with calls to corresponding (Dart) methods on View
2025-06-09 18:18:58 +08:00
Nick Fisher
78e14574ef
split stencil/depth tests from unlit material tests
2025-06-09 18:15: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
6055bd3fa7
fix FFIMaterial so it correctly translates between StencilFace (Dart) and TStencilFace (Dart FFI) enums
2025-06-09 18:10:07 +08:00
Nick Fisher
f3a576005a
expose setShadowsEnabled method on View/FFIView
2025-06-09 18:09:27 +08:00
Nick Fisher
ff559997dd
(web) regenerate JS bindings
2025-06-05 21:52:47 +08:00
Nick Fisher
79fea25d1b
manually edit JS bindings to remove internal (Dart) struct members and fix TFogOptions
2025-06-05 16:42:28 +08:00
Nick Fisher
9ae7c784df
pass TFogOptions by value, not pointer, and rearrange struct fields to minimize alignment issues
2025-06-05 16:41:08 +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
a9553da1d4
(build) remove libpng
2025-06-05 10:12:41 +08:00
Nick Fisher
fc4686b20f
add documentation for Scene
2025-06-04 17:44:24 +08:00
Nick Fisher
ab4743da90
pass keepData flag to instances of FFIAsset when creating geometry
2025-06-04 11:14:02 +08:00
Nick Fisher
7406662853
add nullptr check when loading gltf assets
2025-06-04 11:13:39 +08:00
Nick Fisher
aa2f19442b
surround frame request hooks with try/catch, and add a check to avoid concurrency exceptions when adding/removing hooks
2025-06-04 11:13:15 +08:00
Nick Fisher
cc99905eb8
pass through keepData flag when creating geometry via viewer
2025-06-04 11:11:42 +08:00
Nick Fisher
1d697037c0
gltf animation names are immutable, so cache these in a local copy in FFIAsset
2025-06-04 11:10:45 +08:00
Nick Fisher
c024efb8cd
store reference to keepData in each FFIAsset and throw exception if an instance is attempted to be created when keepData is false
2025-06-04 11:09:28 +08:00
Nick Fisher
150c0227c8
(test) remove group from asset_tests
2025-06-04 11:08:13 +08:00
Nick Fisher
e594a42496
add test for create/destroy geometry instances
2025-06-04 11:07:58 +08:00
Nick Fisher
c484eeb37f
when destroying an asset, remove/destroy instances before destroying the parent asset
2025-06-04 11:07:21 +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
886a4a37aa
(test) log to stdout by default when using TestHelper
2025-06-04 10:46:55 +08:00
Nick Fisher
6db82d00c2
don't call removeAnimationComponent in viewer (moved to FilamentApp.destroyAsset)
2025-06-03 16:40:50 +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
28aef7e5cc
when destroying assets, remove animation component in FilamentApp, not viewer
2025-06-02 14:58:52 +08:00
Nick Fisher
b1617004d7
add missing EMSCRIPTEN_KEEPALIVE from Texture_generateMipMapsRenderThread
2025-06-02 14:58:11 +08:00
Nick Fisher
32b6b1c227
(flutter) add zero size check in TextureWidget
2025-06-02 12:58:53 +08:00
Nick Fisher
1c500fe925
require dispose() on InputHandlerDelegate and update sample implementations
2025-06-02 12:58:26 +08:00
Nick Fisher
3fd15ab91b
(flutter) add zero size check for texture descriptors
2025-06-02 12:58:11 +08:00
Nick Fisher
2191f9d44b
require dispose() on InputHandlerDelegate and update sample implementations
2025-06-02 12:57:45 +08:00
Nick Fisher
87b63301f2
require dispose() on InputHandlerDelegate and update sample implementations
2025-06-02 12:57:22 +08:00
Nick Fisher
0d5b42c908
add Char to js_interop malloc
2025-06-02 12:15:35 +08:00
Nick Fisher
12e2dca873
change wireframe camera geometry
2025-06-02 12:14:55 +08:00
Nick Fisher
8eae6bf90c
add flags to pixelBufferToPng for alpha/float
2025-06-02 12:14:40 +08:00
Nick Fisher
873244879f
when batch is true in DelegateInputHandler, filter simultaneous keydown/keyup
2025-06-02 12:14:05 +08:00
Nick Fisher
2ab1732b6b
add synthesized property to KeyEvent and add additional keys
2025-06-02 12:12:51 +08:00
Nick Fisher
5eb83a80b3
formatting
2025-06-02 12:08:26 +08:00
Nick Fisher
7141a01101
use render thread method for resetting to rest pose
2025-06-02 11:52:41 +08:00
Nick Fisher
24aaffda9c
lock mutex when setting animations manually via AnimationManager
2025-06-02 11:52:08 +08:00
Nick Fisher
82aba605f9
add Texture_generateMipMapsRenderThread, AnimationManager_resetToRestPoseRenderThread
2025-06-02 11:51:43 +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
059926fe98
add generateMipmapsRenderThread
2025-06-02 10:44:45 +08:00
Nick Fisher
3c9b607109
add geometry tests for destroyAssets
2025-06-02 10:13:08 +08:00
Nick Fisher
70e2933c4b
track geometry assets internally to ensure they are destroyed when destroyAssets is called
2025-06-02 10:09:58 +08:00
Nick Fisher
4fb85eb45a
don't throw exception on failure to remove animation component
2025-05-31 21:58:32 +08:00
Nick Fisher
afecacfcf0
getChildEntity in FFIAsset should invoke FilamentApp method, not direct binding method
2025-05-31 11:25:24 +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
ccdf2ecda6
(flutter) better synchronization in ThermionTextureWidget with presentation deadline
2025-05-30 14:35:24 +08:00
Nick Fisher
5f9a7bb959
remove errant comment
2025-05-29 22:30:00 +08:00
Nick Fisher
764fea836b
move tests to unlit_material_tests.dart
2025-05-29 22:29:04 +08:00
Nick Fisher
27d6bd0f4a
update projection tests to use aspect-ratio other than 1
2025-05-29 22:28:50 +08:00
Nick Fisher
7e810b8265
remove old tests
2025-05-29 22:27:39 +08:00
Nick Fisher
6ad3bfab13
remove old material_tests.dart
2025-05-29 22:27:31 +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
c789e75af5
(web) fix casing for generateMipMaps
2025-05-29 19:27:22 +08:00
Nick Fisher
6ad76b6217
add stb_image.h
2025-05-29 19:02:35 +08:00
Nick Fisher
2e097f7ec6
(CI) run macos/web samples separately
2025-05-29 18:57:53 +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
11f7ac459b
separate material_tests into ubershader & unlit
2025-05-29 18:02:21 +08:00