
探索 Evergine……前所未有!
我们非常激动地分享去年在图形引擎中构建的所有酷炫功能。10 年前,我们与一支优秀的专业团队启动了 WaveEngine,在这段旅程中我们收获良多,现在已准备好将该项目推向新的高度,因此我们决定以清晰的愿景将这项技术重塑为 Evergine。
我们的使命是打造一款基于 C# 语言的卓越图形引擎,将计算机图形学的最新进展引入工业领域,使企业能够更轻松地更新或创建包含 3D 内容的新产品,并在广泛的设备和平台上提供这些产品。
借助 Evergine,我们创建了一个统一的图形平台,支持 DirectX、Vulkan、OpenGL、Metal 和 WebGL 等最主流的图形 API,可在桌面、移动和 Web 平台上运行,并利用 .Net 6.0 的最新性能提升,同时集成了最常用的 UI 技术,如 WPF、Windows Forms、SDL、GTK、Cocoa 以及 Microsoft 最新推出的 WinUI 技术。
你可以下载 Evergine:
Evergine 亮点
- 全新启动器
- 基于 C# 10 的全新 .Net 6 模板
- Visual Studio 2022 项目支持
- 全新光线追踪 API
- 全新文档网站
- 全新包管理系统
- 调试 WASM Web 应用
- 全新实体预制件
- 全新后处理图表工具
- AMD FidelityFX 超级分辨率
- WinUI 应用程序支持
- 即将推出的新插件
- 全新 ImGUI 扩展
- 全新 GPU 查询 API
统一图形平台
Evergine 利用 DirectX、Vulkan、OpenGL、Metal 和 WebGL 等最新图形 API,提供了一个统一的图形平台。所有平台均可同时获得新功能和改进,您的代码可在桌面、移动和 Web 端运行。

Evergine 转向了新的版本发布方式,我们跳过了 4.0 版本,现在采用日历化版本控制。
[年].[月].[日].[构建号]
让客户始终运行在最佳、最新的 Evergine 版本上是我们的主要目标之一,这将有助于检查当前运行的版本是否可能已过时。
我们的首个 Evergine 版本是 2021.11.17.X
.Net 6 和 C# 10
Evergine 是首个官方支持 .Net 6 和 C# 10 的图形引擎。全新的 Evergine Launcher 中提供了面向新 .Net 6 LTS 的项目模板。
这一转变始于两年前我们开始使用 .Net Core 时,去年我们成为了首批支持 .Net 5 的图形引擎之一。所有这些努力使我们能够在微软发布这项新技术仅一周后,就轻松过渡到 .Net 6。
使用 .Net 6 和 Visual Studio 2022,您将自动获得 C# 和 .Net 运行时中最先进的功能,例如更低的内存占用、更快的代码执行、热重载、IL 裁剪、更快的 IO 操作、Record 结构体或 ARM64 支持。
全新 Launcher
Launcher 几乎完全使用 Evergine 重写,重点在于创建一个全新的起点,将使用 Evergine 创建应用所需的所有资源集中呈现。
现在,您可以一键安装多个 Evergine 版本,并轻松配置不同的源,从而设置本地包源。
我们已将内部每日构建频道发布为一个新的源,现在您可以通过此频道试用所有实验性功能。
全新的 Launcher 提供了示例、学习和支持等新板块,方便开发者轻松找到所有感兴趣的资源。

全新文档
我们创建了一份全新的完整文档指南,涵盖了开始使用 Evergine 所需的所有重要主题。改进文档部分是我们 GitHub 反馈页面上最重要的请求之一,这就是成果。

光线追踪支持
Evergine 易于集成到桌面应用和网站中,同时,您还能获得最新的图形技术进步,例如 Nvidia 的 RTX。
RTX 技术利用新一代显卡系列,实时使用光线追踪渲染 3D 内容,相比传统光栅化技术,这是提升渲染真实感的绝佳替代方案。
光线追踪技术在 Evergine 中得到支持,作为其基于 DirectX 12 和 Vulkan 的底层 API 的一部分。

包管理系统
可重用性是软件开发中一个普遍的概念,作为开发者,我们总是在思考如何隔离代码的各个部分,以创建可在不同项目中使用的库、代码片段或资产。在 .NET 世界中,创建 NuGet 包来共享库非常普遍。
Evergine 本身采用 NuGet 格式进行分发,得益于此,我们提供了许多内置的行为、组件和服务,但如果你想从 Evergine 项目的 Content 文件夹中共享纹理、效果或材质等资源,就没那么容易了。为了解决这个问题,我们一直在开发一套新的包系统,让你能够分发可在多个项目中复用的资源。
目前,默认项目模板使用这套新的包系统,以 Evergine.Core 包的名义分发所有基础资源。

