Commit Graph

189 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