Reflection quality with low res environment HDR

@tawibox, in looking at your scene, a couple of things stand out to me. If you are using the sandbox to create your .env file, you should pass a high resolution .hdr file, at least 2K x 1K high dynamic range. The reason for this is that we pre-process this file and output an .env cube at a size of 256 x 256 per side.

What I am seeing in your scene is that the .env files you generated are all 512 x 512 pixels per side, but since you passed a smaller .hdr file, the image is pixelated, but each pixel is subdivided to match the higher resolution of the .env. You can see in the image below that this is your “lower resolution” file that is actually still 512 x 512.

Your “higher resolution” image shows better fidelity, but as you can see the size is still the same size 512 x 512.

Here is a side by side comparison of a 256 x 256 pixel .env on the left and a 512 x 512 pixel .env on the right. There is slightly more pixel artifacts in the 256 x 256 pixel version, but you would need to get really close to the material to discern it.

Our export to .env should default to 256 pixels, which should give you a good balance to strike between quality and size. Below are the sizes of the two files you shared but since they are the same physical size, the difference in the file sizes is due to the quantization of the values in the version that was created from the lower resolution .hdr. You should see a big savings going to 256 pixels per side.

image

In essence, to create the file, I have found that using a 2k x 1k .hdr is a decent source file to sample from. You can obviously go larger, but I have not seen much in the way of increased quality from larger files. And since I typically save the source file if I need to go back to it, I don’t see the need to waste storage space on a larger file.

Hope this helps, but let me know if you have more questions.

2 Likes