.NET 9.0 使用 Vulkan API 編寫跨平臺圖形應用
前言
大家好,這次我來分享一下我自己實現的一個 Vulkan 庫,這個庫是用 C# 實現的,主要是為了學習 Vulkan 而寫的。
在學習 Vulkan 的過程中,我主要參考 veldrid,它是一個基于 .NET 的跨平臺圖形庫,支持 OpenGL、Vulkan、Direct3D 11 等圖形 API。
我覺得這個庫的設計思路很好,于是我就想自己實現一個類似的庫,于是就有了這個項目。
該項目光線追蹤部分的封裝參考的 Evergine, 它有著非常全面的圖形接口抽象,其結構與 veldrid 十分相似,目前該平臺對個人免費,大家如有興趣可以嘗試。
項目依賴
- Vulkan 1.3 SDK:大家可以自行去 LunarG 官網下載最新版本 SDK,或者 百度、必應 搜索 Vulkan SDK 一般第一個鏈接就是。
- Visual Studio 2022
- .NET 9.0 SDK
- 支持 Vulkan 1.3 的桌面端設備。
如果要運行 Android 項目,需要安裝 Android NDK 和 Android SDK,虛擬機不支持 Vulkan 1.3,需要真機 Snapdragon 8 Gen2 或更高芯片。
截圖
| AndroidApp | |||
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
| ComputeShader |
|---|
![]() |
| GLTFAnimation |
|---|
![]() |
| GLTFScene |
|---|
![]() |
| MultiViewports |
|---|
![]() |
| RayQuery |
|---|
![]() |
| RayTracing |
|---|
![]() |
| SDFFontTexture |
|---|
![]() |
| Skia |
|---|
![]() |
| WPF |
|---|
![]() |














浙公網安備 33010602011771號