Quid strives to power human intuition by delivering vast quantities of data and their connections through network visualizations. Those networks are usually made of nodes and edges. Lots of them. To enable our customers to visualize, navigate and manipulate these big networks in their browser, a question naturally arises: how can we render those nodes and edges as fast as possible? WebGL To The Rescue WebGL lends the power of the computer’s GPU to the web browser which affords processing large amounts of geometric data quickly in parallel. However, WebGL’s rather rudimentary set of APIs focused largely on drawing points, lines, and triangles, which makes our life difficult when drawing curved edges. Rendering edges with lines is quickly rejected due to the WebGL’s poor support of line endings and joints1. What if we draw triangles? First thought in mind would be to divide the curve into multiple segments and fit each of them with a quadrilateral (quad), which is rendered as two triangles. We increase the number of segments until the curve is smooth enough. Bartosz Ciechanowski describes this approach in his article “Drawing Bézier Curves”2. Although this would work if we had only tens or hundreds of edges to […]Read More
- How does Quid create reliable business intelligence?
- Our First Engineering Game Day
- Improving search with Word2Vec and Wikipedia
- Managing text data you haven’t seen and can’t control
- Using deep learning with small data
- It’s NOT the Stork: Where Tests Come From
- Quid Hackathon II
- Here’s a suggestion
- Optimizing The Rendering Engine
- Quid Hackathon
- Major League Data Visualization Event @ Quid!
- The Ups and Downs of a Chef Shop
- Reaching Equilibrium in Web Browser Network Visualizations