Threejs Cannon Virtual Experience Engine

Well, the technique has been widely adopted, there are implementations for Unreal, Unity, OpenShadingLanguage, etc. For reference here there is a three.js implementation targeting .dds cubemap format for max. texture compactness, meaning they can be authored using dedicated tools like [NVIDIA Texture Tools Exporter].(NVIDIA Texture Tools Exporter | NVIDIA Developer), the discontinued ATI Cubemap Generator, or other similar.

Side note: while at my master thesis I wrote a full implementation of a box projected cubemap environment mapping shader in three.js, and I saw an opportunity to solve some of the limitations of the ‘interior mapping’ technique by applying same core principles. It was never intended to be published, but this approach ended up with nice feature additions, like individual room size definition, different cubemap formats support, occluders (windows, blinds) attributes, and shadows projected inside of the rooms. I am afraid it is kind of dated now (three rev.100 aprox), but updating it could be an interesting challenge :thinking: :upside_down_face:

1 Like