Best Skybox and Environment Image formats to use for Toolkit

Yo @Deltakosh and @sebavan

What is the BEST image format to use for skybox as the default toolkit export option.

Six-Sided Cube Texture (6 separate png files)


Direct Draw Surface made with cmft command-line plugin using SKYBOX options WITHOUT all the mipmaps (1 single dds file)

Can all platforms including IOS use .dds files yet ???


What is the best environment image format

Direct Draw Surface with all the mipmap chain images (also made using cmft command-line plugin)


New Environment File .env (which you can currently make using the Babylon Inspector)

Note: I would love for whoever built the .env export into the Inspector to help me write a .NET version of that process. Then the toolkit can just generate .env from the built-in Unity reflection-probe.exr
(Just like i create a .dds from the Unity reflection-probe.exr)

About the skybox, the 6 separate png files is pretty good as it is compact but yet platform independant. I guess it is a good way to go.

About the environment, the generation is done on the GPU so it would be hard to repro in .Net. I guess you could script a browser page to generate it from the Babylon.js code.

DDS an .env are the best format for it and .env has the advantage to be smaller you can think about it as a “compressed” version of the DDS.

Thanks @sebavan … That is what is was thinking…

Default to six sided skyboxes… and .dds as environment…

But i will leave an option to check for exist .env with same name and if so use .env that you generate using Babylon Inspector… if the files is NOT there… make a .dds for environment

So if you put a matching .env file in the same folder as the .dds with same name will use the compressed version.

1 Like

.hdr format also works. This is the best way to transfer a skybox from Blender, since that is what it uses for its own skyboxes.

Also, I guess what you are using for original material does matter, since there are not that many of these types of files.

I myself, am kind of off of skyboxes. You cannot move around a skybox, only rotate. Not my kind of scene. I want to be able to walk around, a.k.a Hololens / Magic Leap / WebXR.

If I might expand the topic a little, are there these types of files around which are not for use in sky box, but good for a PBR environment texture, maybe say any for indoor or outdoor?

I can do hdr for skyboxes… but the result file is way to big. And the bigger the resolution… the longer the hdr needs to generate all its internal data… and the Babylon hdr pre processor take way to long and way to big as well. Especially just for skybox… I would use hdr for environment only

Yo @sebavan … could you PLEASE show me how to script a page or possibly use node.js to programmatically convert a dds to env like the inspector does… PRETTY PLEASE … That would be such a SWEET process to be able to prebake compressed environment textures with the toolkit


Only thing you need in Babylon, load a cubeTexture as usual from the DDS and then call:

.then((buffer: ArrayBuffer) => {
var blob = new Blob([buffer], { type: “octet/stream” });
Tools.Download(blob, “environment.env”);
.catch((error: any) => {

Can I run this type of code in nodejs environment???

It needs to run in a webgl environment so node.js only will not work. Electron might be ok or a browser window.