Commit Graph

29 Commits

Author SHA1 Message Date
Nick Fisher
322e77d2b7 add additional camera geometry object 2025-07-03 15:00:02 +08:00
Nick Fisher
fab3240ecf clamp pixel values in image conversion 2025-06-26 10:30:32 +08:00
Nick Fisher
57999bec3c clean up TextureProjection 2025-06-23 12:38:35 +08:00
Nick Fisher
69400f8b68 update TextureProjection to accept material instances and render multiple target entities 2025-06-23 12:38:06 +08:00
Nick Fisher
920f81c514 add flipY argument to pixelBufferToPng 2025-06-23 12:18:08 +08:00
Nick Fisher
12e2dca873 change wireframe camera geometry 2025-06-02 12:14:55 +08:00
Nick Fisher
8eae6bf90c add flags to pixelBufferToPng for alpha/float 2025-06-02 12:14:40 +08:00
Nick Fisher
96694be017 remove register/unregister swapchain/view in TextureProjection
since we are rendering each view separately, this is no longer necessary
2025-05-22 15:22:15 +08:00
Nick Fisher
3007dec127 TextureProjection now makes a separate render pass for each View.
This is needed because changing material properties between beginFrame/endFrame is unsupported
2025-05-22 15:03:06 +08:00
Nick Fisher
2f16908992 feat! js_interop improvements 2025-05-07 17:06:38 +08:00
Nick Fisher
54a0a0befb update TextureProjection 2025-03-28 10:01:49 +08:00
Nick Fisher
cac063324d texture projection work 2025-03-25 12:16:38 +08:00
Nick Fisher
7d5b183dea add TextureProjection class 2025-03-25 11:33:07 +08:00
Nick Fisher
999b1e613f refactoring + texture projection 2025-03-25 09:39:02 +08:00
Nick Fisher
931aab5159 refactoring 2025-03-19 21:52:59 +08:00
Nick Fisher
102429e090 refactoring 2025-03-19 15:42:11 +08:00
Nick Fisher
627447f8b0 refactoring 2025-03-19 12:27:13 +08:00
Nick Fisher
951f5daa2d more refactoring 2025-03-18 18:06:17 +08:00
Nick Fisher
1a3d902d23 add image utils 2025-03-07 14:53:13 +08:00
Nick Fisher
35bddd2bb2 fix geometry normals/UVs 2025-03-07 14:53:02 +08:00
Nick Fisher
f7fa02180a add bitmap conversion to utils 2025-03-04 18:15:30 +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
6cefe44c64 fix: when creating geometry, normals/uvs are set to false by default. remove wirefame camera container (can now be replaced by bounding box methods 2025-01-07 08:25:48 +08:00
Nick Fisher
e43e1c9cbd flip camera wireframe direction 2025-01-07 08:25:48 +08:00
Nick Fisher
a31c800204 add wireframe camera to geometry 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
740dbea8bd add Axis class and rearrange utils dir 2024-10-10 14:58:50 +08:00
Nick Fisher
921a994eb6 refactor: continual refactor to support multiple render targets 2024-09-28 18:28:05 +08:00
Nick Fisher
239891c400 chore: rearrange library/export structure 2024-09-26 16:35:33 +08:00