So Torque 3d MIT is aiming for full PBR implementation soon. I'm on one of the test branches currently supporting it. It will be using the metallic/roughness workflow.
Anyhow, with the reflection map system that is being used relies on Torque's old system of giving the engine 6 different maps that it will combine into 1 cube map vs giving it a complete cubemap or use a panorama/spherical system. From what I understand, for higher roughness values, the reflection is just shown at a lower bit mipmap setting.
The issue is at very low roughness I can start to see the seams of the cubemap in the reflection. I was using 512 for every side, but we had to crank it up to 2048 for each side so the mipmap was at a high enough resolution still to not show the seams. I think what is happening is that since the engine put each side together separately versus as a whole as with a spherical or standard combined cubemap is that at the edges of each seam its acting like having no padding with UVs. As in the lower resolutions are only blending that edge to itself versus across to the other sides.
Does this sound correct? What is the most common Environmental Reflection Shape and format used for PBR?
Replies
Also think the various blurriness levels are specially processed to avoid seams.
I don't know the exact file format we save the IBL content in, but I think it's some sort of fairly standard DDS cubemap format.
Don't quote me on any of this because I'm not sure how correct it is.
http://wiki.polycount.com/wiki/Diffusely_convolved_cube_map
https://github.com/dariomanesku/cmft
Also, check out ARB_seamless_cubemap for OpenGL to solve the seams problem. Depending on the engine min spec it might not be available in which case you'll need to slightly alter the texcoords of the cubemap lookup.
https://www.opengl.org/registry/specs/ARB/seamless_cube_map.txt