00. 超酷rendering framework,The-Forge簡(jiǎn)介

什么是The-Forge

套用官網(wǎng)的簡(jiǎn)介的話,The Forge is a cross-platform rendering framework supporting,the-forge是一個(gè)new wheel。其所支持的平臺(tái)和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)
如果你曾經(jīng)了解過(guò)bgfx,那么你一定可以很快上手The-Forge。只不過(guò)和bgfx相比,The-Forge只面向現(xiàn)代硬件和圖形API,沒(méi)有很多歷史包袱,而且支持更多3A游戲上常用的新特性。

順便說(shuō)一下,The-Forge的作者?wolfgangfengel?也十分厲害,他的blogger簡(jiǎn)介?https://www.blogger.com/profile/11031097395025597662 。我看完他的簡(jiǎn)介之后是跪著回來(lái)的,朋友們也可以在評(píng)論區(qū)討論一下自己看完后的體位。

The-Forge 還提供了一些demo,展示了一些?high-end Graphics Effects?,挑幾個(gè)我覺(jué)得很有學(xué)習(xí)價(jià)值的說(shuō)說(shuō)
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 的簡(jiǎn)介,一定會(huì)對(duì) The-Forge 中各種酷炫的demo非常興奮,想自己也試試,The-Forge的編譯其實(shí)非常簡(jiǎn)單,由于并沒(méi)有使用cmake/premake等編譯工具,因此對(duì)于新手來(lái)說(shuō)The-Forge的編譯過(guò)程應(yīng)該相當(dāng)友好。
The-Forge 官網(wǎng)?https://github.com/ConfettiFX/The-Forge
下載The-Forge源碼
運(yùn)行 PRE_BUILD.bat 下載依賴
打開(kāi) sln,?
The-Forge\Examples_3\Unit_Tests\PC Visual Studio 2017\Unit_Tests.sln
選擇想啟動(dòng)的項(xiàng)目,編譯運(yùn)行

如果順利,vs中可以看到這些Demo。
展望

對(duì)于我來(lái)說(shuō),The-Forge 是快速窺探一些高級(jí)渲染技術(shù)的重要渠道。每年的GDC/HPC,gpu pro/gpu zen上雖然文章有,但是缺代碼,沒(méi)法練習(xí)。而 UE4 雖然提供全部源碼,但是太重了,有些地方很難結(jié)構(gòu),也不便于寫小 Demo 來(lái)測(cè)試。
我接下來(lái)會(huì)寫一些簡(jiǎn)單的教程,通過(guò)在The-forge中實(shí)現(xiàn)learning opengl教程中的前幾個(gè)Demo,來(lái)理解The-Forge API的設(shè)計(jì)。對(duì)于對(duì)引擎開(kāi)發(fā)有興趣,但是圖形API學(xué)習(xí)之后不知道看什么的同學(xué),The-Forge也是極佳的資料,可以學(xué)習(xí)抽象圖形API的設(shè)計(jì)與使用。有了這個(gè)經(jīng)歷之后,相信其他的抽象API你一定也可以輕松上手,比如 UE4的rhi 或者 unity srp。并且以后再學(xué)習(xí)新的圖形API,比如 vulkan/metal/GNM/NVN ,都可以快速上手。
新建了一個(gè) The-Forge 交流群,950656923,歡迎對(duì) The-Forge/bgfx/panda3D/horde 之類圖形中間件感興趣,或者對(duì)現(xiàn)代renderer pipeline感興趣,對(duì)mesh shader/real time raytracing感興趣的朋友加入。
謝謝朋友們!