RADIUS - Advanced Pathtracer

Crossroads, 1024x521, 4096 samples, 7 bounces. All rendered natively.

About

What is RADIUS?

Deriving from the Latin word of “Ray”, RADIUS is currently the fastest path tracer on Roblox and is the first one to introduce PBRs (Physically Based Rendering) natively without rasterization. It extensively uses parallel luau and OSGL to leverage its speeds.

OSGL is an EditableImages wrapper for Roblox which is also the fastest graphics library available on Roblox. RADIUS serves to be the flagship of OSGL by demonstrating most of its features.


Why make RADIUS?

RADIUS was initially inspired by filiprodak’s raytracing test place, and it is the spiritual successor to my first Raytracing Engine place which surpassed 8K+ visits, but many bugs are known and still is unfinished. RADIUS aims to be better in every way, and to represent as a more complete product. The main catalyst for this project was Sebastian Lague’s video on the subject.


Who is making RADIUS?

As of now, I am responsible for the raytracing itself and Vector3 math optimization. Luau optimizations goes to the main contributors of OSGL. There are also countless contributors and supporters throughout suggesting ideas including but not limited to:

@Sle_l, @msix29, @saaawdust, @filiprodak, @Ethanthegrand14, ...

How performant is RADIUS?

Currently, RADIUS outperforms all other raytracers. Our goal is to make it easy to navigate the workspace by providing a real-time preview of the scene. In a simple scene, we can achieve 30FPS+ on a 256² display*. In a more complex scene, we can render 2048 samples on a 1024² screen under 15 minutes*.

*Tested using an intel i5-12600K; performance varies across hardware. Complexity of scenes vary render speeds.


Where is RADIUS?

RADIUS is still being developed and optimized. Once we feel like it is ready, we will open source the whole project! Some of the planned features are:

  • PBR Materials :white_check_mark:
    • Albedo/Color
    • Normal maps
    • Roughness
    • Metalness
  • Traditional Materials :white_check_mark:
    • Diffused and Specular reflections
    • Transparency / Refraction :x:
    • Emission
  • Post-processing :white_check_mark:
    • Denoisers
    • Bloom :x:
    • (Anti-aliasing is done without post-processing)
  • Spheremaps :white_check_mark:
    • sRGB implementation; HDR is not planned
  • Dynamic workspace :white_check_mark:
    • Changing colors in real-time
    • Changing materials in real-time
    • Changing environments in real-time (spheremaps)
  • UI :x:
    • Render preview
    • Object editor
    • Resizing render resolutions
    • Support for higher resolutions (>1024²)

Renders!




23 Likes

Why is this so photo-realistic?

It’s so cool

1 Like

Thanks!
It uses the same methods as a real raytracers! The same programs that render animated movies use this technique or something similar :+1:

4 Likes

Sure looks like Cycles. Keep up the great work! I am interested in updates.

2 Likes

This advanced parthtracer looks great! Nice job on it! How long did it take to create this in total? It’s cool!

1 Like

NO WAY this is supposed to be in #resources:community-resources BUT NO WAY OMG AWESOME GG GOOD WOW!

1 Like

Will this be free or paid? Does it work smoothly?

Appreciate the support!
I went ahead and changed it to #resources:community-resources :+1:

1 Like

A rough estimate would be around a month/3 weeks of cumulative work. I started the project a long time ago though.

There was a bunch of recycled material from things I have already done years prior, and many times where I had paused for a week and continued again. But most of my time went into optimizing.

1 Like

It will be completely open source! Meaning every line will be yours to use and edit.

At the moment it is still a private project because there are still many features pending to be implemented.

Wow amazing!! Ill use this for my anomaly game.

1 Like

That’s great to hear! But I will need to remind you that this is not intended for real-time applications.

1 Like

Then why bother optimizing it? If it’s not meant to be used in projects then what is it for?

1 Like

Roblox is slow. Roblox is very slow. Walking around in 2 frames per second is unbearable. Not only are we optimizing it for the novelty of being the fastest, but we are perfectionists too.

As I said in the post, it is meant to provide a fast real-time preview of your scene, and it’s not meant to be played in games in real-time. I guess the only exception is when you’re aiming for a niche aesthetic not seen in any other game.

I will be posting how the pathtracer looks in real-time soon! I hope this clears most doubts.

1 Like

Holy shit DAYUM! You cooked! None of my ray tracers are anything close to this man, dayum!

2 Likes

THIS IS WHAT I WANT TO SEE!! I was working on my own path tracer with a denoiser that can look alright at around 20 samples… THIS IS INSANE! I think this is a new thing. First it was Crazyblox making a realtime raytracer, now I am seeing stuff like THIS! Good job!

1 Like

I found this and wanna share with you. This is made for heavy calculations like this.