Unpatched rendering bugs related to NaN or Infinite values

Note: NaN is equivalent to 0/0, and inf functions interchangeably to NaN.

If any component of a DataModelMesh’s Offset property is NaN then the rendering cluster the part is in that the Mesh is parented to will stop rendering completely. Something similar to this was possible years ago with BaseParts but was “fixed” when Roblox began to normalize the CFrame property of BaseParts. It’s actually still possible on the client, I have a sample of it actually but I haven’t been able to isolate it from my project and keep it working.

Similar things are also possible with the CurrentCamera and Atmosphere instances (independent from one another in this case), except their respective faultiness causes the entire workspace to stop rendering. This is possible by setting the HeadScale of the CurrentCamera to NaN, or the Density of a Atmosphere in Lighting to NaN, also requires a Sky instance in Lighting.

I’ve provided examples & code samples for all of these cases below:

  • SpecialMesh:

Code: local a = Instance.new('Part',workspace) a.Transparency = .5 a.Anchored = true local m = Instance.new('SpecialMesh', a) m.Offset = Vector3.zero / 0
Video:

  • CurrentCamera:

Code: workspace.CurrentCamera.HeadScale = 0/0
Video:

  • Atmosphere:

Code: Instance.new('Atmosphere', game.Lighting).Density = 0/0 Instance.new('Sky',game.Lighting)
Video:

Hi Vixienshy,

Thank you for pointing out these edge cases.
Although this is funky, wrong behavior, we probably won’t be able to prioritize it enough to fix it since it doesn’t seem part of any real workflow.
Nonetheless, this is great feedback so that we can better “bulletproof” future features to avoid edge cases like this. Once again, thank you for pointing this out.
If you disagree and do think that this is part of a workflow and should be fixed, please let us know and we will reconsider :slight_smile:

Best,
M0bsterLobster