调试 WASM Web 应用
我们在全新的 .Net 6 和 Blazor Webassembly SDK 之上开发了一套技术,并包含在一个全新的 WebGL 模板中,这使我们能够为开发者启用一项此前缺失的功能:在 Visual Studio 中调试编译为 WebAssembly 的 C# 代码!
只需从新的 Evergine Launcher 创建新项目,选择 WebGL2.0 模板,然后从 Visual Studio 打开解决方案。按照 README 中的说明设置项目后,在代码中设置断点,点击运行,即可见证神奇效果。

WebAssembly 调试支持无疑是开发效率的一次巨大飞跃,它提升了每个 Evergine Web 应用的质量、安全性和性能。
新的实体预制件
Evergine 正在添加我们全新预制件系统的早期版本,它包含一组核心功能,同时我们正在努力为该系统添加更多有趣的新特性。在此第一个版本中,我们支持预制件的创建和实例化。

后处理图表工具
Evergine 包含一个新的后处理图表资源,允许你定义渲染中使用的后处理效果图表。
所有后处理图表节点均基于 Compute Shader,以确保渲染的最佳性能,并且可以在 Evergine Studio 的效果工具中轻松编辑。
我们还提供了一个默认的后处理图表,其中包含最常用的效果及其源代码,帮助你基于 Compute Shader 创建新的后处理效果。

AMD FidelityFX Super Resolution (FSR)
FidelityFX Super Resolution 采用 AMD 开发的尖端超优化空间放大技术,有助于提升应用的帧率。
AMD FSR 技术在默认后处理图表中作为计算节点得到支持,这将帮助你在各种计算机上实时渲染完整的高质量场景。
它接收低分辨率输入的渲染彩色图像,并应用超分辨率算法生成最终分辨率输出。这对于渲染包含数百万微小零件且无锯齿的复杂 CAD 文件非常有用,使用质量模式时,结果与原生分辨率非常接近。

WinUI 支持
WinUI 是微软推出的最新 UI 技术,旨在让开发者轻松在每台 Windows 设备上构建现代应用。它体现了 Fluent Design,以实现直观、易用且强大的体验以及最新的用户界面模式。
现在,使用 Evergine 你可以开始创建基于 WinUI 的 3D 应用。我们在 https://github.com/EvergineTeam/UIWindowSystemsDemo 创建了一个示例。

ImGUI 扩展
ImGui 是一个非常流行的图形用户界面库,依赖极少,使用简单的直接 API 来呈现 GPU 界面。
我们在 Evergine.ImGui 命名空间下创建了一个内部扩展,对于呈现诊断信息非常有用。
我们正在开发一个新的内部诊断工具,使用 ImGui 来呈现内部帧统计信息及更多有用信息。

即将推出的插件
我们即将发布一套使用新包系统的出色插件。所有这些插件旨在解决企业在使用其常用资源创建工业 3D 应用时面临的一些关键问题。
- Azure Remote Rendering:Azure Remote Rendering 将最高质量的 3D 内容和交互式体验带入混合现实。该服务利用 Azure 的计算能力在云端渲染最复杂的模型,并将其实时流式传输到你的设备,让用户能够以惊人的细节与 3D 内容进行交互和协作。
- Noesis GUI:NoesisGUI 是一个轻量级、跨平台的图形用户界面库,基于 XAML 并针对 GPU 进行了优化。将 NoesisGUI 与 Evergine 结合使用,你可以利用 Microsoft Expression Blend 等强大的 XAML 工具创建引人入胜的用户界面。
- CAD 格式:将你的工业 CAD/3D 模型导入 Evergine 应用。支持 IFC、STEP、IGES、STL 和 OBJ 格式。
- MRTK:Evergine.MRTK 是一个项目,提供了一系列组件和功能,用于加速 Evergine 中的跨平台 XR 应用开发。Evergine.MRTK 为 XR 平台上的 Evergine 开发提供了一组基础构建模块,例如:
- Microsoft HoloLens 2
- Windows Mixed Reality 头显
- OpenVR 头显(HTC Vive / Oculus Rift)
- Bing Maps 3D:将 3D 地图的所有酷炫之处带入 Evergine。Bing Maps 插件是 Evergine 的地图控件,允许您在应用中使用 Bing Maps 3D 地图数据。
结语
这是一个重大版本,在性能、功能和可用性方面均有提升,我们将在未来几周和几个月内公布更多特性。
此版本是辛勤工作的成果,凝聚了众多领域优秀人才的智慧,他们有一个明确的想法:为工业领域打造尽可能最佳的图形技术。
我们希望您觉得这很有趣,我们将继续与更多公司合作,帮助他们创建出色的 3D 解决方案。
作为 Evergine 团队的一员,感谢您。
