While messing around, i found out that the draw distance for shadows on mobile devices is larger than for pc’s (prioritize lighting quality is true and the lighting is set to realistic).
I’m not sure if this happened before the updates to the lighting update, and not sure if it happens with soft lighting or lighting priority unchecked.
Is this intentional, and can the draw distance for pc’s be even larger?
It’s probably something about mobile screens being smaller (less pixels and thus being able to handle higher draw distances) than PCs with their big screens (with more pixels)
also this notion is incorrect. most mobile phones nowadays exceed 1920x1080 (or 1080p), which is the standard for monitors at the moment (though that’s also slowly increasing)
I think that the previous Lighting.Quality would be better than the Lighting.PrioritizeLightingQuality as it would be more scalable in future. Maybe rename Lighting.Quality to Lighting.Fidelity?
This has definitely been an annoying factor when building indoor environments. It makes sense why this happens for voxel lighting, when the geometry doesn’t align with the voxels.
Below are a few examples of this issue still persisting with the updated system.
LightingStyle=Realistic, PrioritizeLightingQuality=any
OR LightingStyle=Soft, PrioritizeLightingQuality=true
This is wrong it’s in the name per-pixel that means that as the object takes up less pixels it takes linearly less time to render it as each of those pixels is being shaded unlike something like the voxel grid roblox has where each voxel is being shaded and where lowering quality at a distance would make sense(thats’s what gpu cascaded did).
You could think of per-pixel shading as more like a post proccessing effect in that it has a cost related exclusively to the resolution the game is being rendered at.
Proof (If you want it)
robloxapp-20250124-1436362.wmv (2.8 MB)
Weirdly the performance is actualy worse(bigger frametime) when the objects are closer(smaller scale) to the camera with no perceptible difference in quality!
Yeah you are correct my bad, Per-pixel shading isn’t inherently bad at a distance because the workload would obviously decrease with fewer pixels, but it can become performance intensive if the shader complexity remains unnecessarily high, basically if the shader isn’t using some sort of “distance” LOD to reduce calculations? I mean since we are occupying less pixels, why perform more computations for higher quality, if we can barely even see it in such a distance?
On a unrelated note, this is what I find kind of strange, why OpenGL hasn’t received Per-Pixel lighting, because I understand that shadow mapping on OpenGL is really bad for local lights, but it doesn’t mean that OpenGL itself is bad. Why not just have pixel lights on OpenGL but have them lack shadows? Because I feel like yes, that technology Roblox has showed off was nice, but why not just allow pixel lighting on OpenGL ES 3? Just make it not have shadows right? Since in OpenGL, the directional light, still uses per pixel lighting! Even when Roblox was using DirectX 9, the sun was still a per pixel lighting source. So why not have OpenGL have per pixel local lighting like future? Just disable the shadows?
Because we could see it at such a distance! If the object is big enough the reduced quality would be glaringly obvious(bad) maybe reduced quality could be be applied to areas of the image with a lot of curvature as you wouldn’t notice it if the surface curved a lot but just using distance doesn’t work due to things not always having enough high-frequency detail to hide the reduced quality.
As for the shadows point you just brought up its probably due to shadows potentialy being crucial to gameplay in some games.
Edit: Shouldnt we bring this to dms instead of cluttering this topic?
But thats the funny part, do you rather want to have OpenGL use voxels? Which are like WAY more inaccurate? Voxels in general completely ruin the aspect of many games.
And about that, yeah I think I could probably make some sort of discord for this stuff to be honest. I like talking a lot about this technical stuff on Roblox! And I like to hear others opinions and their ideas about it. Sometimes I even reverse engineer some of the graphics related things for fun.
Question. Does this mean mobile players (or players with low graphics settings) will no longer utilize voxel rendering? One of the challenges I face is potentially having my game run in two completely different lighting render modes, which forces me to make mobile-specific changes to account for that.
Does this mean shadows may become soft again, similar to Compatibility lighting?
As ever since that ‘sunset’ it’s either too dark or there’s no shadows at all.