Commit Graph

89 Commits

Author SHA1 Message Date
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 665c2fb39d update projection test 2025-03-04 14:37:13 +08:00
Nick Fisher 8d52690c97 fix texture/material methods 2025-03-03 15:52:03 +08:00
Nick Fisher 2a8931e1ac add TTexture bindings with TextureFormat, PixelDataType and PixelDataFormat enums 2025-03-03 14:43:20 +08:00
Nick Fisher 3a231697e5 test: add more tests 2025-01-07 08:42:24 +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 baf86d1ade refactor!: move light methods from FilamentViewer to SceneManager/TLightManager and rename clearLights/clearAssets to destroyLights/destroyAssets 2025-01-07 08:25:48 +08:00
Nick Fisher 3e181b6aff fix: allow destroying instances independently of owner 2025-01-07 08:25:48 +08:00
Nick Fisher cc1b55b6c9 internal: remove vertexScale from unlit material and multiply by alpha 2025-01-07 08:25:48 +08:00
Nick Fisher 7717387909 internal: remove bounding box asset when parent asset removed 2025-01-07 08:25:48 +08:00
Nick Fisher d9338f4341 chore: test fixes 2025-01-07 08:25:48 +08:00
Nick Fisher 8d8acef481 feat: remove bounding box from SceneAsset and create renderable wireframe bounding box in ThermionAsset 2025-01-07 08:25:48 +08:00
Nick Fisher 7cf1468f38 feat: more rotation gizmo improvements 2025-01-07 08:25:48 +08:00
Nick Fisher 981fd63963 update overlay tests 2025-01-07 08:25:48 +08:00
Nick Fisher 600ab1ad28 update tests 2025-01-07 08:25:48 +08:00
Nick Fisher c2077cb6b1 fix: store reference to material instances in ThermionViewer so they can be cleaned up on dispose 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
Nick Fisher df37f5e95f test cleanup 2024-11-21 12:32:17 +08:00
Nick Fisher 25320f45af chore: fix spelling 2024-11-15 22:58:04 +08:00
Nick Fisher 0b9f3160d9 feat: add MaterialInstance.setDepthFunc 2024-11-15 22:56:40 +08:00
Nick Fisher 646814126f chore: test cleanup 2024-11-15 22:23:28 +08:00
Nick Fisher 6ff04fb76a feat: add Dart methods for getRenderableBoundingBox, setParameterInt and setParameterFloat4 2024-11-02 10:23:36 +08:00
Nick Fisher 4650ae1295 feat: Rename Gizmo material to UnlitFixedSize, and expose methods for using this material on other entities. Also exposes new methods for setting single float parameters. 2024-11-02 10:23:36 +08:00
Nick Fisher 2969321b8c chore: test cleanup 2024-10-30 10:47:39 +08:00
Nick Fisher 036369a8dc feat: pass through fragment coordinates for picking 2024-10-30 10:47:39 +08:00
Nick Fisher e5fe6d95e9 test: add perspective projection test 2024-10-30 10:47:39 +08:00
Nick Fisher 3effb837b7 chore: dummy tests 2024-10-25 16:59:27 +08:00
Nick Fisher 68d363388d chore: dummy tests 2024-10-25 14:49:11 +08:00
Nick Fisher 10fd78276c chore: dummy tests 2024-10-25 14:22:28 +08:00
Nick Fisher 4d778326c6 chore: dummy test for GitHub actions 2024-10-25 14:17:14 +08:00
Nick Fisher e2d381b6b7 chore: rename test 2024-10-25 13:57:21 +08:00
Nick Fisher d9849717de chore: cleanup tests 2024-10-25 12:25:47 +08:00
Nick Fisher f1f2a237bb chore: remove combined integration_test 2024-10-25 12:01:01 +08:00
Nick Fisher 7165b13d48 chore: clean up thermion_dart test directory for GitHub actions 2024-10-25 11:41:45 +08:00
Nick Fisher 512d74568a chore: test cleanup 2024-10-23 16:43:17 +11:00
Nick Fisher 617c2ba578 chore: test cleanup 2024-10-23 16:43:02 +11:00
Nick Fisher 5476c6248c chore: test cleanup 2024-10-23 16:42:33 +11:00
Nick Fisher aed64a27e8 chore: test cleanup 2024-10-23 15:11:33 +11:00
Nick Fisher 2b338a63ba cleanup tests 2024-10-23 15:08:14 +11:00
Nick Fisher 3b810f84da add animation tests 2024-10-10 20:49:08 +08:00
Nick Fisher 10f2c7d36b update cube test asset with morph targets 2024-10-10 20:49:01 +08:00
Nick Fisher 5b849638de update cube test asset with morph targets 2024-10-10 20:48:54 +08:00
Nick Fisher 857fd6f782 update tests 2024-10-10 20:48:41 +08:00
Nick Fisher 365657cf88 add pick to view tests 2024-10-10 20:47:17 +08:00
Nick Fisher 389a165ed3 rearrange package folders 2024-10-10 20:44:55 +08:00
Nick Fisher 39fabd501d chore: move swift bindings to test folder to make pub.dev happy 2024-10-02 17:53:31 +08:00
Nick Fisher 562ecf2ee5 feat: camera and resizing improvements 2024-10-02 16:47:55 +08:00
Nick Fisher 921a994eb6 refactor: continual refactor to support multiple render targets 2024-09-28 18:28:05 +08:00
Nick Fisher a2a26555e2 feat: more work on multiple views/swapchains 2024-09-28 11:19:06 +08:00