Introduction to X3D. Roberto Ranon HCI Lab University of Udine, Italy

Similar documents
Topics. Overview of VRML 97 VRML Today After VRML

ISO/IEC/Web3D Status Report

Fulfilling the Mandate of Information Durability and Access. Nov 2, 2018

Neil Trevett Vice President Mobile Ecosystem, NVIDIA President, Khronos Group. Copyright Khronos Group Page 1

Future of X3D: X3D version 4 with HTML5/DOM

XML Programming. Nguyen Duc Thinh Nestor O. Guerrero Rojas Espoo, Finland.

MPEG-4. Today we'll talk about...

X3D Efficient Binary Encoding (EBE)

Georgios Tziritas Computer Science Department

2.5 Animations. Applications. Learning & Teaching Design User Interfaces. Content Process ing. Group Communi cations. Documents.

2.5 Animations. Contents. Basics. S ystem s. Services. Usage. Computer Architectures. Learning & Teaching Design User Interfaces.

D5 - Report on current CAD conversion pipelines and standard 3d data formats

Introduction to Virtual Environments - Spring Wernert/Arns. Lecture 4.2 Animation & Interaction

Stylesheet Transformations for Interactive Visualization: Towards a Web3D Chemistry Curricula

Grouping Nodes. X3D Graphics for Web Authors. Chapter 3

INTEGRATING MPEG-4 MEDIA IN THE CONTEXT OF HTML5 TECHNOLOGIES DIONISIOS KLADIS. B.A., Technological Educational Institute of Crete, 2010 A THESIS

Index. Symbols. aural environment 269

MODELING AND HIERARCHY

MPEG 기반 AR 표준화현황. 건국대학교컴퓨터공학부윤경로 (yoonk_at_konkuk.ac.kr)

Visual HTML5. Human Information Interaction for Knowledge Extraction, Interaction, Utilization, Decision making HI-I-KEIUD

Understanding Scene Graphs

CHAPTER 1 Graphics Systems and Models 3

Virtual Instrument Representation in X3D and some CIF->XML stuff.

Part III: Survey of Internet technologies

Chapter 5 - The Scene Graph

X3D Specification Activities

Interchange formats. Introduction Application areas Requirements Track and object model Real-time transfer Different interchange formats Comparison

MPEG-4 AUTHORING TOOL FOR THE COMPOSITION OF 3D AUDIOVISUAL SCENES

CS148: Maya Lecture. October 9th, 2017 David Hyde

WebGL Meetup GDC Copyright Khronos Group, Page 1

On Design of 3D and Multimedia Extension of Information System Using VRML

VISUALIZING OPTIMIZER

CS 354R: Computer Game Technology

X3DOM Getting declarative (X)3D into HTML

Embedding 3D Objects into NCL Multimedia Presentations. Roberto Gerson de A. Azevedo Luiz Fernando Gomes Soares

8/19/2018. Web Development & Design Foundations with HTML5. Learning Objectives (1 of 2) Learning Objectives (2 of 2) Helper Applications & Plug-Ins

Chapter 1- The Blender Interface

3D ENGINE/DEVELOPER TOOLS ANALYSIS

CS451Real-time Rendering Pipeline

Course 20480: Programming in HTML5 with JavaScript and CSS3

COURSE 20480B: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3

XML: Extensible Markup Language

Shadow Maps and Projective Texturing In X3D

Virtual Reality Modeling Language

Programming in HTML5 with JavaScript and CSS3

BETWEEN PHOTO-REALISM AND NON-PHOTO REALISTIC RENDERING MODELING URBAN AREAS FOR REAL TIME VR

Principles of Computer Game Design and Implementation. Lecture 5

Fire Dynamics Simulator

Content Loader Introduction

Building scalable 3D applications. Ville Miettinen Hybrid Graphics

Chapter 1- The Blender Interface

gltf Briefing September 2016 Copyright Khronos Group Page 1

Character Modeling IAT 343 Lab 6. Lanz Singbeil

20480C: Programming in HTML5 with JavaScript and CSS3. Course Code: 20480C; Duration: 5 days; Instructor-led. JavaScript code.

A Closer Look at XPages in IBM Lotus Domino Designer 8.5 Ray Chan Advisory I/T Specialist Lotus, IBM Software Group

High Level Graphics Programming & VR System Architecture

Introduction. Multimedia Applications and Data Management Requirements 1.1 HETEROGENEITY

Qiufeng Zhu Advanced User Interface Spring 2017

AN INTERACTIVE LAND USE VRML APPLICATION (ILUVA) WITH SERVLET ASSIST. Lee A. Belfore, II Suresh Chitithoti

WHAT IS BFA NEW MEDIA?

3D webservices - where do we stand? Emmanuel Belo

What is multimedia? Multimedia. Continuous media. Most common media types. Continuous media processing. Interactivity. What is multimedia?

