RetroRaster | The Real-time Raytracing Solution for Pixelating Roblox!

This is absolutely beautiful! A while back I tried using a viewport to render the world for lower resolutions, but it was horribly unintuitive for practical use. But when this stuff exits studio beta, I’ll most certainly utilize it!

1 Like

Before I make dicy moves and buy something to never use again,
Is it possible to apply custom shaders to the raytracer?

Yeah, it’s entirely possible. Each pixel has multiple functions. You could add onto it and make your own. For an example, I added portals which was quite easy to do since this uses rays. You can do many effects, or shaders of some kind

Sounds cool.
I’d love to use this as a learning material, using a pre-existing renderer that expands the gap for more freedom in design.
Lately I have developed a Basic Graphics Renderer with minimal optimisations and have struggled to make something with live rendering in mind. This heavily optimised raytracer could make it so much easier.

1 Like

How likely is this to lose support in the coming years?

1 Like

Probably very unlikely. I’ll ensure this resource stays up to date and patch any errors found or reported

1 Like

Is there any way I can contact you? I’d like to learn more about working with this raytracer and If I could insert my own shading effect into the file.

Yeah. Either pm me here, or you could add me on discord. My username is the same as my display name here

1 Like

One more question, do you think rendering lighting from point lights and other artificial light sources is possible in the future?

1 Like

Yeah, rendering lights is totally possible, I think it might be worth adding if I can optimize it well

1 Like

Thanks a bunch, this is an incredibly good tool!

1 Like

Was messing around and figured out how to apply Normal Maps.


Granted, it i’snt the most accurate. But more messing around should do the job.

3 Likes

hey, so i bought your asset, and everything was going alright, but now whenever i run the game, and stop it, it just closes roblox studio instantly, it only does it when i run your file,

i havent changed anything and it does it on the original file you download when you buy it

I’d have to assume something may have broke with EditableImage’s, as OP is experiencing the same problem.

2 Likes

Large Update - PointLight Rendering, Optimisations and More!

Hey all, this update introduces lots of needed changes and additions.

Let’s start with the biggest addition,

PointLight Rendering with Real-time Baking


Yes, that’s right! We now have a proper support for lights!

Not only that, but light rendering is super fast and uses a lot of optimisation methods that hardly affect frame rate or memory usage at all!


No light rendering (disabled) - 104 FPS


Light rendering (enabled) - 99 FPS

How does this run so well?


Real-time baking
Well first of all, with static lights that aren’t being updated or moved, light calculations are done only once upon in view! The pixel results are then baked into a global 3D cache storing the light’s colour and brightness information of that coordinate with buffers.

This results in incredible performance. Even with 50+ Lights being rendered

However, light calculations will be recalculated every time a light moves or has it’s properties be changed.

Here’s a visual of the baking in action:
(Red shaded pixels = Light calculations)

Frustum and occlusion culling
I have also added both frustum and occlusion culling to the lights, ensuring that only lights you can see will be iterated through during raytracing. This will result in maximum performance and allows users to have lots of lights spread through out their world without consequences!


Please note that currently only PointLights parented to Parts are supported.

Other lights such as SpotLights or SurfaceLights may be supported in a future release


Here’s the full change log:

  • Added support for PointLight rendering

  • Added glass distortion for transparent parts with the glass material

  • Added a new setting which allows the skybox to darkened depending on clock time

  • Improved global lighting for day time

  • Heavily optimised pixel rendering performance when Interlacing is enabled (2X faster)

  • Changed the GUI’s ResetOnSpawn property to false to prevent reloading of the whole rendering after each respawn.


Special thanks to @geocolada for providing a bit of code for the glass distortion and giving me the idea to add light rendering

4 Likes

Any plans to add it to the creator marketplace? This seems fun to mess around with but I’m lazier to go on itch than I am to even write this reply lol

I cant sell on the marketplace unfortunately, hence why it is on itch

1 Like

This is really awesome, ill be buying it soon. Do you plan on adding SurfaceGui support in the near future?

1 Like

Possibly in the near future, but not really planned at the moment due to the complexities of the renderer and the multithreading used. But definitely something to consider!

Small Update - v1.5.0

  • ​Added light rendering support for SpotLight

  • Added a debug info frame which can be opened when Debug mode is enabled in settings. use this to keep track of the raytracing performance.

  • Removed the ‘FirstPersonMode’ setting as it is now fully automatic. To lock the camera in first person, please use ‘StarterPlayer > CameraMode > LockedFirstPerson’

  • Settings are now stored in a ModuleScript rather than inside the RaytracerMain script.