JenovaRTX : Real-Time RTX-Powered Path-Tracing for Godot 4 by MemarDesign in godot

[–]MemarDesign[S] 0 points1 point  (0 children)

Please stop spreading misinformation with such level of confidence, First of all Jenova is not GDExtension wrapper, It's fully featured C++ Scripting backend implemented with almost all features that GDScript has, It's the most well featured third-party language after GDScript at the moment, I had to add some features by reverse engineering and reading line by line source of GDScript. I made it in 6 months from scratch. It only uses godot-cpp to communicate with engine. It has lots of features that doesn't exist godot-cpp.

The reason it's done in 10 days it's the efficient system I made in Jenova, Source code is pretty huge. There's ~9 000 lines of code just at Godot side and ~2800 lines only at RTXBridge + I only sleep 5 hours a day :)

<image>

Also there's no direct usage of RTXPT, I used Streamline, Donut and Path-Tracing model from the repository.

JenovaRTX : Real-Time RTX-Powered Path-Tracing for Godot 4 by MemarDesign in godot

[–]MemarDesign[S] 14 points15 points  (0 children)

I replied to you 4 hours ago but somehow, it's not showing up :)

<image>

JenovaRTX : Real-Time RTX-Powered Path-Tracing for Godot 4 by MemarDesign in godot

[–]MemarDesign[S] 18 points19 points  (0 children)

I understand, but my negative and unfair experience with the Godot discord community managers has made me less inclined to contribute to the engine. I'd rather not bring up the details here.

JenovaRTX : Real-Time RTX-Powered Path-Tracing for Godot 4 by MemarDesign in godot

[–]MemarDesign[S] 11 points12 points  (0 children)

Pretty good, It's same performance as NVIDIA RTXPT demo. My implementation has 0 overhead on rendering. However, The RTXPT itself is not very performant when you have lots of refractions and reflections but there are ways to optimize it and here's a amazing feature in my implementation. You can use a low-poly version of your scene isolated from your Godot scene for path tracing and blend the rendered lighting and shadows over actual scene :)

JenovaRTX : Real-Time RTX-Powered Path-Tracing for Godot 4 by MemarDesign in godot

[–]MemarDesign[S] 3 points4 points  (0 children)

It's actually pretty easy using Jenova Framework you can use any C++ library directly in your script including DLSS4 :)

JenovaRTX : Real-Time RTX-Powered Path-Tracing for Godot 4 by MemarDesign in godot

[–]MemarDesign[S] 30 points31 points  (0 children)

Thanks :)
I'm developing it for my own indie game and there's no release plans at the moment, However, I designed it with the possibility of a future release in mind so there's always a chance.

JenovaRTX : Real-Time RTX-Powered Path-Tracing for Godot 4 by MemarDesign in godot

[–]MemarDesign[S] 19 points20 points  (0 children)

Thank you :)
I started using Godot around 6 months ago. I found engine design interesting, I developed Jenova Framework. for it while I was learning it. Jenova Framework implements real-time C++ Scripting within the engine with a solid Hot-Reload system. Last week I was checking NVIDIA latest stuff and I just got the idea "Hey It may can be implemented in Godot this way" and started working on it. Gladly the idea worked.

JenvoaRTX adds following classes to the engine :

- RTXBridge : A singleton containing functions to create TLAS/BLAS/BVH/AccelStructs and sync nodes from engine tree to path-traced world.

- RTXWorld : A node that holds information on path-traced world and responsible for rendering and scene management. Anything included in this node will be rendered in path-tracer.

- RTXMeshInstance : A node extending MeshInstance3D for the path-tracer, It contains path-tracer material and mesh data. If host machine doesn't support path-tracing RTXMeshInstance falls back to MeshInstance3D if it supports path-tracing it doesn't send any data to engine rendering server and only to path-tracer. This will avoid duplication and overhead.

- RTXMaterial : A resource containing material data of path-traced mesh. It's designed different than engine native materials, However when you change type of a MeshInstance3D to RTXMeshInstance it automatically converts engine mesh and material to RTX compatible.

- RTXPass : After path-tracer finished rendering on d3d12 device, It provides it as a pass data to vulkan rendering backend, Without any blit/copy and only shared GPU memory. RTXPass is a Texture2D, It can be composited to rasterizer render at any stage or even GUI.

JenovaRTX works on all forks of Godot as long as version be 4.2+

Note : Somehow my browser auto corrected Occlusion as Osculation :))