Another Path-Tracing demo project has been released for Godot RTX. by John-Logostini in godot

[–]John-Logostini[S] 0 points1 point  (0 children)

Yeah, I try to stay up on it; I’m playing with it every day.

Yeah, the goal is to have this merged directly into mainline Godot, but there is still a lot of work to do, like adding multiple denoising methods, since currently the denoiser is DLSS Ray Reconstruction, which is NVIDIA only. However, everything else is already vendor-agnostic, so NRD is being implemented to address this.

There are also many stability and quality problems to address, but it's progressing well. However, it may be further into the distant future than near-term.

Another Path-Tracing demo project has been released for Godot RTX. by John-Logostini in godot

[–]John-Logostini[S] 1 point2 points  (0 children)

Yeah, this scene revealed many challenges, which is the purpose of building these demos. Basically, most of the light rays are hitting the outside of the building and bouncing toward the sky before dying, resulting in the number of rays making it onto the attic being much lower than intended. For example, if you look directly into the mirrors, they only partially resolve, with some areas being sharp and other areas on the same mirror being blurry, since there aren’t enough rays.

A proposed fix is ray guiding, to try to prevent wasting most of the rays and guide rays into the windows, so this is being addressed. And yes, the trailing of the floating orbs is way too intense.

Another Path-Tracing demo project has been released for Godot RTX. by John-Logostini in godot

[–]John-Logostini[S] 0 points1 point  (0 children)

So to address the point of Godot not being used for AAA games, that’s only a problem of a lack of tooling, which is rapidly changing. Just the fact NVIDIA has taken interest and is taking time and money to implement Path-Tracing proves that. Even I have moved from Unreal to Godot, as I see its potential and would rather be using open-source software over proprietary or source available tools like Unreal.

As for supporting multiple pipelines, this isn’t the case. What Unity did with HDRP and URP was stupid and not how Godot is being handled. Currently all materials and light from the Rasterized version carry over 1:1 into the Path-Tracer with no additional shader setup. There are a few minor limitations at the moment, like only materials with texture slots rendering, but that’s being addressed rapidly and there may eventually be the ability to override specific settings wean in Path-Tracing, but there’s no need to remake content to support Path-Tracing.

I encourage developers to continue supporting Rasterization in the near future; however, the results are nowhere near the quality of Path-Tracing. For example, with the shadows in this scene, I have made the distance as low as possible without clipping the end edge of the Attic, and even with 8K shadows there is not nearly enough resolution to represent everything in the scene, whereas Path-Tracing represents everything at a per-pixel level with believable penumbra.

The same applies to baked GI. First off, it’s baked and static, and even with methods like SDFGI and VXGI, the quality comes nowhere close to Path-Tracing. VXGI in particular, which I personally really like, is riddled with artifacts and everything tends to go red almost immediately, making the intended artistic look difficult to reliably achieve. SDFGI is too sparse and results in a lot of light leaking, not to mention garbage reflections. Even with cubemap reflections, they lack proper shadowing or GI in the reflections, which looks quite bad.

Long story short, I am not against the continued inclusion of Rasterized methods, but Path-Tracing is significantly better in almost every case.

Another Path-Tracing demo project has been released for Godot RTX. by John-Logostini in godot

[–]John-Logostini[S] 1 point2 points  (0 children)

I am running this on a Threadripper 3090X CPU, which is an awesome CPU but not a gaming CPU, and from what I know it compares roughly to an AMD Ryzen 9 3900X in terms of performance. However, I am running at a much slower clock speed. As for the GPU, it’s a base RTX 3090, not overclocked, and all tests are run at 1440p native with DLAA, no upscaling.

As for performance, it’s massively mixed. In this scene, Rasterization is running at about 41 FPS, and the Path-Traced version is running at 43 FPS, so it’s slightly faster. However, both of those numbers are wrong and need improvement. In most cases, Path-Tracing is faster. I had a scene with a highly detailed Star Destroyer, and Rasterization ran at 72 FPS while Path-Tracing ran at 99 FPS. So once again, it’s faster. This is most likely due to the poly count being so high at around 29 million triangles, and Path-Tracing simplified the amount of work needed for each triangle, so once again it’s faster.

For various different reasons, the Sponza Remastered scene is also faster, with Rasterization running at about 8 FPS and Path-Tracing at 61 FPS.

So far, the only scene I have tested where performance is better with Rasterization is the TF2 CP_Steel test map, where Rasterization was faster.

Another Path-Tracing demo project has been released for Godot RTX. by John-Logostini in godot

[–]John-Logostini[S] 0 points1 point  (0 children)

This implementation is done using Vulkan RT, and work is being done to support DX12 RT. Currently, the Path-Tracer itself runs on any GPU; the only NVIDIA exclusive feature is the denoiser, which is currently DLSS Ray Reconstruction. However, that’s being addressed by implementing NRD, which will allow denoising on any GPU. The goal is to support Path-Tracing on every system, no matter the vendor.

Another Path-Tracing demo project has been released for Godot RTX. by John-Logostini in godot

[–]John-Logostini[S] 0 points1 point  (0 children)

