Commit Graph
100 Commits
Author SHA1 Message Date
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 b59cadc061 add first pass vulkan implementation 2024-11-11 12:49:40 +08:00
Nick Fisher bdcbd90ec6 split D3D/GLES texture creation 2024-11-11 12:49:40 +08:00
Nick Fisher f3e96fe94a remove external/internal D3D textures 2024-11-11 12:49:40 +08:00
Nick Fisher ef97f0e6c2 refactor Windows rendering into standalone DLL 2024-11-11 12:49:40 +08:00
Nick Fisher 8976eb9621 update extras/Windows include path 2024-11-11 12:49:40 +08:00
Nick Fisher e2cfe9247e improvements to BackingWindow (?) 2024-11-11 12:49:40 +08:00
Nick Fisher 6472670ec3 add createRenderTargetRenderThread 2024-11-11 12:49:40 +08:00
Nick Fisher 0eb81114dd expose GetSharedContext method on FlutterRenderContext 2024-11-11 12:49:40 +08:00
Nick Fisher 31c5ef41eb use texture backed platform on Windows 2024-11-11 12:49:40 +08:00
Nick Fisher 73470fa504 refactor WGLContext for easier legibility 2024-11-11 12:49:40 +08:00
Nick Fisher 14b815e009 remove unnecessary _context property from FilamentViewer 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
Nick Fisher 859a514bc5 chore: remove DLL from cli_windows project 2024-11-11 12:49:40 +08:00
Nick Fisher 4d97126ef6 chore: update cli_windows project 2024-11-11 12:49:40 +08:00
Nick Fisher cc34cb20bd Merge branch 'develop' of https://github.com/nmfisher/thermion into develop 2024-11-02 16:32:06 +08:00
Nick Fisher 9c555c9ec0 chore: update cli_windows project 2024-11-02 16:29:36 +08:00
Nick Fisher 9537f75bc2 Update dart.yml 2024-11-02 16:41:14 +11:00
Nick Fisher 30e0012da6 Update dart.yml 2024-11-02 16:31:38 +11:00
Nick Fisher 1892235d5c Update dart.yml 2024-11-02 16:11:51 +11:00
Nick Fisher 82bd84b60d Update dart.yml 2024-11-02 16:07:04 +11:00
Nick Fisher 814adf8567 Update dart.yml 2024-11-02 16:01:09 +11:00
Nick Fisher 671880b405 chore: move windows extras to standalone cli_windows example 2024-11-02 12:55:56 +08:00
Nick Fisher 6ce2e22fac Update dart.yml 2024-11-02 15:54:05 +11:00
Nick Fisher 51d3dae1db Update dart.yml 2024-11-02 15:49:39 +11:00
Nick Fisher a33a18da42 Merge branch 'develop' of https://github.com/nmfisher/thermion into develop 2024-11-02 13:24:18 +11:00
Nick Fisher 6ff04fb76a feat: add Dart methods for getRenderableBoundingBox, setParameterInt and setParameterFloat4 2024-11-02 10:23:36 +08:00
Nick Fisher 124938dbc2 temporarily disable UnprojectTexture 2024-11-02 10:23:36 +08:00
Nick Fisher 902f67e97d expose setParameterInt/setParameterFloat4, rename to getScreenSpaceBoundingBox, and expose method for getting renderable bounding box 2024-11-02 10:23:36 +08:00
Nick Fisher 08c02c1590 chore(release): publish packages
- thermion_dart@0.2.1-dev.0.0.16
 - thermion_flutter@0.2.1-dev.16
 - thermion_flutter_web@0.2.0+7
 - thermion_flutter_platform_interface@0.2.1-dev.16
 - thermion_flutter_ffi@0.2.1-dev.16
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 c77ede9109 doc: fix links in README 2024-11-02 10:23:36 +08:00
Nick Fisher 0f56cbe7e7 doc: README 2024-11-02 10:23:36 +08:00
Nick Fisher 708e90117d doc: update README 2024-11-02 10:23:36 +08:00
Nick Fisher 33e5350605 chore(release): publish packages
- thermion_dart@0.2.1-dev.0.0.15
 - thermion_flutter@0.2.1-dev.15
 - thermion_flutter_web@0.2.0+6
 - thermion_flutter_platform_interface@0.2.1-dev.15
 - thermion_flutter_ffi@0.2.1-dev.15