Adobe Digital Publishing Solution for Windows Voluntary Product Accessibility Template

.. Cal Poly CPE/CSC 366: Database Modeling, Design and Implementation Alexander Dekhtyar..

Introducing Adaptive Hypermedia Techniques in 3D Educational Virtual Environments

You can also export a video of what one of the cameras in the scene was seeing while you were recording your animations.[2]

3D on the WEB and Virtual Humans

Multimedia. What is multimedia? Media types. Interchange formats. + Text +Graphics +Audio +Image +Video. Petri Vuorimaa 1

Game Programming with. presented by Nathan Baur

VRML for Visualization

Spring 2011 Prof. Hyesoon Kim

YaPPI Yet another Particle Property Interface

From Art to Engine with Model I/O

WPF. Source Module 01: Lesson1

CS345/DIGM465: Computer Game Development: Understanding Torque

Real - Time Rendering. Graphics pipeline. Michal Červeňanský Juraj Starinský

Scalable multi-gpu cloud raytracing with OpenGL

Compression and File Formats

A Conceptual View Of The Building Blocks To Develop A Web-Based Training And Educational Tool

Topic 10: Scene Management, Particle Systems and Normal Mapping. CITS4242: Game Design and Multimedia

WEB APPLICATION DEVELOPMENT. How the Web Works

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models

An Introduction to Maya. Maya. Used in industrial design, CAD, computer games and motion picture effects. The ambition is what get

Content. Building Geometry Appearance Lights Model Loaders

Surface Rendering. Surface Rendering

HTML5 in Action ROB CROWTHER JOE LENNON ASH BLUE GREG WANISH MANNING SHELTER ISLAND

Digital Asset Management 2. Introduction to Digital Media Format

2018 Feature Comparison

The MPEG-4 1 and MPEG-7 2 standards provide

Cortona Movie Maker 1.0

Visualization of a Text Network Structure Using X3D

NAVAL POSTGRADUATE SCHOOL Monterey, California THESIS

v-slam documentation for v1.09

ISOAEC INTERNATIONAL STANDARD

Table of Checkpoints for User Agent Accessibility Guidelines 1.0

Graphics File Formats

Spring 2009 Prof. Hyesoon Kim

Net Centric Computing - Graphics

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance.

This allows you to choose convex or mesh colliders for you assets. Convex Collider true = Convex Collider. Convex Collider False = Mesh Collider.

Transcription:

Introduction to X3D Roberto Ranon ranon@dimi.uniud.it HCI Lab University of Udine, Italy http://hcilab.uniud.it

Outline What is X3D? X3D basics including some new capabilities and details on the (near) future of X3D How the ISO specification is organized X3D and VRML97 Available SW tools

What is X3D? extensible 3D Graphics ISO open standard for (Web-enabled) interactive 3D content integrated with multimedia also an interchange format for integrated 3D graphics and multimedia developed by the Web3D Consortium as a successor of the VRML language already officially incorporated within the MPEG-4 multimedia standard

X3D supports... (1) 3D graphics - Polygonal geometry, parametric geometry, hierarchical transformations, lighting, materials and multipass/multi-stage texture mapping 2D graphics - Text, 2D vector and planar shapes displayed within the 3D transformation hierarchy Animation - Timers and interpolators to drive continous animations; humanoid animation and morphing Spatialized audio and video - Audiovisual sources mapped onto geometry in the scene User interaction - Mouse-based picking and dragging; keyboard input

X3D supports... (2) Navigation - Cameras; user movement within the 3D scene; collision, proximity and visibility detection Networking - Ability to compose a single X3D scene out of assets located on a network; hyperlinking of objects to other scenes or assets located on the World Wide Web User-defined objects - Ability to extend built-in browser functionality by creating user-defined data types (PROTOs) Scripting - Ability to dynamically change the scene via programming and scripting languages Physical simulation - Humanoid animation; geospatial datasets; integration with Distributed Interactive Simulation (DIS) protocols

X3D Basics

Scene graph A X3D file defines a scene graph, i.e. a direct acyclic graph describing the 3D world being created (e.g. 3D objects, interactivity) Each node in the graph is an instance of one of the available node types e.g. a Shape node defines a shape, a Transform node positions, orients and scale its children nodes, a DirectionalLight node defines a light source in the world Nearly identical to the VRML97 scene graph, but new nodes added to incorporate advances in 3D HW & SW

New nodes example With multitexturing, multiple textures may be applied to a single geometry node and blended according to a predefined set of operations. e.g., for light mapping effects Multitexturing is accomplished using the MultiTexture, MultiTextureCoordinate, and MultiTextureTransform nodes

Language Encodings X3D content can be expressed in Classic VRML encoding, nearly backward compatible with VRML97 XML encoding, supported by Schema or DTD All encodings are interchangeable

