Hi folks! Here’s a list of things I’ve done with the renderer lately:
-
EditableImage Vignette Overlay:
Playing with EditableImages I decided to create a custom vignette overlay that matches the same resolution as the renderer, as well as respecting bilinear/nearest neighbour sampling. I’ve placed it in a separate ImageLabel over the renderer output as to not incur any performance penalty
(This example is at an exaggerated strength of 1.5) -
Studio Support / No Client Required:
The renderer is compatible in both server and client contexts by changing the RunContext property on only 2 of its scripts! Iterating has been important to me when working on this and now I do not have to load up a player client in studio every time I want to test something. I also recognise that this would be incredible to have integrated as a plugin should a game be developed using this rendering method!
-
Improved Scheduling / Reduced Input Latency:
By tinkering with the order of when the renderer begins processing a frame and by exploring Parallel Luau in more detail; I have created my own on-demand Serial/Parallel context switcher that doesn’t rely on multiple RunService events! This has enabled me to greatly improve load balancing during the raytracing process, granting better performance and matching input latency with Roblox’s own rendering pipeline. -
x2 Render Quality Is Now Viable:
All the previous videos I’ve shown have had its render quality set to the base level (x1). Because of the improvements made to the renderer’s scheduling and various ongoing optimisations, I am happy to share the video below using x2 render quality