00. 超酷rendering framework,The-Forge简介

什么是The-Forge

套用官网的简介的话,The Forge is a cross-platform rendering framework supporting,the-forge是一个new wheel。其所支持的平台和API如下:
PC
with DirectX 12 / Vulkan 1.1
with DirectX Ray Tracing API
DirectX 11 Fallback Layer for Windows 7 support (not extensively tested)
Windows 10
Linux Ubuntu 18.04 LTS with Vulkan 1.1 and RTX Ray Tracing API
Android Pie with Vulkan 1.1
macOS / iOS / iPad OS with Metal 2.2
XBOX One / XBOX One X / XBOX Series X (only available for accredited developers on request)
PS4 / PS4 Pro (only available for accredited developers on request)
PS5 (only available for accredited developers on request)
Switch (only available for accredited developers on request)
Google Stadia (in development) (only available for accredited developers on request)
如果你曾经了解过bgfx,那么你一定可以很快上手The-Forge。只不过和bgfx相比,The-Forge只面向现代硬件和图形API,没有很多历史包袱,而且支持更多3A游戏上常用的新特性。

顺便说一下,The-Forge的作者 wolfgangfengel 也十分厉害,他的blogger简介 https://www.blogger.com/profile/11031097395025597662 。我看完他的简介之后是跪着回来的,朋友们也可以在评论区讨论一下自己看完后的体位。

The-Forge 还提供了一些demo,展示了一些 high-end Graphics Effects ,挑几个我觉得很有学习价值的说说
Compute
Multi-Threaded Rendering
ExecuteIndirect
Hybrid Ray-Traced Shadows
Pixel-Projected Reflections
Multi-GPU
OIT
Wave Intrinsics
Path Tracer
Ray Marchimg
ECS
Virtual Textures
Animations
The-Forge 编译
如果看了GitHub上 The-Forge 的简介,一定会对 The-Forge 中各种酷炫的demo非常兴奋,想自己也试试,The-Forge的编译其实非常简单,由于并没有使用cmake/premake等编译工具,因此对于新手来说The-Forge的编译过程应该相当友好。
The-Forge 官网 https://github.com/ConfettiFX/The-Forge
下载The-Forge源码
运行 PRE_BUILD.bat 下载依赖
打开 sln,
The-Forge\Examples_3\Unit_Tests\PC Visual Studio 2017\Unit_Tests.sln
选择想启动的项目,编译运行

如果顺利,vs中可以看到这些Demo。
展望

对于我来说,The-Forge 是快速窥探一些高级渲染技术的重要渠道。每年的GDC/HPC,gpu pro/gpu zen上虽然文章有,但是缺代码,没法练习。而 UE4 虽然提供全部源码,但是太重了,有些地方很难结构,也不便于写小 Demo 来测试。
我接下来会写一些简单的教程,通过在The-forge中实现learning opengl教程中的前几个Demo,来理解The-Forge API的设计。对于对引擎开发有兴趣,但是图形API学习之后不知道看什么的同学,The-Forge也是极佳的资料,可以学习抽象图形API的设计与使用。有了这个经历之后,相信其他的抽象API你一定也可以轻松上手,比如 UE4的rhi 或者 unity srp。并且以后再学习新的图形API,比如 vulkan/metal/GNM/NVN ,都可以快速上手。
新建了一个 The-Forge 交流群,950656923,欢迎对 The-Forge/bgfx/panda3D/horde 之类图形中间件感兴趣,或者对现代renderer pipeline感兴趣,对mesh shader/real time raytracing感兴趣的朋友加入。
谢谢朋友们!