2024-11-02 10:23:35 +08:00
Nick Fisher d1924cfdf4 chore: add logging to ThermionTextureWidget 2024-11-02 10:23:35 +08:00
Nick Fisher dff214259a fix: multiply coordinates by pixelRatio for scale events 2024-11-02 10:23:35 +08:00
Nick Fisher d25edfc097 fix: remove superfluous ceil() calls for picking coordinates 2024-11-02 10:23:35 +08:00
Nick Fisher 8c2b8a6cba feat: expose zoomSensitivity argument for flight input handler 2024-11-02 10:23:35 +08:00
Nick Fisher eccbde4ebb chore(release): publish packages
- thermion_dart@0.2.1-dev.0.0.14
 - thermion_flutter@0.2.1-dev.14
 - thermion_flutter_platform_interface@0.2.1-dev.14
 - thermion_flutter_ffi@0.2.1-dev.14
 - thermion_flutter_web@0.2.0+5
2024-11-02 10:23:35 +08:00
Nick Fisher 27e1456b9f chore: add Dart/windows-only example project 2024-11-02 13:10:36 +11:00
Nick Fisher 9c6b2a92ac fix: replace assets symlink for quickstart project 2024-10-30 12:03:48 +08:00
Nick Fisher 1d6cb9cad2 fix: replace symlinks for camera_manipulation project 2024-10-30 15:01:15 +11:00
Nick Fisher d31e6c8183 feat: sanitize file paths in build.dart for Windows compatibility 2024-10-30 14:35:49 +11:00
Nick Fisher cf1a50c2e5 chore: use dependency_overrides for camera_manipulation project 2024-10-30 14:28:06 +11:00
Nick Fisher 7c15125a97 fix: reduce size of pick functor for compatibility with armeabi-v7a 2024-10-30 10:47:39 +08:00
Nick Fisher b7c14ebbda chore(release): publish packages
- thermion_dart@0.2.1-dev.0.0.13
 - thermion_flutter_web@0.2.0+4
 - thermion_flutter@0.2.1-dev.13
 - thermion_flutter_ffi@0.2.1-dev.13
 - thermion_flutter_platform_interface@0.2.1-dev.13
2024-10-30 10:47:39 +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 7be2b43c35 chore: remove sandbox from macos quickstart project 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 a8480a9eee Update dart.yml 2024-10-25 17:26:07 +08:00
Nick Fisher 1a4f53a3f9 Update dart.yml 2024-10-25 17:19:26 +08:00
Nick Fisher 11c374c25d Update dart.yml 2024-10-25 17:17:11 +08:00
Nick Fisher 618d633602 Update dart.yml 2024-10-25 17:16:02 +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 4fc819e9b9 Update dart.yml 2024-10-25 13:51:39 +08:00
Nick Fisher f0feb8aeb1 Merge branch 'develop' of https://github.com/nmfisher/thermion into develop 2024-10-25 16:45:58 +11:00
Nick Fisher 85013743fe chore: (flutter) (example) use dependency overrides for local thermion packages. We want to build this application for CI before releasing, so we need to be testing the packages that will be built 2024-10-25 16:45:44 +11:00
Nick Fisher e5a1585c25 chore: (windows) remove unused libs 2024-10-25 16:44:42 +11:00
Nick Fisher dd8bf920a5 chore: update dart.yml 2024-10-25 12:31:29 +08:00
Nick Fisher b70c144784 chore: update dart.yml 2024-10-25 12:26:39 +08:00
Nick Fisher d9849717de chore: cleanup tests 2024-10-25 12:25:47 +08:00
Nick Fisher ec4fd5fd44 Update dart.yml 2024-10-25 12:20:10 +08:00
Nick Fisher 52b83d933d Update dart.yml 2024-10-25 12:04:11 +08:00
Nick Fisher f1f2a237bb chore: remove combined integration_test 2024-10-25 12:01:01 +08:00
Nick Fisher 4a90031054 Update dart.yml 2024-10-25 11:55:34 +08:00
Nick Fisher cf34b7867d Update dart.yml 2024-10-25 11:51:21 +08:00
Nick Fisher e49330c34a Update dart.yml 2024-10-25 11:45:16 +08:00
Nick Fisher 53ff1de23c Merge branch 'master' into develop 2024-10-25 11:42:00 +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 f330721c0c Update dart.yml 2024-10-25 11:40:38 +08:00
Nick Fisher 01fe469a28 Update dart.yml 2024-10-25 11:36:59 +08:00
Nick Fisher e716b55b5c Update dart.yml 2024-10-25 11:32:36 +08:00
Nick Fisher e7ebf6e8b2 Update dart.yml 2024-10-25 11:31:00 +08:00
Nick Fisher 16e34bf76a Update dart.yml 2024-10-25 11:29:36 +08:00
Nick Fisher 3dce7a61a8 chore(release): publish packages
- thermion_dart@0.2.1-dev.0.0.12
 - thermion_flutter@0.2.1-dev.12
 - thermion_flutter_web@0.2.0+3
 - thermion_flutter_platform_interface@0.2.1-dev.12
 - thermion_flutter_ffi@0.2.1-dev.12
