Rail: Roblox lighting improvement tool

Rail: Roblox lighting improvement tool

modernized graphics, created with Lua.
*available for free on github

github-mark Github

@Q_Q for the sky

Please credit @WardenFrew (me) and @Q_Q in your game’s description, or even put a gui in to your game!

These graphics are modernized, they are just for roblox.
everything in one script.

Graphics info:
Sky - 512x
Theme - Evening (More themes coming soon)

For Developers:
Source code is available! you can use it for personal use, and re-distribute it.

image credits:


How would this require this type of graphics card and ram?


8GB ram, and Nvidia geforce GTX 250


Read their question again. They’re asking why would the realistic graphics require this kind of graphics card and ram, what the specs are.


I believe PTGI is an acronym for “Path-tracing Global Illumination”? And the fact that it says “RT” in the title, which literally means Raytracing (or RTX as Nvidia calls it). This is just a graphics effect preset, and you’re advertising it in a very misleading way.

GitHub page: The next-gen Roblox shaders

All the code does is change the skybox and add some post-processing through built-in effects. It is very misleading to call them “shaders” or say the effects were made with Lua.

Also, for some reason you’ve labelled naming the script “RT PTGI” as “very important” in the GitHub README, which it isn’t beacuse the code doesn’t check it’s name or needs to check somethings name, as well as saying it needs to be in ServerScriptService, which it doesn’t.


Could you possibly provide some images? examples of the shaders?

1 Like

Why name this RT for RayTracing when all this does is add normal Roblox Instances that are available on every device?


i went to look at the code at github and i found script:Destroy even though you want us to put it in ServerScriptService? it automatically deletes the scripts there so exploiters can’t control the scripts there

also great graphics there

It isn’t actually deleted, it just is on the client because the server is basically it’s own computer, just like clients cant change other clients unless it’s replicated.

1 Like

weird, there is a comment saying Must be in ServerScriptService. at the beginning and ServerScriptService is for server-sided scripts and there is script:Destroy() at the end :confused:

Yeah. Looking at the code this is NOT ray-tracing or path-tracing global illumination.

All that @WardenFrew has created is essentially an opinionated Lighting configuration. The code does not even use raycasting in any way. Opinionated because anything that was already in Lighting for any reason will get gobbled by this script.

Speaking of which, when the script deletes everything in Lighting, please use ipairs instead of pairs.

About the requirements: They’re false. You can run this setup on a potato. Roblox really never even allows a game to consume over 8GB of RAM to begin with, the server typically gets soft capped at 2GB of RAM. 8GB of RAM?

This entire post is misleading. It could be renamed to “My Lighting Configuration” and remove the Requirements field and it would be alright.

Oh yeah, by the way this is false. This can be re-distributed. This is also @WardenFrew’s fault for not knowing their software licenses. BSL-1 includes the following:

… this license (the “Software”) to use, reproduce, display, distribute, execute, and trasmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, …


This isn’t true, it gets deleted. I am guessing the author does this in a form of cleanup? Like, the script is no longer needed. Personally, I think running script:Destroy() is something that should rarely occur in a script. There’s really only some scenarios for this to ever be used, and this isn’t one of them.

It’s a server script. If it gets deleted it gets deleted on the server. Since it’s something that happened on the server it also gets replicated to every client; however, it’s in ServerScriptService, which is not visible or accessible to the client in any fashion.

It’s a server script. Server scripts cannot be exploited. Script executors cannot view, dump, modify any contents of a server script. The only time a server script fails because of something that happened on the client is when the author creates bad checks, or a remote gives the client access in some sense to server script. Also, PSA: Even if this was a client script, there’s no reason an exploiter would even want to view or modify the script. The script is public, and there’s no functions to hook onto, rendering exploiting it completely useless. Another PSA: Even if this was a client script, running script:Destroy() on it could still be exploited. If someone uses this method to “protect their scripts”, stop.


isn’t a method.

I am talking in general, not this script. It gets deleted on the client because ServerScriptService is a server-sided singleton meaning things there can only be seen by the server. The only reason you would destroy the script in this scenario would be if you wanted to clean up SSS.

Most things you have discussed are common knowledge that we did not need to hear again, but I could see future users finding this helpful.

This is my fault, I put script:Delete() instead of script:Destroy().

Even if this server script was in Workspace it would still be deleted on the server. So therefore this argument still has some falseness to it.

If this was true, I wouldn’t of needed to post it. It may of been true for you, which I could contest, but both of my posts I posted because clearly there is some sort of lack of understanding.

1 Like

There’s no lack of understanding, lack of how to explain properly. Been scripting for 3+ years, I know how it works.

Please continue in DM’s, thank you.

Ok. Sure you do. I wont be continuing with your bickering as I don’t need your validation.

sorry for the late reply.
as i don’t know alot on coding, i just called it RT PTGI for fun.

I’m not sure what this is since it’s just a script that creates some PostEffects with some properties, and an ImageLabel as a Vignette. This is not raytracing.

1 Like

This entire post is misleading. It’s a lighting preset and a simple vignette creator. There is no raytracing or path tracing global illumination. And to top it off, there isn’t even a preview image to show people what they should expect, which is a pretty nice although basic result all credit due.

You should probably update this post or make a new one to reflect this.


This seems interesting. Could we maybe get some pictures to see some examples of what this can do?