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
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
Nick Fisher
826a22f348
wip
2025-05-18 15:08:45 +08:00
Nick Fisher
fe11479b08
remove relativeResourcePath from gltf resource loading;
...
all external resources should be added on the Dart side, Filament should never attempt to load these directly from the filesystem.
relativeResourcePath (called gltfPath on the Filament side) is only used for desktop loading, so this is now irrelevant.
Note that Filament must be compiled with GLTFIO_USE_FILESYSTEM=0
2025-05-17 21:48:18 +08:00
Nick Fisher
906f5bf931
remove redundant make_render_callback_fn_pointer definition
2025-05-09 11:22:08 +08:00
Nick Fisher
2f16908992
feat! js_interop improvements
2025-05-07 17:06:38 +08:00
Nick Fisher
e1d5d14ff7
add RenderTarget_destroyRenderThread
2025-04-17 13:35:07 +08:00
Nick Fisher
1be1979c05
rename requestAnimationFrame to requestFrame
2025-04-17 13:34:18 +08:00
Nick Fisher
230bb5f9f6
use render thread methods for all async gltf loading
2025-04-16 19:07:31 +08:00
Nick Fisher
2d4342607d
add async gltf resource loading
2025-04-16 17:06:51 +08:00
Nick Fisher
ecb8d8672a
fix instancing so that gltf assets always fill the first instance slot
2025-03-28 13:06:36 +08:00
Nick Fisher
999b1e613f
refactoring + texture projection
2025-03-25 09:39:02 +08:00
Nick Fisher
0cbbc058e0
refactoring
2025-03-22 10:49:24 +08:00
Nick Fisher
a67f42f0de
refactoring
2025-03-21 17:18:16 +08:00
Nick Fisher
255c0edd49
refactoring
2025-03-21 14:56:20 +08:00
Nick Fisher
e6bdcb687a
refactoring
2025-03-20 18:48:04 +08:00
Nick Fisher
a8a2f14b34
refactoring
2025-03-19 23:22:19 +08:00
Nick Fisher
931aab5159
refactoring
2025-03-19 21:52:59 +08:00
Nick Fisher
a310498c5a
refactoring
2025-03-19 18:45:42 +08:00
Nick Fisher
6744c02019
refactoring
2025-03-19 17:54:43 +08:00
Nick Fisher
ac86dc7ad7
refactoring
2025-03-19 16:02:43 +08:00
Nick Fisher
627447f8b0
refactoring
2025-03-19 12:27:13 +08:00
Nick Fisher
d5bffd5ad2
refactor
2025-03-18 23:15:13 +08:00
Nick Fisher
951f5daa2d
more refactoring
2025-03-18 18:06:17 +08:00
Nick Fisher
77fe40848b
refactoring
2025-03-18 16:26:47 +08:00
Nick Fisher
07b80071a4
add destroy methods for skybox/indirect light
2025-03-18 11:42:29 +08:00
Nick Fisher
231b03cd17
add indirect light methods
2025-03-17 22:36:53 +08:00
Nick Fisher
bff76f184e
add gltfio FFI methods and expose texture/render target creation directly
2025-03-17 18:53:36 +08:00
Nick Fisher
5ad187d54f
add various render thread methods
2025-03-17 16:35:45 +08:00
Nick Fisher
e91d1ca0aa
support 3D texture/2D texture arrays
2025-03-10 18:05:42 +08:00
Nick Fisher
aa26f4d0df
separate out RenderLoop/FilamentViewer construction/destruction
2025-03-07 18:53:36 +08:00
Nick Fisher
74ee35bfcd
use render thread methods for Texture/Image/TextureSampler
2025-03-07 14:52:45 +08:00
Nick Fisher
fc7f5d7b93
create material for texture baking
...
textures can now be created manually and are no longer tracked by SceneManager (and therefore require manual tracking/disposal)
2025-03-04 14:52:48 +08:00
Nick Fisher
2a8931e1ac
add TTexture bindings with TextureFormat, PixelDataType and PixelDataFormat enums
2025-03-03 14:43:20 +08:00
Nick Fisher
282ee6d103
cherry pick changes onto ThermionDartRenderThreadApi.h
2025-03-01 11:59:36 +08:00
Nick Fisher
124eed0264
fix: don't return entity from SceneManager_addLightRenderThread
2025-01-07 08:43:36 +08:00
Nick Fisher
4e64c4976f
refactor!: rename removeAsset to destroyAsset
...
use render thread methods for lights
2025-01-07 08:25:48 +08:00
Nick Fisher
744e39e8dd
fix: move removeIbl to render thread
2025-01-07 08:25:48 +08:00
Nick Fisher
f8ae90b631
internal: add destroyRenderTargetRenderThread
2025-01-07 08:25:48 +08:00
Nick Fisher
f27628e719
internal: add createGrid/destroyMaterial render thread methods
2025-01-07 08:25:48 +08:00
Nick Fisher
852cb58ba9
fix: move material/instance creation to render thread
2025-01-07 08:25:48 +08:00
Nick Fisher
def85614d8
feat: add rotation gizmo
2025-01-07 08:25:48 +08:00
Nick Fisher
8a894f7e88
refactor: add createGizmoRenderThread
2025-01-07 08:25:48 +08:00
Nick Fisher
6d5bc305dc
fix SceneManager_createCameraRenderThread
2025-01-07 08:25:48 +08:00
Nick Fisher
80ca4b97a9
add create/set camera render thread functions
2025-01-07 08:25:48 +08:00
Nick Fisher
ed444b0615
feature!:
...
This is a breaking change needed to fully implement instancing and stencil highlighting.
Previously, users would work directly with entities (on the Dart side, ThermionEntity), e.g.
final entity = await viewer.loadGlb("some.glb");
However, Filament "entities" are a lower-level abstraction.
Loading a glTF file, for example, inserts multiple entities into the scene.
For example, each mesh, light, and camera within a glTF asset will be assigned an entity. A top-level (non-renderable) entity will also be created for the glTF asset, which can be used to transform the entire hierarchy.
"Asset" is a better representation for loading/inserting objects into the scene; think of this as a bundle of entities.
Unless you need to work directly with transforms, instancing, materials and renderables, you can work directly with ThermionAsset.
2024-11-27 15:02:37 +11:00