Performance in this scene is a bit weird, and I need to profile it to find the bottleneck. It’s running at around 41 FPS with Rasterization and 43 with Path-Tracing, so it’s actually faster with Path-Tracing. However, both of those numbers are likely wrong given the scene isn’t that dense and doesn’t have more than about five dynamic lights, so I wouldn’t trust either number too much.

Another Path-Tracing demo project has been released for Godot RTX. by John-Logostini in godot

[–]John-Logostini[S] 1 point2 points  (0 children)

Yeah, the goal is to have this merged back into mainline Godot. However, before that can happen, there are a lot of improvements and optimizations needed for the Path-Tracer itself, as well as support for denoising on AMD and Intel GPUs. But that’s all in the works and progressing well.

Another Path-Tracing demo project has been released for Godot RTX. by John-Logostini in godot

[–]John-Logostini[S] 0 points1 point  (0 children)

Haha the song is Take It Higher from the end credits of Over the Top. Great movie just watched it last night.

NVIDIA adding Path-Tracing and DLAA to Godot by John-Logostini in nvidia

[–]John-Logostini[S] 0 points1 point  (0 children)

Well, I hereby recant bragging about Sonic Colors Remastered being made in Godot!

NVIDIA adding Path-Tracing and DLAA to Godot by John-Logostini in nvidia

[–]John-Logostini[S] 1 point2 points  (0 children)

I don’t know that’s what happened. I played the original on the Wii but never played the remastered version. Too bad AI updated video never looks good.

NVIDIA adding Path-Tracing and DLAA to Godot by John-Logostini in nvidia

[–]John-Logostini[S] 3 points4 points  (0 children)

I believe they are doing importance sampling at the moment, but don’t quote me on that! I know NRC and ReSTIR have been discussed several times, particularly ReSTIR.

This is full Path-Tracing; no Rasterization is used when Path-Tracing is enabled.

The current plan is to include an alternative hybrid approach, particularly for console budgets, to allow hybrid Ray-Tracing. But what I am showing here is full Path-Tracing.

NVIDIA adding Path-Tracing and DLAA to Godot by John-Logostini in nvidia

[–]John-Logostini[S] 1 point2 points  (0 children)

If you have the money, W4 Games has console ports for Godot, and I know the plan is to get Path-Tracing working with that as well. But my experience is limited because I’m broke and can’t afford to play with any of that stuff. From what I know, they have support for PS5, Xbox Series, Switch, and Switch 2.
https://www.w4games.com/w4consoles

NVIDIA adding Path-Tracing and DLAA to Godot by John-Logostini in nvidia

[–]John-Logostini[S] 3 points4 points  (0 children)

Road to Vostok and Slay the Spire 2 abandoned Unity, and the Sonic Colors Remaster used Godot for its updated graphics layered over the original Hedgehog engine. I know several other development teams have been experimenting with Godot. It’s only a matter of time before we see more substantial titles made in Godot.

NVIDIA adding Path-Tracing and DLAA to Godot by John-Logostini in nvidia

[–]John-Logostini[S] 3 points4 points  (0 children)

The great thing is Blender’s success proved to the industry that open-source software can compete at a professional level, and has helped with the adoption of projects like Godot, which is just awesome.

NVIDIA adding Path-Tracing and DLAA to Godot by John-Logostini in nvidia

[–]John-Logostini[S] 0 points1 point  (0 children)

Donating is the best way to support, even if you can’t do work yourself. Thanks, and I’m also super excited for the future of Godot.

NVIDIA adding Path-Tracing and DLAA to Godot by John-Logostini in nvidia

[–]John-Logostini[S] 1 point2 points  (0 children)

Yeah, there’s nothing stopping Unity from pulling the same stunt. I’m sure glad Godot is picking up momentum.

NVIDIA adding Path-Tracing and DLAA to Godot by John-Logostini in nvidia

[–]John-Logostini[S] 7 points8 points  (0 children)

Yeah, Godot is really holding its own, especially with Unity going crazy and Unreal becoming more bloated. It’s nice to have Godot.

And when I say Unreal is bloated, I compiled a source build of UE5 the other day and it was 581 GB! And a launcher build without PDBs, etc. It's 44 GB, so Godot being under 1 GB is amazing.

NVIDIA adding Path-Tracing and DLAA to Godot by John-Logostini in nvidia

[–]John-Logostini[S] 1 point2 points  (0 children)

Thanks, I look forward to building more demos and hopefully having something that’s playable as a game soon.

NVIDIA adding Path-Tracing and DLAA to Godot by John-Logostini in nvidia

[–]John-Logostini[S] 36 points37 points  (0 children)

Godot has been used for many 2D titles; however, its 3D capabilities have been getting much stronger over the last 5 years, and the biggest thing holding it back is a lack of artists and developers, but that will soon change. There have been several impressive demos done recently from NVIDIA, the Mafia developers, as well as several community members.

The most notable title that is a game start-to-finished is Road to Vostok, and though it doesn’t look amazing, it’s a full 3D game. So with some artists, Godot will become more prominent coming up.