Web GL Globe

Here is the future of internet browsing whereby browsers tap into 3D video processing for a truly remarkable online experience. If this technique could be wielded it could provide instantaneous interactive information for users to gain a broader insight into a company's business or indeed data visualisation which would help people to make more informed decisions on a day-to-day basis. What is even more impressive is that google has managed to get this working with mobile devices! The applet uses a combination of three.js (javascript library) and HTML to achieve fluid motion graphics that do not infringe on the your computer's processing power!

"The primary challenge of this project was figuring out how to draw several thousand 3D data spikes as quickly and smoothly as possible. To do this, we turned to Three.js, a JavaScript library for building lightweight 3D graphics. For each data point, we generate a cube with five faces – the bottom face, which touches the globe, is removed to improve performance. We then stretch the cube relative to the data value and position it based on latitude and longitude. Finally, we merge all of the cubes into a single geometry to make it more efficient to draw. The second challenge of the project was animating the globe – we wanted it to be fun for the user to manipulate. Thanks to WebGL, we’re able to display thousands of moving points at high frame rates by using the user’s graphics processing unit (GPU) for 3D computations. Each state of the globe has its own geometry and we morph between them with a vertex shader, saving precious CPU resources. Additionally, to make the globe look nice, we took advantage of the possibilities of GLSL and created two fragment shaders, one to simulate the atmosphere and another to simulate frontal illumination of the planet. Now that we’ve released the globe, we’re hoping that developers like you will create your own. What data will you show on it? If you’re feeling inclined, you can learn more about the data format (represented in JSON) and get the code here. If you create your own globe, please also consider sharing a link with us -- at some point in the future, we hope to post a list of interesting globes that have been submitted."

[Source: Google Code Blog]

If you were Unable to view the OpenGL Data Visualisation, here is a still of the render.

No comments: