Commit Graph

29 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
bdcbd90ec6 split D3D/GLES texture creation 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
707793c6b2 chore: rearrange thermion_flutter_ffi src dir 2024-10-23 14:45:44 +08:00
Nick Fisher
0a10dc426b fix: on resize, destroy swapchain if destroySwapChainOnResize is true 2024-10-23 14:45:23 +08:00
Nick Fisher
dbbb4d7123 fix: add listener in ThermionFlutterTextureBackedPlatform to unset viewer on dispose 2024-10-23 14:45:22 +08:00
Nick Fisher
de39af13d0 fix: add listener in ThermionFlutterMethodChannelInterface to unset viewer on dispose 2024-10-23 14:45:22 +08:00
Nick Fisher
9244009350 fix: clean up destruction logic for FlutterPlatformTexture 2024-10-23 14:45:22 +08:00
Nick Fisher
dd82d5d3e7 Windows embedder fixes 2024-10-23 14:45:21 +08:00
Nick Fisher
b8c76a16cc (flutter) set view renderable on Windows 2024-10-23 14:45:21 +08:00
Nick Fisher
e2d11014d0 fix Windows build.dart to avoid native_assets fork; add implementations for ThermionFlutterWindows 2024-10-23 14:45:20 +08:00
Nick Fisher
50ed0bdfda feat: support multiple ThermionWidget on Android 2024-10-23 14:45:18 +08:00
Nick Fisher
e1efd5e4e0 feat: use imported texture on iOS 2024-10-23 14:45:18 +08:00
Nick Fisher
fbd54a2a09 feat: working implementation of multiple widgets on macos 2024-10-23 14:45:14 +08:00
Nick Fisher
22020d8607 refactor: continual refactor to support multiple render targets 2024-10-23 14:45:04 +08:00
Nick Fisher
a5ca6132f0 refactor!: refactor to support multiple Views/Render Targets 2024-10-23 14:45:04 +08:00
Nick Fisher
ef5b12af4f feat!: big refactor to support multiple swapchains 2024-10-23 14:45:04 +08:00
Nick Fisher
3dffaddfe8 chore: rearrange library/export structure 2024-10-23 14:45:03 +08:00
Nick Fisher
60dbc4ffd6 add texture methods (including unproject) 2024-10-23 14:44:39 +08:00
Nick Fisher
2a8122e280 feat: (flutter) move DPR calculation to resizeTexture and add createViewerWithOptions method to ThermionFlutterFFI 2024-10-23 14:44:33 +08:00
Nick Fisher
65e79b0d07 fix!: (flutter) pass pixelRatio to createTexture 2024-10-23 14:44:31 +08:00
Nick Fisher
cde3af08aa fix: web/JS bool checks need to compare to int 2024-07-23 09:38:25 +08:00
Nick Fisher
9eb2285433 refactor: rearrange some stubs/imports for easier web WASM deployment 2024-06-21 15:20:08 +08:00
Nick Fisher
013730b108 destroy existing texture if it exists but size does match requested dimensions when createTexture is called 2024-06-19 16:39:10 +08:00
Nick Fisher
31e68df1c5 make ThermionFlutterPlugin static, remove dispose() and add internal listener for ThermionViewer.onDispose 2024-06-19 12:57:16 +08:00
Nick Fisher
4f4be9b7d7 rename Flutter method channels 2024-06-18 16:29:19 +08:00
Nick Fisher
91e41c4eb3 various fixes for publishing all packages to pub.dev 2024-06-16 15:03:52 +08:00
Nick Fisher
dc0c855135 documentation & further renaming 2024-06-16 13:22:27 +08:00
Nick Fisher
fe62a70e29 renaming to Thermion 2024-06-16 13:22:22 +08:00