Nick Fisher
85b86c5f13
formatting
2025-06-12 11:37:45 +08:00
Nick Fisher
d8652e8709
formatting
2025-06-12 11:37:29 +08:00
Nick Fisher
fe5279f942
don't free Int32List for childEntities, stackRestore takes care of this
2025-06-12 11:37:18 +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
0461bb364a
use getPrimitiveCount method on FilamentApp, rather than direct FFI method
2025-06-11 09:52:57 +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
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
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
c33eaef713
replace direct FFI View_ calls with calls to corresponding (Dart) methods on View
2025-06-09 18:18:58 +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
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
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
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
c484eeb37f
when destroying an asset, remove/destroy instances before destroying the parent asset
2025-06-04 11:07:21 +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
7141a01101
use render thread method for resetting to rest pose
2025-06-02 11:52:41 +08:00
Nick Fisher
059926fe98
add generateMipmapsRenderThread
2025-06-02 10:44:45 +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
5f9a7bb959
remove errant comment
2025-05-29 22:30:00 +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
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
d298b0d091
add decodeToTexture static helper method to Texture
2025-05-28 10:47:21 +08:00
Nick Fisher
4a7a366fc6
add setTransform/getWorldTransform to FilamentApp
2025-05-28 10:47:00 +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
a31f11151e
check for beginFrame returning false in project() and correctly calculate numChannels/channelSize
2025-05-22 15:19:03 +08:00
Nick Fisher
10136c8cde
use flush() instead of directly calling executeRenderThread (wasm) or flushAndWait (native)
2025-05-22 15:18:19 +08:00
Nick Fisher
c712804bb1
add createLight method to FilamentApp
2025-05-22 15:09:36 +08:00
Nick Fisher
1b3d46533c
remove unnecessary import
2025-05-22 15:08:02 +08:00
Nick Fisher
5733bc125b
add addEntity method to Scene
2025-05-22 15:07:43 +08:00
Nick Fisher
943de8f77b
add createCamera method to FilamentApp
2025-05-22 15:07:23 +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
11ff6c9053
remove TMaterialKey struct and pass directly as function params
2025-05-18 15:11:50 +08:00
Nick Fisher
760ae8ed8b
add makeInt32List method (to create an Int32List actually backed by heap-allocated memory
2025-05-18 15:09:05 +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