Commit Graph

40 Commits

Author SHA1 Message Date
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