80 Commits

Author SHA1 Message Date
jingyun
d16474784d fix:3的模型动态修改模型文件 2025-08-25 15:09:07 +08:00
jingyun
1c07d576d3 init 2025-08-22 15:14:09 +08:00
Nick Fisher
ecffc5b62a use async loading for camera_manipulation sample 2025-07-16 18:08:21 +08:00
Nick Fisher
edb7538c36 (example) update viewer example + docs 2025-07-03 14:22:01 +08:00
Nick Fisher
bb913644f4 (example) add web folder for materials_and_textures example 2025-07-01 13:16:31 +08:00
Nick Fisher
6ab1411801 (example) add Android support for materials_and_textures example 2025-07-01 12:12:59 +08:00
Nick Fisher
2613ba2423 (example) fix initialInstances arg 2025-06-26 10:25:59 +08:00
Nick Fisher
fc365744ef (test) add cube_texture2.svg 2025-06-23 12:47:02 +08:00
Nick Fisher
900e43b5ec (example) (web) update build_web_compilers dependency 2025-06-23 12:46:45 +08:00
Nick Fisher
c78cd45b8a (example) (web) cleanup js_wasm example HTML when building for wasm 2025-06-23 12:46:18 +08:00
Nick Fisher
1268970ba7 (example) (web) cleanup js_wasm example 2025-06-23 12:45:59 +08:00
Nick Fisher
34c9d5a279 (example) update metadata 2025-06-23 12:39:07 +08:00
Nick Fisher
45d8c7b929 (example) add user_defines to headless example pubspec 2025-06-23 12:24:46 +08:00
Nick Fisher
b035d45ada (example) remove HTML header from picking web 2025-06-23 12:20:31 +08:00
Nick Fisher
3c4bedd43b update headless example README 2025-06-18 13:10:49 +08:00
Nick Fisher
21e8cf0d11 add Dart/headless example 2025-06-18 13:08:51 +08:00
Nick Fisher
9436666d34 (example) update quickstart web to import canvas as widget 2025-06-11 11:08:31 +08:00
Nick Fisher
94eacec27e Texture improvements: generateMipmaps(), add levels to createTexture, tests to check auto mip level selection 2025-05-29 18:38:57 +08:00
Nick Fisher
afd47f9b24 merge test/example assets 2025-05-29 17:58:13 +08:00
Nick Fisher
23d6e3a819 (example) update picking example 2025-05-21 12:02:29 +08:00
Nick Fisher
9a6bacc73f pass both logical key & physical key to input handler on keyboard keypress 2025-05-21 12:01:50 +08:00
Nick Fisher
2dad04a354 (examples) remove logging 2025-05-20 14:57:41 +08:00
Nick Fisher
1fb68b20e9 separate Gltf/Morph/BoneAnimationComponentManager definitions
move gltf animation instantiation to GltfAnimationComponentManager (this helps ensure we are creating the component on the correct entity)
2025-05-20 14:57:26 +08:00
Nick Fisher
04b8b333d4 update materials_and_textures sample 2025-05-18 15:11:52 +08:00
Nick Fisher
43442e10de update picking index.html 2025-05-18 14:46:56 +08:00
Nick Fisher
dcef1a5749 symlink cube_with_morph_targets.glb to example assets 2025-05-17 22:23:39 +08:00
Nick Fisher
2444e9a980 add example animations project 2025-05-17 22:19:47 +08:00
Nick Fisher
62bf3876f8 update materials_and_textures example 2025-05-13 18:06:33 +08:00
Nick Fisher
bb272f2579 update web input handler 2025-05-12 10:15:41 +08:00
Nick Fisher
56e132ec15 update picking example for web 2025-05-12 10:15:27 +08:00
Nick Fisher
5379ae7d74 update js/wasm example pubspec 2025-05-12 10:15:06 +08:00
Nick Fisher
90f17e3bc9 rename camera_manipulation sample to picking 2025-05-10 12:16:16 +08:00
Nick Fisher
9ef6d46958 update iOS/Android/MacOS project files 2025-05-09 11:21:47 +08:00
Nick Fisher
2f16908992 feat! js_interop improvements 2025-05-07 17:06:38 +08:00
Nick Fisher
02b6bc4ee6 update camera_manipulation example to use new API 2025-04-16 16:02:46 +08:00
Nick Fisher
0194eb5cd5 update camera_manipulation example to add local thermion_flutter_web in dependency_overrides 2025-04-16 16:02:23 +08:00
Nick Fisher
69ce7b1a15 update Dart cli_windows example 2025-04-02 22:29:39 +08:00
Nick Fisher
508c184f1a add missing Filament headers for Windows 2025-04-02 22:15:11 +08:00
Nick Fisher
645ba97c1d update Windows CLI example 2025-03-28 15:55:35 +08:00
Nick Fisher
548dccf776 separate quickstart/viewer example projects 2025-03-28 11:45:34 +08:00
Nick Fisher
72711ee64f rename/update materials_and_textures sample project 2025-03-08 11:20:10 +08:00
Nick Fisher
bb5a8f495d enable GPU validation mode for camera_manipulation iOS project 2025-03-01 11:56:35 +08:00
Nick Fisher
c400ca3993 rename Android project and disable impeller for camera_manipulation 2025-03-01 11:56:35 +08:00
Nick Fisher
2b864f6f44 example: fix android release build for camera_manipulation 2025-01-08 17:18:27 +08:00
Nick Fisher
1b979252db feat: re-implement grid overlay 2025-01-07 08:25:48 +08:00
Nick Fisher
bedd50ec38 chore: update pubspec.yaml with new package name 2025-01-07 08:25:48 +08:00
Nick Fisher
60a09a1cd9 chore: rename thermion_flutter_ffi in example projects 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
436873a455 successfully creating D3D texture with D3D11_RESOURCE_MISC_SHARED_NTHANDLE;
successfully allocating with VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT

