280 likes | 453 Views
Hierarchical 3D Data Rendering System Synchronizing with HTML. Yousuke Kimura † Tomohiro Mashita ‡ Atsushi Nakazawa †‡ Takashi Machida †‡ Kiyoshi Kiyokawa †‡ Haruo Takemura †‡ † Graduate School of Information Science and Technology, Osaka University ‡ Cybermedia center, Osaka University.
E N D
Hierarchical 3D Data Rendering SystemSynchronizing with HTML Yousuke Kimura† Tomohiro Mashita‡ Atsushi Nakazawa†‡ Takashi Machida†‡ Kiyoshi Kiyokawa†‡ Haruo Takemura†‡ †Graduate School of Information Science and Technology, Osaka University ‡Cybermedia center, Osaka University
Background • Use 3D geometric data as website contents • Digital archive of cultural properties • Product catalog • Advantage of using 3D data • Users can observe the model from any viewpoint → Provide better understanding compared to 2D images If this 2D image is 3D data…? Webpage of “wikipedia” describing Great Buddha of Totaiji http://ja.wikipedia.org/wiki/
E-Learning application • Users download and browse data through web browsers • Requirements • Support any types of terminals: PC, PDA, Mobile Phone • Various locations of users: School, Home, Historical Sites, etc.. Web Server Data Download & Browse Mobile phone PDA Laptop PC Desktop PC Historical Sites Train Home School
Problem of VRML viewers • Low rendering speed • Large data cannot be rendered in real-time A model consisting of 871,000 polygons Cortona VRML viewer “Cortona VRML Client,” http://www.parallelgraphics.com/products/cortona/.
Our Goal • Develop a system that utilizes 3D data as website contents • Fast rendering • Even if processing speed of the terminal/network bandwidth is slow • Platform independent • Increase Usability and Functionality • Display annotations onto the model • Synchronization with HTML
Demo. • Interactive Explanation of Great Buddha
Approach • QSplat Rendering • Fast Rendering • Render the model fast according to processing speed of the terminal/network bandwidth • Implement as a Java Applet • Platform Independent • Display annotations • Synchronization with HTML
・・・ splat Data order in file Overview ① ③ ② ④ Low High ⑨ ⑩ ⑤ ⑥ ⑪ ⑦ ⑧ Resolution Detail Fast Slow Rendering speed QSplat Rendering [Levoy2000] • Point-based rendering • Render a 3D model as the set of “Splats” • Hierarchical (tree-structured) data • Each level nodes correspond to each resolution model • Adjust resolution according to processing speed of the terminal • Sequential downloading and real-time rendering
Head Head Neck Annotations • Annotations are associated to QSplat nodes • Annotations are shown if the corresponding nodes are visible ・・・ splat ・・・Annotation “Head” Neck Head Chest
Index Parent x y z ID 183 52 9.6E8 3.1E8 -8.4E8 LHand 184 52 -8.5E8 1.1E9 -9.2E8 LHand 196 56 -1.1E9 6.9E8 -1.0E9 RHand ・・・ ID Text View LHand Left_Hand 1.0E9 1.5E9 -5.7E8 … RHand Right_Hand 1.0E9 1.4E9 -6.3E8 … Head Head 1.0E9 9.6E8 4.2E8 … Annotation Files • Information of annotations is stored in two types of files • Users can edit them in edit mode • Don’t have to edit them with text editor Annotation File Manage information of annotations Manage information with ID as the key Association File Manage relations between splats and annotations
Image Sound Text function changeState(ID){ change the state of Content [ID] start audio guidance of Content [ID] } method a (ID){ call changeState(ID) } function b (ID){ call changeView(ID) } method changeView(ID){ change 3D View [ID] } Synchronizing with HTML HTML [A] Click Java Applet Button [1] Click an annotation Change size Play Change Color [2] call a method [4] Control Contents JavaScript [3] call a function [D] Change view [B] Call a function [C] Call a method
Performance Comparison • Frame rate • VRML viewer : 1.2 fps (depends on data size) • Our system : 8 fps (constant) VRML viewer Our system VRML data 57 MB (871,000 polygons ) QSplat data 8.1 MB (2,129,000 splats) “Cortona VRML Client,” http://www.parallelgraphics.com/products/cortona/.
Conclusion • Develop a system that utilizes 3D data as website contents • Fast Rendering • Adopt QSplat Rendering • Platform Independent • Implement as a Java Applet • Increase Usability and Functionality • Display annotations onto the model • Synchronization with HTML
Any Questions? in easy English…
Implement QSplat as Java Applet • Server-client model • Rendering engine:JOGL (Java Bindings for OpenGL) WWW Server QSplat File (.qs) QSplat Applet QSplat Applet QSplat File (.qs) QSplat Annotation HTML QSplat Annotation HTML Java VM JOGL Plugin WEB Browser OS Client
Arranging Annotations • Not overlap with 3D model • Not overlap each other • Not displayed if corresponding splats are not rendered
Experiments • Compare our rendering system with VRML viewer • VRML viewer : ParallelGraphics Cortona • Same PC (desktop) + wired LAN • Run our system with several terminals/networks • Desktop PC + wired LAN • Mobile PC (PDA) + wired LAN • Mobile PC(PDA) + wireless LAN • Terminal • Desktop PC • OS・・・Windows XP Professional,CPU・・・Intel pentium4(2.5GHz), Memory・・・768MB,GPU・・・ NVIDIA GeForce4 Ti4200 • PDA • OS・・・Windows XP Professional, CPU・・・Intel Pentium M(1.1GHz), Memory・・・504MB, GPU・・・Intel 82852/82855 GM/GME Graphics Controller • Environment • Internet Explorer 6.0, JRE1.5.0.06
Experiments • Experimental data • 4 VRML data and 4 QSplat data (same quality) Model 1 Model 2 Model 3 Model 4
Experiment 1 • Comparison of our system with VRML viewer • Time for download & rendering • Our system is faster
Experiment 1 • Comparison our system with VRML viewer • Time to start rendering • Our system --- always about 1 sec • VRML viewer --- equal to time to finish rendering • Frame-rate in changing view • Our system --- always 8 fps (static) • VRML viewer --- depends on data size (about 1.2[fps] on rendering data 2 or data 3)
Experiment 2 • Run our system in several environments • Time for downloading & rendering • With wireless LAN, it costs much more time • However it can render low-resolution model
Experiment 2 • Run our system in several environments • Re-rendering time after changing view • Re-render time is almost same →After downloading data, it’s not disadvantage to be in a mobile environment
HTML file sound sound image 3D data 3D data text text Dedicated markup language Architecture of our CMS CMS We implemented it as Pukiwiki plug-in Contents registering system Website editing system 3D data rendering system 3D data rendering system Register contents Edit website Download & browse Website desiner Website Audience
Pukiwiki plug-in Command to insert 3D data #threed (filename, 3Ddata-ID, applet-width, applet-height, location) • Edit wiki page including 3D data contents Command to insert description synchronizing with an annotation of QSplat Applet #annotation (annotation-ID, 3Ddata-ID, annotation-text, mode1, mode2, description)
Pukiwiki plug-in • Display 3D data with synchronizing annotations Click Annotation “Left Hand” Show description ”Left Hand” Click header of description “Head” Change view to look at “Head”
Pukiwiki plug-in • Manage contents Registration screen All contents list
Pukiwiki plug-in • Edit annotations