Commit Graph

59 Commits

Author SHA1 Message Date
Nick Fisher
825c6e1a80 feat: parent the cloned entity instance when setting stencil highlight 2024-10-23 14:44:35 +08:00
Nick Fisher
ff304ad3d4 feat: add getAncestor method 2024-10-23 14:44:35 +08:00
Nick Fisher
d4d4dc4fd7 feat: move createGeometry to SceneManager, add queueRelativePositionUpdateFromViewportVector and removeStencilHighlight 2024-10-23 14:44:34 +08:00
Nick Fisher
2ccbb4c0c4 chore: remove createGeometry method from FilamentViewer, set default view blend mode 2024-10-23 14:44:34 +08:00
Nick Fisher
709b098054 fix: properly destroy entities/material/etc in Gizmo on destruction, remove custom scene creation logic 2024-10-23 14:44:34 +08:00
Nick Fisher
53ff6c72f0 feat: move HighlightOverlay to nested class, move createGeometry to SceneManager, add queueRelativePositionUpdateFromViewportVector 2024-10-23 14:44:34 +08:00
Nick Fisher
8044adcc50 feat: add removeStencilHighlight, accept color param for setStencilHighlight, queuePositionUpdateFromViewportCoords to ThermionDartApi 2024-10-23 14:44:34 +08:00
Nick Fisher
8fe4322536 chore: rebuild unlit material 2024-10-23 14:44:34 +08:00
Nick Fisher
8ca4205d2c fix: add Fence to capture() and set stencil buffer by default 2024-10-23 14:44:34 +08:00
Nick Fisher
0a4e3501dc feat: add flag for keepData for gltf instancing, add highlightScene, add stencilHighlight method 2024-10-23 14:44:34 +08:00
Nick Fisher
65a6231f23 feat: grid uses own material 2024-10-23 14:44:33 +08:00
Nick Fisher
4b70116754 chore: clean up old commented code 2024-10-23 14:44:33 +08:00
Nick Fisher
e136b0a9f1 fix: ignore pick results directly on axis 2024-10-23 14:44:33 +08:00
Nick Fisher
e45cc0267f feat: add grid material 2024-10-23 14:44:33 +08:00
Nick Fisher
d17cce2ca4 feat: expose setLightDirection and setLightPosition 2024-10-23 14:44:33 +08:00
Nick Fisher
1bdf6888c6 fix: emscripten export visibility for add_light 2024-10-23 14:44:32 +08:00
Nick Fisher
f69fcbb783 chore: use float instead of float32_t in FilamentViewer 2024-10-23 14:44:32 +08:00
Nick Fisher
6771431038 chore: add nested PickCallbackHandler to Gizmo 2024-10-23 14:44:32 +08:00
Nick Fisher
b20acaec6f feat: remove gizmo view references, exclude gizmo entities from picking, add createIbl 2024-10-23 14:44:32 +08:00
Nick Fisher
516d420a1e feat: createIbl 2024-10-23 14:44:32 +08:00
Nick Fisher
b92b34a8ad chore: init SceneManager pointers to nullptr 2024-10-23 14:44:32 +08:00
Nick Fisher
7d7596bbdd fix: add more nan checks for gizmo manipulation 2024-10-23 14:44:31 +08:00
Nick Fisher
acac2dba90 feat: expose API methods for create_ibl, pick/set gizmo visibility 2024-10-23 14:44:31 +08:00
Nick Fisher
727ac7d9df feat: create transparent overlay for gizmo for easier picking 2024-10-23 14:44:31 +08:00
Nick Fisher
2fc54ae343 feat: rescale gizmo based on distance from camera 2024-10-23 14:44:31 +08:00
Nick Fisher
e04cd0488e feat: rescale gizmo based on distance from camera 2024-10-23 14:44:31 +08:00
Nick Fisher
f867e21647 fix: add check for nan NDC coordinates for viewport translation 2024-10-23 14:44:31 +08:00
Nick Fisher
4d3d744cd6 feat: layers, grid 2024-10-23 14:44:30 +08:00
Nick Fisher
21416fa8c8 feat: layers, grid 2024-10-23 14:44:30 +08:00
Nick Fisher
f2f973bf00 feat: ignore grid overlay and gizmo center when picking, implement highlighting 2024-10-23 14:44:30 +08:00
Nick Fisher
0c655dbfd4 feat: SceneManager updates (setLayer, add grid, queueRelativePositionUpdateWorld 2024-10-23 14:44:30 +08:00
Nick Fisher
ebac947c92 feat: expose set_layer_enabled, get_camera_fov and queue_relative_position_updateg_world_axis to ThermionDartApi.h 2024-10-23 14:44:30 +08:00
Nick Fisher
ce85a9d0b1 feat: add getCameraFov to FilamentViewer 2024-10-23 14:44:30 +08:00
Nick Fisher
f114ca33d5 feat: add new grid overlay files to web CmakeLists 2024-10-23 14:44:30 +08:00
Nick Fisher
850628f7f6 chore: rebuild materials 2024-10-23 14:44:30 +08:00
Nick Fisher
8f2cd5a353 add grid overlay 2024-10-23 14:44:30 +08:00
Nick Fisher
f6f12e2566 use inactive/active color gizmo 2024-10-23 14:44:30 +08:00
Nick Fisher
3512ed6da3 chore: don't use shader to overlay gizmo 2024-10-23 14:44:30 +08:00
Nick Fisher
4a29a77a78 feat: re-implement (native) Gizmo class, expose preserveScaling parameter for setParent, add methods for getting viewport bounding box from renderable entity 2024-10-23 14:44:29 +08:00
Nick Fisher
aa17962936 fix: (web) add emscripten guards for flushAndWait call when swapchain destroyed 2024-10-23 14:44:29 +08:00
Nick Fisher
0a720fae72 feat: add capture() function and expose viewportDimensions on ThermionViewer (allows easier saving of captured images to PNG) 2024-10-23 14:44:29 +08:00
Nick Fisher
0153b5be22 feat: (web) allow table growth in emscripten module for passing C-style callback function pointers 2024-10-23 14:44:29 +08:00
Nick Fisher
a30e2f295f feat: add startOffset parameter to gltf playAnimation 2024-10-23 14:44:29 +08:00
Nick Fisher
41bf9ededa feat: add clearMorphAnimationData function 2024-07-23 09:38:26 +08:00
Nick Fisher
7418fb867d feat: allow passing assetPathPrefix to ThermionViewerWasm to account for Flutter build asset paths 2024-07-23 09:38:25 +08:00
Nick Fisher
7b97b2e6c3 save fetched resources to IndexedDB on web 2024-07-04 14:19:37 +08:00
Nick Fisher
c7a0b2f5cc fix: defer creating image entity/material/etc until actually requested
feat: expose shadow options
2024-07-02 16:17:36 +08:00
Nick Fisher
81be5e25f7 fix: revert to std::thread (pthreads not easily available on Windows) 2024-06-26 01:50:22 +10:00
Nick Fisher
fd19fc1c68 fix: use preserveDrawingBuffer=true on web
using createImageFromImageBitmap to import the canvas directly into a Flutter app results in flickering unless this is set to true (as the drawing buffer is otherwise cleared after each render, which may not line up with Flutter's ticker
2024-06-21 11:19:16 +08:00
Nick Fisher
0ec7e2af95 refactor: export ThermionViewerWasm for web and hide FFI/WASM version 2024-06-21 11:19:16 +08:00