Google has published a set of open source libraries that should improve the storage and transmission of 3D graphics, which could help deliver more detailed 3D apps. Google said 3D graphics are now a fundamental part of many applications -- including gaming, design, and data visualization software -- and that as graphics processors get more powerful, larger and more complex 3D models will become commonplace, especially as virtual reality and augmented reality content becomes more widespread.
But as 3D models get more complex, storage and bandwidth become a potential bottleneck, and so Google's Chrome Media team has created ?Draco, an open source compression library to improve the storage and transmission of 3D graphics. Draco can be used to compress meshes and point-cloud data, and also supports compressing points, connectivity information, texture ?coordinates, color information, normals, and any other generic attributes associated with geometry. The result is that applications using 3D graphics can be significantly smaller without compromising visual fidelity, according to Google.
"For users this means apps can now be downloaded faster, 3D graphics in the browser can load quicker, and VR and AR scenes can now be transmitted with a fraction of the bandwidth, rendered quickly and look fantastic," said Jamieson Brettle and Frank Galligan of the Chrome Media Team.
Google argued that video and audio compression have shaped the internet over the past 10 years, with streaming video and music on demand, ?so tools like Draco are needed to help boost the usage of 3D. "With the emergence of VR and AR, on the web on mobile (and the increasing proliferation of sensors like Lidar) we will soon be swimming in ?a sea of geometric data. Compression technologies, like Draco, will play a critical role in ensuring these experiences are fast and ?accessible to anyone with an internet connection," it said.
The Chrome developers said that support for creating multiple levels of detail from a single model to further improve the speed of loading meshes is also on the way. The Draco code can be found on GitHub.