Skip to content

Repository files navigation

Shimakaze.Foundation

基于 .NET 的跨平台桌面应用/游戏引擎基础框架,使用 C# 编写。提供了一套构建桌面应用程序的核心基础设施,包括应用生命周期管理、UI 线程调度、窗口管理、输入处理,以及基于 SkiaSharp 的 2D 渲染(支持 OpenGL 和 Vulkan 后端)。

License .NET

模块

核心层

项目 说明
Shimakaze.Foundation.Runtime.Threading UI 线程调度器,提供类似 WPF Dispatcher 的调度机制,支持多优先级任务队列和 async/await
Shimakaze.Foundation.Runtime 应用生命周期管理,提供 Application / ApplicationBuilder,内置 DI 容器支持

窗口层

项目 说明
Shimakaze.Foundation.Windowing 窗口抽象层,定义 PlatformWindow、输入事件、IWindowOptionsProvider 等核心类型
Shimakaze.Foundation.Windowing.GLFW GLFW 窗口后端实现
Shimakaze.Foundation.Windowing.SDL SDL 窗口后端实现

渲染层

项目 说明
Shimakaze.Foundation.Rendering 基于 SkiaSharp 的 2D 渲染器抽象
Shimakaze.Foundation.Windowing.Rendering 窗口与渲染的桥接层,定义渲染器 Provider 模式
Shimakaze.Foundation.Windowing.Rendering.OpenGL OpenGL 渲染后端,通过 SkiaSharp 使用 OpenGL 上下文渲染
Shimakaze.Foundation.Windowing.Rendering.Vulkan Vulkan 渲染后端,管理 Swapchain、Command Buffer、同步原语,通过 SkiaSharp 使用 Vulkan 渲染

辅助

项目 说明
Shimakaze.Foundation.Input.Cursors 光标管理

快速开始

环境要求

示例

// 构建应用
var app = ApplicationBuilder.Create()
    .AddApplicationLifecycle<MyLifecycle>()
    .Build();

// 运行
await app.RunAsync();

更多示例请参考 example/ColorScreen 项目。

主要特性

  • 跨平台 — 基于 .NET 10 和 Silk.NET,支持 Windows、Linux、macOS
  • 多窗口后端 — 同时支持 GLFW 和 SDL 两种窗口后端,可按需切换
  • 多渲染后端 — 支持 OpenGL 和 Vulkan 两种渲染后端
  • UI 线程调度 — 类似 WPF Dispatcher 的调度模型,支持 async/await
  • SkiaSharp 2D 渲染 — 使用 GPU 加速的 SkiaSharp 进行 2D 图形渲染
  • 依赖注入 — 内置 Microsoft.Extensions.DependencyInjection 支持
  • MIT 协议 — 完全开源,自由使用

许可证

本项目采用 MIT 许可证

作者

About

可能是一个跨平台的 .Net 窗口库

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages