A Streaming Viewer for Triangular Meshes

We present a hybrid point and triangle primitive based streaming viewer for triangular meshes. The advantage of using such a mixture of rendering primitives is that, while points can accelerate object display rendering, rendering selective objects using triangles can compensate for the degradation in image quality caused due to the point based rendering. We have based our system on an existing point based renderer, QSplat, and extended it to incorporate triangle based rendering. The extension achieves a vast improvement in the quality of the rendered image as compared to QSplat. Like QSplat, the system is meant to be deployed in environments with moderate network bandwidths (e.g. LAN).

Technical Report

An Earlier Approach: A purely point based approach

In this approach, we build a dual graph of the triangular model and run a BFS on the dual graph and stream vertices across. The advantage of this approach is compactness: connectivity is implicit in the order of streaming, since the dual graph is more or less 3-regular. The disadvantage is that filling in the gaps between these vertices is not easy. Also view dependent streaming is difficult. The following are some images produced during streaming using this algorithm.

The number on the top of each figure denotes the number of vertices drawn. With as little as 5000 vertices (~8% of the model) we start to get a decent idea of the model being streamed.

The Hand Model

         915                          1369
Hand1   Hand1

        2594                          5040
Hand2   Hand3

       10242                          20392
Hand4   Hand5

       40928                          81875
Hand6   Hand7

      163847                          327326
Hand8   Hand9