working copying vulkan texture

successfully passing D3D texture back to Flutter

chore: Dart/Windows sample project: remove unnnecessary InvalidateRect from update()

chore: Dart/Windows sample project: add generated bindings

successfully blitting from Vulkan swapchain to D3D texture

working Vulkan texture integration with Flutter

refactor to allow disposal of resources in destructors

handle destroyTexture correctly

correctly implement surface resizing/destruction

move Windows engine to Vulkan backend and flush after creating swapchain

add vulkan + vkshaders to Windows libs

update materials with Vulkan

move Vulkan implementation to thermion_Dart

remove extras folder

thermion_flutter plugin updates

update build hook to copy .lib file to output directory and use -vulkan lib zip file

thermion_flutter cleanup

reinstate stereoscopic on Windows

add dxgi and d3d11.lib to windows header pragma

update cli_windows sample project

copy filament/vulkan headers to output directory. This was originally added to facilitate linking on Windows (where thermion_flutter_plugin.cpp needs the Vulkan-related headers), but this doesn't actually solve the problem because there's no way that I've found to get the directory structure correct in the Dart native_assets build directory unless you explicitly address each inidivual file. The current approach is therefore to just keep a permanent copy of the headers in the thermion_filament directory (meaning these will need to be updated manually if the Filament version changes). However, I decided to keep the changes to build.dart because it doesn't have much negative impact and may be helpful in future.

disable stereoscopic on Windows and disable handle use after free checks

use filament headers for thermion_flutter

throw Exception for MSAA on Windows (note that passing msaa:true for setAntiAliasing doesn't actually set MSAA on other platforms, but at least it won't cause the engine to crash)

change header include path for Windows/Vulkan

change header include path for Windows/Vulkan

add filament/vulkan headers for flutter (Windows)

ensure destroyTexture platform methods accept an integer rather than a list

handle Android/Windows swapchain creation separately
2024-11-11 12:49:40 +08:00
Nick Fisher
5ae028f1e9 print default gpu in cli_windows thermion_window 2024-11-11 12:49:40 +08:00