Rapid Prototyping for Virtual Environments

Rapid Prototyping for Virtual Environments

Old Dominion University ODU Digital Commons Electrical & Computer Engineering Theses & Dissertations Electrical & Computer Engineering Winter 2008 Rapid Prototyping for Virtual Environments Emre Baydogan Old Dominion University Follow this and additional works at: https://digitalcommons.odu.edu/ece_etds Part of the Computer Sciences Commons, and the Electrical and Computer Engineering Commons Recommended Citation Baydogan, Emre. "Rapid Prototyping for Virtual Environments" (2008). Doctor of Philosophy (PhD), Dissertation, Electrical & Computer Engineering, Old Dominion University, DOI: 10.25777/pb9g-mv96 https://digitalcommons.odu.edu/ece_etds/45 This Dissertation is brought to you for free and open access by the Electrical & Computer Engineering at ODU Digital Commons. It has been accepted for inclusion in Electrical & Computer Engineering Theses & Dissertations by an authorized administrator of ODU Digital Commons. For more information, please contact [email protected]. RAPID PROTOTYPING FOR VIRTUAL ENVIRONMENTS by Emre Baydogan B.S. June 1999, Marmara University, Turkey M.S. June 2001, Marmara University, Turkey A Dissertation Submitted to the Faculty of Old Dominion University in Partial Fulfillment of the Requirement for the Degree of DOCTOR OF PHILOSOPHY ELECTRICAL AND COMPUTER ENGINEERING OLD DOMINION UNIVERSITY December 2008 Lee A. Belfore, H (Director) K. Vijayan Asari Jesmca R. Crouch ABSTRACT RAPID PROTOTYPING FOR VIRTUAL ENVIRONMENTS Emre Baydogan Old Dominion University, 2008 Director: Dr. Lee A. Belfore, II Development of Virtual Environment (VE) applications is challenging where appli­ cation developers are required to have expertise in the target VE technologies along with the problem domain expertise. New VE technologies impose a significant learn­ ing curve to even the most experienced VE developer. The proposed solution relies on synthesis to automate the migration of a VE application to a new unfamiliar VE platform/technology. To solve the problem, the Common Scene Definition Frame­ work (CSDF) is developed, that serves as a superset/model representation of the target virtual world. Input modules are developed to populate the framework with the capabilities of the virtual world imported from VRML 2.0 and X3D formats. The synthesis capability is built into the framework to synthesize the virtual world into a subset of VRML 2.0, VRML 1.0, X3D, Java3D, JavaFX, JavaME, and OpenGL technologies, which may reside on different platforms. Interfaces are designed to keep the framework extensible to different and new VE formats/technologies. The frame­ work demonstrated the ability to quickly synthesize a working prototype of the input virtual environment in different VE formats. IV To My Family V ACKNOWLEDGMENTS I would like to acknowledge and extend my heartfelt gratitude to my advisor, Dr. Lee A. Belfore II, for his support and encouragement, which has made the completion of this dissertation possible. I would also like to thank Dr. K. Vijayan Asari, Dr. Jessica R. Crouch, and Dr. Frederic D. McKenzie for serving on my dissertation committee and for their constructive comments and feedback. My sincere gratitude also goes to Dr. M. Borahan Turner, who advised me during my Master's years at Marmara University, and who encouraged me to start my PhD education endeavor in the United States. This project was started together with my colleague, Prabhu Krishnan. Many thanks go to him for helping me build a strong foundation on which to add my research ideas. I would also like to thank my parents, my brothers, and my sister, who have always helped me ascend during difficult times, by supporting me morally and financially. My appreciation also goes to my good friends, Catalina, Hector, Marija, Ulas, Keremcan, and Saurav, who kept me true to who I am and who offered their valuable time for moral support and discussions. VI TABLE OF CONTENTS Page List of Tables ix List of Figures xi CHAPTER I Introduction 1 1.1 Current Frameworks 1 1.1.1 VR Juggler 2 1.1.2 DIVERSE 3 1.1.3 INTML 3 1.1.4 Unicron CVE 4 1.1.5 ALICE: Rapid Prototyping for Virtual Reality 5 1.2 Methodology: Rapid Prototyping 7 1.3 Problem Statement 8 1.4 Pros and Cons of Present Frameworks and CSDF 10 II Background 12 11.1 3DVEs 12 II.1.1 Domains 13 11.2 Prototyping 16 11.3 Technologies 18 11.3.1 VRML 19 11.3.2 X3D 23 11.3.3 Java3D 24 11.3.4 JavaFX . 31 11.3.5 M3G (Mobile 3D Graphics API) 33 11.3.6 JavaME (Java Platform, Micro Edition) 34 11.3.7 OpenGL (Open Graphics Library) 35 11.3.8 DirectX - Direct3D 37 11.3.9 Virtools 40 11.3.10 TouchDesigner 40 11.4 Platforms 42 11.4.1 Microsoft Windows PC 42 11.4.2 Unix-like PC(Linux & Mac OS) 43 11.4.3 Portable Devices 43 vii II.4.4 Immersive Devices 44 II.5 Graphics Processing (Rendering) 44 11.5.1 Immediate Mode Rendering 46 11.5.2 Retained Mode Rendering 47 III Theory 50 111.1 Rapid Prototyping 50 111.2 Classification of VE Capabilities 52 111.2.1 Geometry/ Appearance 52 111.2.2 Behaviors 52 111.2.3 Scripting/Custom Coding 53 111.3 CSDF 53 111.3.1 Framework 54 111.3.2 Modules 56 111.3.3 Analysis (Parsing) from Technologies 56 111.3.4 Synthesis to Technologies/Platforms 57 111.3.5 Authoring 59 IV Reference Implementation 60 IV. 1 Software for Implementation and Testing 60 IV.1.1 Java 60 IV.1.2 CSDF and Proprietary Platforms 63 IV.2 Modules 63 IV.2.1 CSDF Core 64 IV.2.2 Analysis 65 IV.2.3 Synthesis 76 IV.2.4 Authoring 78 IV.2.5 Current Implementation status 78 V Applications 82 V.l A Simple VE 82 V.l.l VRML Synthesis 83 V.1.2 X3D Synthesis 85 V.l.3 Java3D Synthesis 86 V.1.4 OpenGL/GLUT Synthesis 87 V.l.5 JavaFX Synthesis for Portable Device 90 V.2 VOR 90 V.2.1 Virtools Analysis 91 VI Conclusions 94 viii VI.l Future Work 95 BIBLIOGRAPHY 96 APPENDICES VITA 108 ix LIST OF TABLES Page I Features and Differences among Frameworks 11 II Node Types and Nodes in VRML 1.0 19 III X3D Supported Features 26 IV DirectX Components 39 V Differences between C++ and Java 62 VI Analysis and Synthesis Support for CSDF 79 X LIST OF FIGURES Page 1 Layered architecture of the Juggler Suite 2 2 DIVERSE sample code 3 3 InTml Architecture 4 4 Unicron CVE Architecture 5 5 ALICE hierarchy sample 6 6 ALICE sample 6 7 Prototyping Process 16 8 VRML sample code 20 9 VRML Sample View in Cortona Player 21 10 Modular block of X3D baseline profiles 25 11 X3D sample code 25 12 X3D Sample View in Xj3D Browser 27 13 Java3D Sample Scene Graph Diagram 29 14 Java3D Sample Code 30 15 Java3D Sample View 31 16 JavaFX sample script 32 17 M3G code piece (Retained Mode) 34 18 OpenGL Graphics Pipeline Process 37 19 OpenGL sample code displaying a solid cube, using GLUT 38 20 OpenGL (GLUT) sample: Color Cube 39 21 Virtools development environment (Virtual Chainsaw) 41 22 TouchDesigner development environment (Wound Debridement Simu­ lator) 41 xi 23 CSDF Concept Diagram 51 24 CSDF Classes 64 25 CSDFGeometry interface and a few classes that implement the interface. 65 26 CSDFSynthesis interface and a few classes that implement the interface. 66 27 Analysis components of CSDF 66 28 Phases of VRML Parser 67 29 A small portion of the context-free grammar (CFG) for VRML language. 69 30 Example of Semantic action in the VRML parser 70 31 Semantic action for node name handling and type checking (VRML Parsing) 71 32 Semantic action for node attribute handling and type checking (VRML Parsing) 73 33 X3D parser embedded in constructor of CSDF nodes (recursive con­ struction of CSDF classes) 75 34 Virtools to TouchDesigner Analysis/Synthesis 76 35 Synthesis components of CSDF 77 36 VRML 2.0 implementation of the simple VE 84 37 VRML 2.0 implementation of the simple VE in Cortona plug-in for Internet Explorer 85 38 X3D view of the synthesized VE in Xj3D Browser 86 39 Java3D view of the synthesized environment 88 40 OpenGL view of the synthesized VE 89 41 JavaFX view of the synthesized VE 90 42 Virtual Operating Room in Virtools VR Player (Four Projections). 92 43 Virtual Operating Room in Virtools Development Environment. ... 93 1 CHAPTER I INTRODUCTION Virtual environment (VE) applications are used in a wide variety of areas and can be deployed on many different platforms. A VE can be defined simply as "an envi­ ronment that is simulated by a computer which includes aspects of reality." Since most of the VEs provide primarily visual experiences, much of the work is done in the improvement or construction of visual environments. Applications of VEs have been employed in many domains (e.g., medicine, military and training), and have greatly benefited from the continous improvements in computer systems, processing power, and network bandwidth. New directions and interesting projects are now available to be explored by researchers and workers in the area of VEs, and different types of VE development technologies and platforms have been created to meet the great demand for VE in many areas. 1.1 CURRENT FRAMEWORKS There are currently several tools and environments that serve as development and prototyping platforms to VE technologies. VR Juggler, DIVERSE (Device Indepen­ dent Virtual Environments Reconfigurable, Scalable, Extensible), InTml (Interaction Techniques Markup Language), Unicron CVE (Collaborative 3D Virtual Environ­ ments) and ALICE (Rapid Prototyping for Virtual Reality) are some examples of The reference model for this work is IEEE Transactions on Visualization and Computer Graphics.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    122 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us