first-person perspective (Figure 5). We connected two
computers over a network as in Figure 1: at one side
of the connection (A) the original application runs. Its
OpenGL command stream is intercepted and sent to
the slave node (B) for being remotely executed. The
goal of our test is to evaluate if the generated traffic is
compatible with typical Internet bandwidth, therefore
we measured the size of the data chunks in various
conditions.
Preliminary results show that geometric compres-
sion reduces the traffic load at application boot-
strap (and every time some new geometry is kicked-
in), while frame-to-frame compression minimizes the
amount of incremental data that needs to be ex-
changed as frames advance, exploiting the high re-
dundancy in data flow for interactive applications.
Numbers obtained suggest an average reduction for
the first frame to 1/3 of the original data size and for
subsequent frames to 1/8.
8 CONCLUSIONS
We have presented a method to allow efficient dis-
tribution of real-time generated content using on the
fly compression and decompression of OpenGL com-
mand streams. We advance beyond the state-of-
the-art improving over previous techniques of in-
frame geometric compression on 3D structures in-
ferred from generic OpenGL command sequences
and adding inter-frame redundancy exploitation of the
traffic generated by the typical architecture of interac-
tive applications. Measurements reveal for this com-
bination of techniques a very effective reduction of
network traffic obtained with a modest CPU over-
head. This suggest a significant application potential
of the technique whenever the amount of data band-
width is limited, such in the case of Internet-based 3D
streaming.
REFERENCES
Alliez, P. and Desbrun, M. (2001). Valence-Driven Connec-
tivity Encoding for 3 D Meshes. Computer Graphics
Forum, 20(3):480–489.
Alliez, P. and Gotsman, C. (2005). Recent advances in com-
pression of 3D meshes. Advances in Multiresolution
for Geometric Modelling, pages 3–26.
Deering, M. (1995). Geometry compression. In Pro-
ceedings of the 22nd annual conference on Com-
puter graphics and interactive techniques, pages 13–
20. ACM New York, NY, USA.
Gueziec, A., Taubin, G., Lazarus, F., and Horn, W. (1998).
Converting sets of polygons to manifold surfaces by
cutting and stitching. IEEE Visualization, 98:383–
390.
Humphreys, G., Eldridge, M., Buck, I., Stoll, G., Everett,
M., and Hanrahan, P. (2001). Wiregl: a scalable
graphics system for clusters. In SIGGRAPH ’01: Pro-
ceedings of the 28th annual conference on Computer
graphics and interactive techniques, pages 129–140,
New York, NY, USA. ACM.
Humphreys, G., Houston, M., Ng, R., Frank, R., Ah-
ern, S., Kirchner, P. D., and Klosowski, J. T. (2002).
Chromium: A stream-processing framework for inter-
active rendering on clusters.
Hunt, J. W. and McIlroy, M. D. (1976). An algorithm for
differential file comparison. Technical Report CSTR
41, Bell Laboratories, Murray Hill, NJ.
Korn, D. and Vo, K. (1995). vdelta: Differencing and com-
pression. Practical Reusable UNIX Software. John
Wiley & Sons.
Korn, D. G. and Vo, K.-P. (2002). Engineering a differenc-
ing and compression data format. In ATEC ’02: Pro-
ceedings of the General Track of the annual confer-
ence on USENIX Annual Technical Conference, pages
219–228, Berkeley, CA, USA. USENIX Association.
Open-vcdiff (2008). An encoder/decoder for the vcd-
iff (rfc3284) format. http://code.google.com/p/open-
vcdiff.
Salomon, D. (2004). Data Compression: The Complete
Reference. Springer.
Touma, C. and Gotsman, C. (2000). Triangle mesh com-
pression. US Patent 6,167,159.
Yang, J., Shi, J., Jin, Z., and Zhang, H. (2002). Design
and implementation of a large-scale hybrid distributed
graphics system. In Proceedings of the Fourth Euro-
graphics Workshop on Parallel Graphics and Visual-
ization, pages 39–49. Eurographics Association Aire-
la-Ville, Switzerland, Switzerland.
Ziv, J. and Lempel, A. (1977). A universal algorithm for
sequential data compression. IEEE Transactions on
Information Theory, 23:337–343.
GRAPP 2010 - International Conference on Computer Graphics Theory and Applications
270