Client-Server Strategien zur Visualisierung komplexer Sachverhalte in Digitalen Dokumenten der Chemie Klaus Engel, Thomas Ertl Abteilung Visualisierung und Interaktive Systeme Universität Stuttgart Frank Oellien, W.D. Ihlenfeldt Computer Chemie Centrum Universität Erlangen-Nürnberg Verteilte Verarbeitung und Vermittlung digitaler Dokumente
Motivation Zugriff auf Digitale Dokumente: Vielzahl unterschiedlicher Client-Rechner Architekturen Graphikunterstützung Rechenleistung, Speichergröße Unterschiedliche Netzanbindungen Bandbreite (Modem, ISDN, DSL, ) Latenz
Motivation - Ziele Ausnutzung teurer, vorhandener lokaler Hardware Visualization Service Provider Ausnutzung entfernter Rechenresourcen Benutzung der Features moderner PCs Collaboration Expertenkonsulatation Interaktivität - kleine Latenzen - geringe Netzlast Multi-resolution Algorithmen Kompression Sicherheit des Daten Zugriffskontrolle, Verschlüsselung
Motivation - Strategien Client-Server Strategien - Verteilung der Module der Visualisierungs- Pipeline auf Client und Server - Module: filter, mapper, render Anwendung und Infrastruktur bestimmen Strategie - Client-seitiger Ansatz nach Transfer der Daten, lokale Interaktion Server-seitiger Ansatz Daten verbleiben auf Server, dünner Client - Hybrider Ansatz Aufteilung der Aufgaben zwischen Client und Server
Server-seitiger Ansatz Server parameters Client Filter Mapper Render image data Display
Server-seitiger Ansatz Tranfer berechneter Bilder von einem Graphikserver zu einem Arbeitsplatzrechner (Engel et al. - VisSym00) Fernbedienung des Servers durch den Client Server (OpenInventor) Client (Java) Compressed Image Stream GUI Events Parameters
Server-seitiger Ansatz Remote Visualization Server berechnet Bilder on-screen into the frame buffer or off-screen into the pbuffer compression of rendered images transfer to connected clients JAVA Client zur Darstellung decodes and displays remote images captures local GUI events uses CORBA to invoke the appropriate server method for event handling
Server-seitiger Ansatz Remote Visualization Framework application areas: no appropriate local 3D graphics hardware thin client no graphics hw (e.g. PDA) remote high-end graphics hardware (3D Textures) not enough local numerical power remote multi-processor machine (parallel raycaster) not enough local memory remote server with huge main memory
Server-seitiger Ansatz Applications
Hybrider Ansatz Server Client parameters Filter Mapper data Render
Hybrider Ansatz Utilize local and remote resources minimize data transfer adaptive reconstruction (multi-resolution methods) global: progressive iso-surface transmission local: focus oriented iso-surface transmission compression of geometry via triangle strips compression of rendered images maximize interactivity and visualization quality local rendering during interaction high-quality rendered images from server
Hybrider Ansatz target server: single processor workstation target client: PC client with low-cost 3D graphics accel. view-independent, no volume transfer Volume Cells 1-t 1-t tt Interpolation Triangles Screen Coordinates Image Server Filter Triangulate Rasterize Client Store Interpolate Project Display
Hybrider Ansatz - Progressive Isosurfaces Progressive extraction and transmission of isosurfaces (Engel et al. - LBHT Vis 98)
Hybrider Ansatz Focus Adaptive octree-based reconstruction Westermann, Ertl. - The Visual Computer, 2/1999 Engel, Westermann, Ertl -Iso Surface Extraction Techniques, Vis99 Level-of-detail by selecting a region of interest Finest level inside, increasingly coarser outside Improvements for Distributed Visualization: Recursive reconstruction Level-wise stripping Object space clipping Optimized triangulation
Hybrider Ansatz Compression: Triangle Strips Simple Simple Strips, Strips, 1.9 1.9 Fixed Fixed Strips, Strips, 7.7 7.7 Variable Variable Strips, Strips, 13.2 13.2 Abdomen Abdomen data data set: set: 512 512 xx 512 512 xx 180 180
Hybrider Ansatz Distributed reconstruction Goal: Relocate more modules onto the client to use CPU power of client system and reduce data transfer Transfer before interpolation: MC configuration and data samples Transfer after interpolation: MC configuration and interpolation weights
Hybrider Ansatz Remote and Local Rendering For texture-based direct volume visualization Local low-quality rendering during interaction => minimize latency (subsampling, lossy compr.) High-quality image from server after interaction => maximize quality Examples: Texture-based volume visualization Local 2D Texture mapping hw for interaction Remote 3D Texture mapping after interaction Iso surfaces Subsampled local data for interaction Remote full resolution image after interaction
Client-seitiger Ansatz Server Filter data Mapper Client Render
Client-seitiger Ansatz - OrbVis Transfer von Algorithmen, nicht Daten http://www2.ccc.uni-erlangen.de/services/orbital/
Client-seitiger Ansatz animierte Orbitale Transfer der Daten zum Client, lokale Interaktion Server dient nur als Datenlieferant Client-seitge Visualisierung unter Benuztung des ISO-Standards VRML
Client-seitiger Ansatz Multitexturen Maps two or more textures in one pass Nvidia GeForce256 provides register combiners to bypass the standard texturing unit of OpenGL 1.2
Client-seitiger Ansatz Multitexturen Using multitextures and register combiners for: Trilinear interpolation: calculate intermediate slices during rendering Acceleration: blend two slices on one slice polygon Fast shaded Isosurfaces (Westermann, Ertl Siggraph98) use dot product of texture combiners for lighting (2 pass => 1 pass)
Client-seitiger Ansatz Multitexturen Shading for Semi-Transparent Volumes use two texture maps: 1 st contains gradient 2 nd contains ambient color and opacity Interpolation of Arbitrary Slices (w/o 3D texture mapping hardware)
Client-seitiger Ansatz Multitexturen Using multitextures and register combiners for: normal shaded shaded, lower opacity Trilinear interpolation Acceleration Fast shaded Isosurfaces Volume shading shaded isosurface one light two lights C. Resk-Salama, K.Engel, et et al. Graphics Hardware 2000
Results Client-Server strategy depends on application area source data transfer possible and desirable? Remote high-end server available? local 3D graphics hardware available? Strategies Remote rendering => latency problems share expensive hw Hybrid rendering => best utilization of local and remote capabilities Local rendering => low latency transfer of data needed
ChemVis Hit Statistik ComSpec3D: 3424 hits http://www2.chemie.uni-erlangen.de/services/vrmlvib/ OrbVis: 3881 hits http://www2.ccc.uni-erlangen.de/services/orbital/ VRML Creator: 16190 hits http://www2.chemie.uni-erlangen.de/services/vrmlanim/ VRML Animation Generator: 463 hits http://www2.chemie.uni-erlangen.de/services/vrmlsurf/