Commit Graph

106 Commits

Author SHA1 Message Date
Nick Fisher
54a0a0befb update TextureProjection 2025-03-28 10:01:49 +08:00
Nick Fisher
cd1c2f3827 projection work + tests 2025-03-28 10:01:00 +08:00
Nick Fisher
cac063324d texture projection work 2025-03-25 12:16:38 +08:00
Nick Fisher
6c25a3c405 projection tests 2025-03-25 11:32:53 +08:00
Nick Fisher
999b1e613f refactoring + texture projection 2025-03-25 09:39:02 +08:00
Nick Fisher
255c0edd49 refactoring 2025-03-21 14:56:20 +08:00
Nick Fisher
1177a71f73 test updates 2025-03-20 18:56:10 +08:00
Nick Fisher
cbff4cd805 refactoring 2025-03-20 11:07:16 +08:00
Nick Fisher
2244359edd interm texture depth tests 2025-03-17 17:00:47 +08:00
Nick Fisher
4205b86f13 update generated Swift bindings 2025-03-17 16:55:28 +08:00
Nick Fisher
e1446c7eb8 more VDTM work 2025-03-10 22:21:25 +08:00
Nick Fisher
1f4af8c946 more VDTM work 2025-03-10 22:05:10 +08:00
Nick Fisher
75bee32e54 test fix 2025-03-10 18:11:23 +08:00
Nick Fisher
1d49db4767 3D texture tests 2025-03-10 18:06:27 +08:00
Nick Fisher
593bca3365 feat: expose setCastShadows/setReceiveShadows 2025-03-05 14:47:55 +08:00
Nick Fisher
cca9fba79f add setImage method to set texture image directly from buffer 2025-03-04 18:17:17 +08:00
Nick Fisher
a245cf2915 add bitmap conversion to utils 2025-03-04 18:16:49 +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
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