RawKee, X3D, and High Dynamic Range Images

Release Date: 
31 July 2026

My most recent work developing the RawKee X3D exporter for Maya has been in the area of Physical Based Rendering (PBR - aka the X3D PhysicalMaterial node). Specifically, I've been working to make the export features in this area as solid as possible. The key for getting the most out of the PhysicalMaterial node is to pair it with an EnvironmentLight node and an ImageCubeMapTeture node in its specularTexture field.

While you can use panoramic 8-bit images for the ImageCubeMapTexture, or even a panoramic 16-bit PNG image, the content author may wish to use a full 32-bit High Dynamic Range image. Currently, the only X3D-based option for this is to use X_ITE and a texture of the KXT2 format, Khronos' GPU-optimized texture container format.

Previously, I had added a feature to RawKee that would allow the content author to convert a 32-bit panoramic *.hdr image to a 16-bit panoramic *.png image at export time. This worked, but it wasn't great. The perceived color was just off because it wasn't a true HDRI texture. I wanted to support something closer to true 32-bit HDRI images. To accomplish this, I recently changed that feature to export a 32-bit *.ktx2 image instead. Here are the results of that work.

Damaged Helmet Example
Below is a Screenshot of the new export options for HDRI Support in RawKee for Maya. Below that is various HDR, PNG, and KTX2 images used.

Original 32-bit HDR Panoramic Image used to light the Damaged Helmet scene in Maya with aiSkyDomeLight - Screenshot in Photoshop
4096 x 2048 - 26 MB
16-bit PNG format Panoramic 'Roof Garden' image previously generated from the original *.hdr image at export time that was used for specularTexture of an X3D EnvironmentLight node.
4096 x 2048 - 2.5 MB
32-bit KTX2 format CubeMap 'Roof Garden' image generated using the new KTX2 conversion method from the original *.hdr image that was used for specularTexture of an X3D EnvironmentLight node - Screenshot in Photoshop.
768 x 128 with 7 mipmaps - 1 MB

So why does it matter?
Well, you only truly get the realistic lighting you want with the 32-bit HDRI information, so as you can see from the comparisons below of the Damaged Helmet model, the *.ktx2 image is definitely more true to the original *.hdr image than the 16-bit PNG version.

Damaged Helmet with 32-Bit KTX2 EnvironmentLight specularTexture
View KTX2 version in X_ITE Browser 
Damaged Helmet with 16-Bit PNG EnvironmentLight specularTexture
View PNG16 version in X_ITE Browser

Ok, when can I use it?
The KTX2 HDRI export feature will be in the RawKee 2.1.0 release for Maya sometime around the Web3D Conference in October. The X_ITE browser and the Sunrize Editor already support KTX 2.0. While Castle Game Engine currently supports only KTX 1.0, I hear that KTX 2.0 could be added in the not-too-distant future.

What about Blender?
Well, later this year when RawKee for Blender is released, it is anticipated that KTX 2.0 export will be included.