HDRI spherical map to cubemap converter



You can upload a spherical map (.hdr, .png, .jpg) and convert it to cubemap.
I’ve made it possible to create 3 cubemap layouts :

  • cross
  • inline
  • separate

The ressolution option is meant for a single piece so if You set it to 512 you’ll get 2048x1536 cross cubemap

Cubemaps are generated based on camera rotation (cubemap view)

Github repository: https://github.com/matheowis/HDRI-to-CubeMap

Online converter: https://matheowis.github.io/HDRI-to-CubeMap/

I’ve added hdr output support, also if any one would like to know how to save hdr via javascript, check out my test project at https://github.com/matheowis/threejs-canvas-save-as-hdr , I’ve even wrote a simple tutorial in README.md


Yes!!!.. Thank you thank you thank you!! This rocks! You rock!

Edit: D’oh!.. Is there any way (please please please) that you could have an option to keep HDR and save out HDR cube maps separate (xn.hdr, xp.hdr, yn.hdr, yp.hdr, zn.hdr, zp,hdr)? You do this, and you will be my new bff.


Sorry at the moment I have no idea how to do it :confused:


Please look into it if you can. Maybe it is a snap to do this… I’m sure I am not alone and others who do HDR in three would love this if you could swing it.


This is really neat! The online converter is super handy.

@FrankSilvaHM for HDRI cubemap output, I recommend CMFT Studio. It takes a bit to get used to all the controls, but it’s got what you need!


Thanks. But holy smokes, after playing with it for bit, that thing is a nightmare to work with. MateuszWis, please see if you can get HDR output working, and the bff deal will be in effect.


Yeah, it’s not as intuitive out-of-the-box as MateuszWis’s is. The CubeMap view is awesome.


I’ve managed to add hdr output to the converter :slight_smile:


YESSSSS!!! Thank you so very, very much! Again, you rock!


OMG! I had never even noticed that changing rotation made the output maps rotated!!!.. Um… I love you!


Hey, @MateuszWis. Really glad it supports HDRI now!

Are you mapping the textures differently when you upload a JPG vs when you upload an HDR image? When I upload a JPG, I’m getting pinching at the poles, but when I upload an HDR the pinching is gone, even though both images are equirectangular.


They are mapped exactly the same, the pinching probably shows up because of JPEG compression algorithm.


Ah, that’s right! It’s not the JPEG compression, but minification filtering.

In userTexture.js you’re applying tex.minFilter = NearestFilter; to HDR formats only. Once I added that filtering method to the other format, the pinching at the poles was gone. :wink:


Thank You! I totaly missed that.
I’ve just updated the repository and the online version with Your fix. :grinning: