The Community for Technology Leaders
RSS Icon
Issue No.06 - November/December (2009 vol.15)
pp: 1105-1112
Bryan McDonnel , Purdue University in West Lafayette, IN
Modern programmable GPUs represent a vast potential in terms of performance and visual flexibility for information visualization research, but surprisingly few applications even begin to utilize this potential. In this paper, we conjecture that this may be due to the mismatch between the high-level abstract data types commonly visualized in our field, and the low-level floating-point model supported by current GPU shader languages. To help remedy this situation, we present a refinement of the traditional information visualization pipeline that is amenable to implementation using GPU shaders. The refinement consists of a final image-space step in the pipeline where the multivariate data of the visualization is sampled in the resolution of the current view. To concretize the theoretical aspects of this work, we also present a visual programming environment for constructing visualization shaders using a simple drag-and-drop interface. Finally, we give some examples of the use of shaders for well-known visualization techniques.
GPU-acceleration, shader programming, interaction, high-performance visualization
Bryan McDonnel, "Towards Utilizing GPUs in Information Visualization: A Model and Implementation of Image-Space Operations", IEEE Transactions on Visualization & Computer Graphics, vol.15, no. 6, pp. 1105-1112, November/December 2009, doi:10.1109/TVCG.2009.191
[1] G.D. Abram and T. Whitted, Building block shaders. In Computer Graphics (SIGGRAPH '90 Proceedings), volume 24, pages 283–288 Aug. 1990.
[2] J. Bertin, Semiology of graphics. University of Wisconsin Press, 1983.
[3] I. Buck, T. Foley, D. Horn, J. Sugerman, K. Fatahalian, M. Houston, and P. Hanrahan, Brook for GPUs: Stream computing on graphics hardware. ACM Transactions on Graphics, 23 (3): 777–786, Aug. 2004.
[4] M. Burnett, R. Hossli, T. Pulliam, B.V. Voorst, and X. Yang, Toward visual programming for steering scientific computations. IEEE Computational Science & Engineering, 1 (4): 44–62, 1994.
[5] M. Burnett and D. Mc, Intyre. Special issue on visual programming. IEEE Computer, 28 (3), 1995.
[6] S.K. Card and J. Mackinlay, The structure of the information visualization design space. In Proceedings of the IEEE Symposium on Information Visualization, pages 92–99 1997.
[7] S.K. Card, J.D. Mackinlay, and B. Shneiderman editors. Readings in information visualization: Using vision to think. Morgan Kaufmann Publishers, San Francisco, 1999.
[8] E.H. Chi, and J.T. Riedl, An operator interaction framework for visualization systems. In Proceedings of the IEEE Symposium on Information Visualization, pages 63–78 1998.
[9] R.L. Cook, Shade trees. In Computer Graphics (Proceedings of SIGGRAPH 1984), pages 223–231 1984.
[10] M. Eissele, D. Weiskopf, and T. Ertl, The G2buffer framework. In Simulation und Visualisierung 2004 (SimVis 2004), pages 287–298 2004.
[11] N. Elmqvist, T.-N. Do, H. Goodell, N. Henry, and J.-D. Fekete, ZAME: Interactive large-scale graph visualization. In Proceedings of the IEEE Pacific Visualization Symposium, pages 215–222 2008.
[12] N. Elmqvist, J. Stasko, and P. Tsigas, DataMeadow: A visual canvas for analysis of large-scale multivariate data. Information Visualization, 7: 18–33, 2008.
[13] K. Engel, M. Hadwiger, C. Rezk-Salama, and D. Weiskopf, Real-time Volume Graphics. AK Peters, 2006.
[14] J.-D. Fekete and C. Plaisant, Interactive information visualization of a million items. In Proceedings of the IEEE Symposium on Information Visualization, pages 117–124 2002.
[15] K. Fishkin and M.C. Stone, Enhanced dynamic queries via movable filters. In Proceedings of the ACM CHI'95 Conference on Human Factors in Computing Systems, pages 415–420 1995.
[16] M. Florek, Using modern hardware for interactive information visualization of large data. Master's thesis, Faculty of Mathematics, Physics and Informatics, Comenius University, Bratislava, 2006.
[17] M. Florek and M. Novotný, Interactive information visualization using graphics hardware. In Poster Proceedings of Spring Conference on Computer Graphics, 2006.
[18] N. Folkegard and D. Wesslén, Dynamic code generation for realtime shaders. In Proceedings of SIGGRAD, pages 11–15 2004.
[19] A. Fournier and D. Fussell, On the power of the frame buffer. ACM Transactions on Graphics, 7 (2): 103–128, 1988.
[20] Y. Frishman and A. Tal, Multi-level graph layout on the GPU. IEEE Transactions on Visualization and Computer Graphics, 13 (6): 1310– 1319, 2007.
[21] P.E. Haeberli, ConMan: A visual programming language for interactive graphics. In Computer Graphics (SIGGRAPH '88 Proceedings), volume 22, pages 103–111 Aug. 1988.
[22] P. Hanrahan and J. Lawson, A language for shading and lighting calculations. In Computer Graphics (SIGGRAPH '90 Proceedings), volume 24, pages 289–298 Aug. 1990.
[23] J. Johansson, P. Ljung, M. Jern, and M. Cooper, Revealing structure in visualizations of dense 2D and 3D parallel coordinates. Information Visualization, 5 (2): 125–136, 2006.
[24] A.E. Lefohn, S. Sengupta, J. Kniss, R. Strzodka, and J.D. Owens, Glift: Generic, efficient, random-access GPU data structures. ACM Transactions on Graphics, 25 (1): 60–99, Jan. 2006.
[25] M.G.M. Takatsuka, GeoVISTA Studio: A codeless visual programming environment for geoscientific data analysis and visualization. Journal of Computers & Geosciences, 2002.
[26] P.S. McCormick, J.T. Inman, J.P. Ahrens, C.D. Hansen, and G. Roth, Scout: A hardware-accelerated system for quantitatively driven visualization and analysis. In Proceedings of the IEEE Conference on Visualization, pages 171–178 2004.
[27] M. McGuire, G. Stathis, H. Pfister, and S. Krishnamurthi, Abstract shade trees. In Proceedings of the ACM Symposium on Interactive 3D Graphics and Games, pages 79–86 2006.
[28] J.D. Owens, D. Luebke, N. Govindaraju, M. Harris, J. Kröger, A.E. Lefohn, and T.J. Purcell, A survey of general-purpose computation on graphics hardware. Computer Graphics Forum, 26 (1): 80–113, March 2007.
[29] K. Proudfoot, W. Mark, S. Tzvetkov, and P. Hanrahan, A real time procedural shading system for programmable graphics hardware. In Proceedings of SIGGRAPH 2001, pages 159–170 2001.
[30] T.I. Robert, B. Grafton, Special issue on visual programming. IEEE Computer, 18 (8), 1985.
[31] F. Röβler, R.P. Botchen, and T. Ertl, Dynamic shader generation for GPU-based multi-volume ray casting. IEEE Computer Graphics and Applications, 28 (5): 66–77, Sept./Oct. 2008.
[32] R.J. Rost, J.M. Kessenich, and B. Lichtenbelt, The OpenGL Shading Language. Addison-Wesley, 2004.
[33] T. Saito and T. Takahashi, Comprehensible rendering of 3-D shapes. Computer Graphics (SIGGRAPH'90), 24 (4): 197–206, 1990.
[34] B. Shneiderman, Tree visualization with tree-maps: A 2-D space-filling approach. ACM Transactions on Graphics, 11 (1): 92–99, Jan. 1992.
[35] B. Shneiderman, The eyes have it: A task by data type taxonomy for information visualizations. In Proceedings of the IEEE Symposium on Visual Languages, pages 336–343 1996.
[36] C.J. Thompson, S. Hahn, and M. Oskin, Using modern graphics architectures for general-purpose computing: A framework and analysis. In Proceedings of IEEE/ACM International Symposium on Microarchitecture, pages 306–317 2002.
[37] C. Upson, T. Faulhaber, D. Kamins, D. Laidlaw, D. Schlegel, J. Vroom, R. Gurwitz, and A. van Dam, The application visualization system: A computational environment for scientific visualization. IEEE Computer Graphics and Applications, 9 (4): 30–42, July 1989.
[38] C. Weaver, Building highly-coordinated visualizations in Improvise. In Proceedings of the IEEE Symposium on Information Visualization, pages 159–166 2004.
[39] D. Weiskopf, GPU-Based Interactive Visualization Techniques. Springer Verlag, 2006.
[40] C. Williamson and B. Shneiderman, The dynamic HomeFinder: Evaluating dynamic queries in a real-estate information exploration system. In Proceedings of the ACM SIGIR Conference on Research and Development in Information Retrieval, pages 338–346, 1992.
18 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool