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

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

2 Likes

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

2 Likes

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.

6 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

1 Like

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

3 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

6 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

2 Likes

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!

1 Like

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.

1 Like

Woah this is sick! Hopefully some day we see more pixelart styled games being made with techniques like this

1 Like

Full Release - RetroRaster can now be used in published experiences!


Roblox has finally released EditableImage to the public, meaning this can now be used in-game!

However, EditableImage is now restricted to 13+ and ID-verified accounts, meaning RetroRaster cannot be used unless you meet the requirements.

3 Likes

This is a cool project, though I don’t feel comfortable giving $40 USD for something that I can’t test in a published experience. Do you plan to release a test-place on your own profile for us to see how it runs on our devices?

1 Like

Yeah actually thats a good idea now that it’s out for published experiences

is there a way i can buy it with robux, not everyone has access to usd/banking

1 Like

I could, but im not sure how I would do that. You also have to consider the 30% tax roblox does, meaning you would have to send 30% more of the equivalent robux if you wanted to purchase it. pm me if you’re still interested and ill see what I can do

Instead of 40 dollars, I’d say 25 is more reasonable to most developers.

look very epic. i wish i could afford it tho. great resource and love the optimization!

1 Like