Bitstream
About
I was approached by the startup Bitreel to help them improve the performance of their virtual showroom app. The CTO found my work on the BabylonJS forum and decided to reach out. Initially, I consulted them about transitioning their code to TypeScript and enhancing performance.
Eventually, I was hired to rewrite their showroom code. The core functionality of the new showroom code was called "bitstream," named so because the code would be downloading GLBs, parsing them, and extracting KTX2 textures using all available threads.
I developed a custom GLB parser to quickly convert their GLB models into usable data for BabylonJS, and I rewrote BabylonJS's KTX2 decoder to work in a multi-threaded environment. I had to read a lot of the BabylonJS source code and override some core functions to upload the textures coming from another thread.
Overall, this improved performance and stopped crashes on mobile devices. I cannot share any of the code, however, since Bitreel now owns it.
Technology Used
- TypeScript
- Babylon.Js
- React