2024-10-25 11:25:11 +08:00
Nick Fisher 5dac06d335 chore(release): publish packages
- thermion_dart@0.2.1-dev.0.0.12
 - thermion_flutter_web@0.2.0+2
 - thermion_flutter_platform_interface@0.2.1-dev.11
 - thermion_flutter_ffi@0.2.1-dev.11
 - thermion_flutter@0.2.1-dev.11
2024-10-25 11:24:32 +08:00
Nick Fisher a8d21fe316 Merge pull request #72 from nmfisher/develop
Gesture handling improvements & build fixes
2024-10-25 14:24:20 +11:00
Nick Fisher d784efa44a Update dart.yml 2024-10-25 11:22:49 +08:00
Nick Fisher b2a4955d54 Update dart.yml 2024-10-25 11:19:50 +08:00
Nick Fisher 02d7a0acfd Update dart.yml 2024-10-25 14:16:29 +11:00
Nick Fisher ee5c08f795 fix: (flutter) (windows) remove deleted source file from Windows CMakeLists 2024-10-25 14:16:22 +11:00
Nick Fisher d7debf981c Merge branch 'master' into develop 2024-10-25 14:15:51 +11:00
Nick Fisher 2b4a73f355 feat: add SCALE2_MOVE InputType 2024-10-25 10:37:57 +08:00
Nick Fisher 06b20ec6fc fix: properly pass through loadResourcesAsync flag for loadGlbFromBuffer 2024-10-25 10:37:34 +08:00
Nick Fisher a3b6d60e16 chore(release): publish packages
- thermion_dart@0.2.1-dev.0.0.11
 - thermion_flutter@0.2.1-dev.10
 - thermion_flutter_web@0.2.0+1
 - thermion_flutter_platform_interface@0.2.1-dev.10
 - thermion_flutter_ffi@0.2.1-dev.10
2024-10-24 12:59:43 +08:00
Nick Fisher 37608a8fbe fix: LFS materials 2024-10-24 12:58:13 +08:00
Nick Fisher 2713286ca5 Merge pull request #71 from nmfisher/develop
Allow finer control over input handling
2024-10-24 15:56:11 +11:00
Nick Fisher 6f648702e9 feat: add SCALE2_ROTATE to InputHandler 2024-10-24 12:52:14 +08:00
Nick Fisher 5e17e0c6d1 feat!: expose velocity, rotation and timestamp for scale events in listener. accept rotationSensitivity/zoomSensitivity for FixedOrbitRotateInputHandlerDelegate 2024-10-24 10:07:32 +08:00
Nick Fisher 0fcc44bff8 doc: update docstrings for setLayerVisibilty and setVisibilityLayer 2024-10-23 15:48:34 +08:00
Nick Fisher f65324e555 chore: cleanup LFS 2024-10-23 15:17:25 +08:00
Nick Fisher 1ba4b2a5be chore: merge master 2024-10-23 15:16:06 +08:00
Nick Fisher de4733edf1 chore: remove superseded LFS files 2024-10-23 15:12:46 +08:00
Nick Fisher 75936c75d0 doc: fix doc index 2024-10-23 15:04:26 +08:00