Commit Graph

42 Commits

Author SHA1 Message Date
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
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
426d6c4ed6 use render thread methods for all async gltf loading 2025-04-16 19:07:55 +08:00
Nick Fisher
ef775b2e2c add GltfResourceLoader_asyncBeginLoadRenderThread 2025-04-16 18:00:31 +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
ac86dc7ad7 refactoring 2025-03-19 16:02:43 +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
b271b7e433 more render thread methods 2025-03-17 22:36:10 +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
7a707cda67 move Engine_ FFI methods to own header/source 2025-03-03 11:32:34 +08:00
Nick Fisher
7131e7ab86 add enabled/strength params for bloom 2025-03-01 11:53:40 +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
8e0ba8ac4e fix: glTF instancing when loaded via buffer 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
5fe985d2c7 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