Skydome Skybox Type

Seeing as Roblox is moving towards a more modern-approach to rendering, it would be nice to have the ability to use other methodologies for rendering skies. I am proposing the ability to use sphere-mapped images, also known as sky-domes, HDRI, etc, as an additional Sky object.

This would open up the ability to easily use tried-and-true HDRI images that many artists use in a PBR workflow. While I understand that Roblox doesn’t have support for the HDRI image format (due to not having the ability to handle high precision data-buffers on certain devices), they could still use a tone-mapped version converted into a Roblox-appropriate color space (jpg/png/etc).

Internally, the Skydome could render the same way a Sky object currently renders, but would simplify to only require 1 image from the user instead of 6 images. Here is an example image:


This texture could be uploaded into Roblox, and used in a Skydome like:

Essentially, this would function just like the existing Sky object, but instead of taking 6 images, it would take 1. This would be quite useful, as I have a million and a half of these hdri images on my harddrive, and converting them into cube-maps and then uploading is no fun process.

On a side note, if you’re curious, the above sky image was uploaded to Roblox and mapped onto an inward-facing sphere mesh that I uv-mapped.
image

This specific HDRI was taken from https://hdrihaven.com/

25 Likes

The problem with this is that images are currently capped at 1024px on the largest dimension, meaning the unwrapped skybox method we have currently is in one full rotation 4096px wide. Without this image size limit being increased, skyboxes created using equirectangular images would be limited to only 1024px for a full rotation, which is significantly and unacceptably lower resolution. See this feature request about increasing the image size.

16 Likes

It’s worse than that; the image upload pipeline you’re talking about is only for jpg/png 24/32-bpp textures. If you have HDRI spheres, you’re not going to want to have to tonemap them to LDR JPEGs first, anymore than you’d want to project them into cubemaps. Properly supporting HDRI spheres means taking .hdr and .exr files directly, preserving the dynamic range. This wouldn’t be a simple resolution limit increase, it would be a whole new asset upload and processing pipeline.

And once you have an HDRI sphere sky, you’re going to want to be able to rotate it, adjust exposure, etc. So probably this is not a skybox at all, it’s a new instance type with new properties.

5 Likes