Encodings example <X3D version='3.0 profile='interchange'> <head> </head> <Scene> <Group> <NavigationInfo type='"examine"'/> <DirectionalLight/> <Transform translation='3.0 0.0 1.0'> <Shape> <Sphere radius='2.3'/> <Appearance> <Material diffusecolor='1.0 0.0 0.0'/> </Appearance> </Shape> </Transform> </Group> </Scene> </X3D> XML encoding #X3D V3.0 utf8 PROFILE Interchange Group { children [ NavigationInfo { type [ "EXAMINE" ] } DirectionalLight {} Transform { translation 3.0 0.0 1.0 children [ Shape { geometry Sphere { radius 2.3 } appearance Appearance { material Material { diffusecolor 1.0 0.0 0.0 } } } ] } ] } Classic VRML encoding

Why the XML encoding? XML provides parsing, validation, XSLT conversion,..., for free Integration with the next-generation web technologies, also exploiting the efforts of the W3C Typical scenario (also in e-learning apps): X3D, as a format that defines visual information, is the last stage in a production pipeline. using XML stylesheets, one can keep data in some native XML format (which represents concepts, relationships,...), and obtain a 3D representation as a single transformation step.

Example: CML to X3D CML (Chemical Markup Language) is a XML language for chemistry With a properly-written XML stylesheet, one can obtain a X3D representation of ANY CML file (or another visual representation, e.g. HTML) cml2x3d stylesheet done by Nicholas Polys, VirtuWorlds LLC

User-defined extendibility authors can define new nodes by using prototypes e.g., to define application-specific high-level nodes A PROTO statement defines a new node type in terms of already defined (built-in or prototyped) node types PROTO Cube [ ] { Box { } } Once defined, prototyped node types may be instantiated in the scene graph exactly like the builtin node types Shape { geometry Cube { } }

Scripting capabilities Complex dynamical behaviors in the 3D world can be impossible to implement without the power of a programming languages these kinds of decisions are expressed programmatically using the Scene Access Interface (SAI) internally (from Script nodes) or externally (from other application programs) X3D has a single unified API (VRML97 had an internal scripting API plus an external API, called EAI). ECMAScript and Java bindings are defined ECMAScript is required for conformant applications.

The (near) future of X3D Programmable X3D Shaders more visual realism & efficiency can experiment with them using BS Contact Preview CAD Distillation Format extension of X3D designed to distill down high complexity CAD data to low complexity Binary Encoding for faster parsing (2-5 times) and downloading times (10-25 times) with both loseless and lossy compression

How the X3D specification is organized

How the spec is organized X3D is composed by 3 separate ISO specs: X3D framework & SAI: describes structural and runtime models, external programming functionality in abstract terms. X3D encodings: specifies XML and Classic VRML encodings of X3D files X3D language bindings: specifies the binding of the services in the X3D architecture to the ECMAScript and Java programming languages

Components and Profiles X3D objects and services are grouped into components (i.e., set of related functionalities) Components have multiple levels of increasing capability Profiles are a collection of components at specific levels designed to support particular application domains Authors specify required profile and (optionally) additional components at the beginning the X3D file

Example <X3D profile='immersive'> <head> <component name='geospatial'/> <component name='nurbs' level='2'/> </head> <Scene> <!-- Scene graph nodes are added here --> </Scene> </X3D>

X3D Components Geometry Shape, Geometry3D, Geometry2D, Text Environment Sound, Lighting, Navigation, Environmental Effects Animation Interpolation, Event Utilities Appearance Sensors Pointing Device Sensor, Key Device Sensor, Environmental Sensor, Time Structure Networking, Grouping Other Geospatial, H-Anim, NURBS, DIS, Scripting Rendering, Texturing

X3D Profiles Interchange Interactive Immersive Full MPEG4 Interactive CDF (Cad Distillation Format)

X3D & VRML97

X3D and VRML97 Main functional differences: file header (e.g. you need to define a profile) access names for fields have changed (e.g. eventin inputonly, exposedfield inputoutput scripts can have inputoutput (i.e., exposed) fields runtime and programming model for scripting is consistent between programming languages and whether you are inside or outside the browser...

Converting VRML97 files to X3D files that do not contain scripts or externprotos need only minor changes e.g., change the header and insert the new PROFILE statement files that contain scripts may require more extensive modifications a X3dToVrml97 translator program is available, but not perfect at all e.g. does not perform changes into script code

Available SW tools

X3D tools: browsers Commercial: BitManagement BS Contact www.bitmanagement.de Flux www.mediamachines.com Octaga www.octaga.com VCOM Venues X3D www.vcom3d.com Open-source: FreeWRL www.crc.ca/freewrl XJ3D www.xj3d.org

X3D tools: authoring Commercial: VizX3D www.vizx3d.com Open-source: X3D-Edit www.web3d.org VRML to X3D translator ovrt.nist.gov/v2_x3d.html Exporters for Maya, 3DStudio (under development), Blender, MilkShape www.web3d.org