17.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 17 – VRML: A Rough Guide.

Slides:



Advertisements
Similar presentations
Web 2.0 Programming 1 © Tongji University, Computer Science and Technology. Web Web Programming Technology 2012.
Advertisements

© 2002 D & D Enterprises 1 Linking Images For Navigation & Clickable Image Maps.
IS 6116 Introduction – 10 Jan Lecturer Details Aonghus Sugrue Website: aonghussugrue.wordpress.com
Copyright © 2003 Pearson Education, Inc. Slide 8-1 Created by Cheryl M. Hughes, Harvard University Extension School Cambridge, MA The Web Wizards Guide.
Copyright © 2003 Pearson Education, Inc. Slide 3-1 Created by Cheryl M. Hughes The Web Wizards Guide to XML by Cheryl M. Hughes.
Copyright © 2003 Pearson Education, Inc. Slide 5-1.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Chapter 1 The Study of Body Function Image PowerPoint
Copyright © 2011, Elsevier Inc. All rights reserved. Chapter 6 Author: Julia Richards and R. Scott Hawley.
Author: Julia Richards and R. Scott Hawley
1 Copyright © 2013 Elsevier Inc. All rights reserved. Appendix 01.
Properties Use, share, or modify this drill on mathematic properties. There is too much material for a single class, so you’ll have to select for your.
Manuscript Central Training Author Center Module 2.
XP New Perspectives on Microsoft Office Word 2003 Tutorial 7 1 Microsoft Office Word 2003 Tutorial 7 – Collaborating With Others and Creating Web Pages.
Introduction to HTML, XHTML, and CSS
1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 10 VRML - An Introduction.
10.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 10 – Introduction to 3D Graphics.
1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 9 Adding Realism Through Texture.
SI23 Introduction to Computer Graphics
1GR2-00 GR2 Advanced Computer Graphics AGR Ken Brodlie Lecture 1 - Overview.
7.1 Vis_04 Data Visualization Lecture 7 3D Scalar Visualization Part 2 : Volume Rendering- Introduction.
GR2 Advanced Computer Graphics AGR
GR2 Advanced Computer Graphics AGR
GR2 Advanced Computer Graphics AGR
1.1 Si23_03 SI23 Introduction to Computer Graphics School of Computing Ken Brodlie Semester Lecture 1 - Introduction.
SI23 Introduction to Computer Graphics
1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 11 VRML Animation and Interaction.
SI23 Introduction to Computer Graphics
16.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 16 – Some Special Rendering Effects.
11.1 si31_2001 SI31 Advanced Computer Graphics AGR Lecture 11 VRML - An Introduction.
1.1 SI31_2001 SI31 Advanced Computer Graphics AGR Ken Brodlie Lecture 1 - Overview.
9.1si31_2001 SI31 Advanced Computer Graphics AGR Lecture 9 Adding Realism Through Texture.
Mike Scott University of Texas at Austin
4. Internet Programming ENG224 INFORMATION TECHNOLOGY – Part I
Solve Multi-step Equations
© Telcordia Technologies 2004 – All Rights Reserved AETG Web Service Tutorial AETG is a service mark of Telcordia Technologies. Telcordia Technologies.
1 The phone in the cloud Utilizing resources hosted anywhere Claes Nilsson.
Creating Tables in a Web Site
The World Wide Web. 2 The Web is an infrastructure of distributed information combined with software that uses networks as a vehicle to exchange that.
Computer Graphics An Introduction. What’s this course all about? 05/10/2014 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data.
Using AVS/Express in an Introductory Computer Graphics Course.
Macromedia Dreamweaver MX 2004 – Design Professional Dreamweaver GETTING STARTED WITH.
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
Copyright © 2003 by Prentice Hall Computers: Tools for an Information Age Chapter 15 Programming and Languages: Telling the Computer What to Do.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
Chapter 12 Working with Forms Principles of Web Design, 4 th Edition.
Intracellular Compartments and Transport
PSSA Preparation.
Essential Cell Biology
Introduction Peter Dolog dolog [at] cs [dot] aau [dot] dk Intelligent Web and Information Systems September 9, 2010.
TIDE Presentation Florida Standards Assessments 1 FSA Regional Trainings Updated 02/09/15.
What’s new in WebSpace Changes and improvements with Xythos 7.2 Effective June 24,
© TMC Computer School HC20203 VRML HIGHER DIPLOMA IN COMPUTING Chapter 1 – Introduction to VRML.
Introduction to VRML By Salman Yussof Diego Iglesias.
Adding Functionality To Web-Based VR Basic Concepts Client – server model Client-side static Client-side scripting Server-side scripting.
Multimedia and the WWW Howell Istance and Chris Hand, Napier University.
© De Montfort University, D Graphics and VRML Howell Istance and Chris Hand* De Montfort University * now at
University College Dublin1 Scope ROOT Light SourceTransform Light SourceSphere.
VRML Virtual Reality Modeling Language. What Are We Going to See? What is VRML? Syntax of the language Features Examples.
VRML Dr. Alun Moon What is VRML The Virtual Reality Modeling Language (VRML) is a file format for describing interactive 3D objects.
VRML - 1 Virtual Reality Modeling Language (VRML) Peter O’Grady.
1 Virtual Reality Modeling Language (VRML97) ©Anthony Steed
H3D API Training Part 2.1: X3D. Outline  Scene graphs  X3D – XML syntax  X3D components overview.
Virtual Reality Modeling Language 97. What’s VRML? Virtual Reality Modeling Language 2D/3D graphics Audio:.wav,.mid Video: MPEG-1 Interactivity: time-
VRML Anthony Steed Department of Computer Science University College London ©Anthony Steed
© TMC Computer School HC20203 VRML HIGHER DIPLOMA IN COMPUTING Chapter 2 – Basic VRML.
© TMC Computer School HC20203 VRML HIGHER DIPLOMA IN COMPUTING Chapter 5 – Animation in VRML.
MPEG-4 Binary Information for Scenes (BIFS)
Lecture 3. Virtual Worlds : Representation,Creation and Simulation
Presentation transcript:

17.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 17 – VRML: A Rough Guide

17.2 Si23_03 Course Outline Image Display URL GIMP colour 2D vector graphics URL SVG Viewer lines, areas graphics algorithms interaction VRML viewer 3D Graphics URL surfaces viewing, shading Graphics Programming OpenGL API animation n Graphics programming – Using OpenGL with C, C++

17.3 Si23_03 Good Ideas are Simple n Realization 1: – Hypertext + Internet = World Wide Web n Realization 2: – Adding images makes pages more interesting n Realization 3: – Images are pictures taken by the publisher - why not send 3D scenes and allow the user to take the picture! n VRML: Virtual Reality Modelling Language – a language to describe 3D worlds - for the Web

17.4 Si23_03 VRML AUTHORING PROCESS VRML file server INTERNET client VRML BROWSER x-world/ x-vrml.wrl Text editor Modelling tool Browser plug-in: eg Cortona

17.5 Si23_03 A VRML File VRML file consists of: n header n nodes – Shape is the generic geometric node – specific objects such as cylinders and spheres – operations such as transformations n fields – parameters of nodes #VRML V2.0 utf8 Shape { geometry Cylinder { radius3 height6 } }

17.6 Si23_03 As Seen By A Browser #VRML V2.0 utf8 Shape { geometry Cylinder { radius2 height4 }

17.7 Si23_03 Adding Colour to the Scene #VRML V2.0 utf8 Shape { geometry Cylinder { radius2 height4 } appearance Appearance { material Material { diffuseColor specularColor1 1 1 } }

17.8 Si23_03 Advantages of VRML n Transferring a 3D model - rather than a 2D image - to the browser has great advantages – viewer can choose how to look at the model - or world – viewer can navigate the world – file size can often be much less

17.9 Si23_03 VRML - The Evolution n Original brainwave - VR for the Web – Mark Pesce and Tony Parisi - early 1994 n VRML 1.0 – practical realisation based on Open Inventor, late 1994 (Gavin Bell - SGI) – static, non-interactive worlds n VRML97 - ISO Standard dynamic – adds object behaviours and interaction to allow creation of dynamic worlds – Gavin Bell, Rik Carey and Chris Marrin n updating ISO standard – Reworking as XML encoding (X3D) – Leading figure is Don Brutzman (US Navy Postgraduate College)

17.10 Si23_03 n Each node is drawn within its own local co-ordinate system.. n..and can be scaled, rotated, translated by a modelling transformation.. n.. here a Cylinder, Sphere and Cone have been positioned with modelling transformations Co-ordinate Systems x z y

17.11 Si23_03 Modelling Transformations n Transform is a VRML node - treated just like an object n It applies to a group of children nodes – Here a cylinder is scaled by factor of 5 in x-direction, and 0.5 in y-direction #VRML V2.0 utf8 Transform{ scale children [ Shape { geometry Cylinder { radius2 height4 } appearance Appearance { material Material { diffuseColor specularColor1 1 1 } } } ] }

17.12 Si23_03 Hierarchical Structure #VRML V2.0 utf8 Transform{ scale children [ Shape { geometry Cylinder { radius2 height4 } appearance Appearance { material Material { diffuseColor specularColor1 1 1 } } } ] } TRANSFORM SHAPE parent child

17.13 Si23_03 Hierarchical Structure n This generalises to allow nodes to appear in a hierarchy scene graph n This is known as the VRML scene graph n This is how VRML does its modelling transformations TRANSFORM SHAPE TRANSFORM SHAPE

17.14 Si23_03 Polygonal Surfaces n The general primitive for drawing polygonal surfaces is: – IndexedFaceSet – coord field lists the points – coordIndex describes the polygons Shape{ geometry IndexedFaceSet { coord Coordinate { point [ , , … ] } coordIndex [ , , …] }

17.15 Si23_03 Instances n A node can be given a name and then used multiple times - with different transformations applied to each n DEF kwb Shape {...} gives it a name n USE kwb allows it to be included at other points in the scene graph

17.16 Si23_03 Anchors n A piece of geometry can act as a link to another URL

17.17 Si23_03 Textures n Texture mapping: Images can be mapped to geometry to provide texturing n VRML looks like: Shape{ geometry Sphere { } appearance Appearance{ texture ImageTexture{ url

17.18 Si23_03 Lights n VRML includes: – DirectionalLight – PointLight – SpotLight n Note # sign is a comment Example: PointLight{ onTRUE intensity0.75 color1 0 0 #red location0 0 0 radius100 }

17.19 Si23_03 Richer Worlds n VRML97 allows the creation of much more interesting worlds by introducing: – interaction and animation – multimedia – scripting active n Worlds become active – can change over time – can change in response to a users actions

17.20 Si23_03 Making Worlds Come Alive n To understand how this works we shall create a really simple example n We shall build a signboard that rotates... eventssensors n... for this we need to understand events and sensors

17.21 Si23_03 Sensors and Events sensor n A sensor is a type of node that generates data within the world - as the browser navigates it – eg TimeSensor – eg TouchSensor event n Data generated within a node is called an event routed n Events are routed from one node to another to program behaviour in the world

17.22 Si23_03 Routing of Events n Each node has a specified list of events associated with it – eg TimeSensor has time events n Divided into eventOuts and eventIns – a node can receive eventIns – a node can send eventOuts n Routes assign eventOut of one node to eventIn of another node Node A Node B route eventOutseventIns

17.23 Si23_03 Example of Routing DEF OBJECT Shape {.. } DEF LIGHT PointLight {.. } DEF TIMER TimeSensor {.. } DEF SWITCH TouchSensor {.. } # start the clock when someone presses dimmer switch ROUTE SWITCH.touchTime TO TIMER.set_startTime # as the clock ticks, change the intensity of light in the room ROUTE TIMER.fraction_changed TO LIGHT.set_intensity

17.24 Si23_03 Time Sensor n A Time Sensor generates events as the clock ticks n Fields include: – start time (secs) [0 is default = midnight, 1/1/1970] – cycle time (secs) [1 is default] – loop (TRUE/FALSE) n EventOuts include: – current time – fraction_changed (fraction of current cycle) n EventIn includes – set_startTime

17.25 Si23_03 Animation animation engine n Animation is achieved by routing time events to an animation engine keyframe values n This engine is programmed with keyframe values – on receiving a time event, it calculates an in-between value – this gets routed to another node, typically a transform node

17.26 Si23_03 Interpolator Nodes n These form the animation engines Orientation Interpolator n Example is Orientation Interpolator OrientationInterpolator { key[0, 0.5,1] keyValue[ , , ] } – EventIn set_fraction(eg 0.25) – EventOut value_changed(eg ) Note: Orientation specified as angle about axis - here y-axis

17.27 Si23_03 Animation animation engine... n Animation then achieved by routing time events from a time sensor to the animation engine... n... which then drives say a transform node: TIME SENSOR time elapsed ORIENTATION INTERPOL- ATOR rotation TRANSFORM animation engine sensor event modify geometry

17.28 Si23_03 Rotating Sign DEF TURN_SIGN Transform { rotation children [ DEF SIGN Shape {...}]} DEF TIMER TimeSensor { loopTRUE }#continuous DEF ROTOR OrientationInterpolator { key[0,0.51.0] keyValue[ , ] #rotate twopi in a cycle } ROUTE TIMER.fraction_changed TO ROTOR.set_fraction ROUTE ROTOR.value_changed TO TURN_SIGN.set_rotation

17.29 Si23_03 Proximity Sensor Collision Detection n Proximity sensor acts as a detector as the viewer enters a region – It generates events on entry and exit – You can use this for example to turn on a light as someone enters a room n VRML allows you to detect when the viewer collides with an object – When collision occurs, a collideTime event is generated – Note collision between objects NOT detected

17.30 Si23_03 Collision + Sound Example DEF COLLIDE Collision { children [DEF SIGN Shape {.. }] DEF TUNE Sound { sourceDEF CLASSIC AudioClip { url " } ROUTE COLLIDE.collideTime TO CLASSIC.set_startTime

17.31 Si23_03 Applications - Web-based Visualization n Air quality visualization service n User enters request on form n CGI script runs IRIS Explorer on server n Visualization returned as VRML n Try it at: – cspcx40.leeds.ac.uk /aqual

17.32 Si23_03 Applications - Medical Visualization n Increasingly VRML is being used for simple surgical simulations n Look at: – – vis/ying/simulators/ trigeminal

17.33 Si23_03 Applications - Maps and Architectural Walkthroughs n Campus maps were an early VRML application n Interior design simulations – high quality rendering is possible n Virtual cities are appearing – Bath – Berlin.. through the ages

17.34 Si23_03 Browsing n Traditionally... n Has been a range of browsers to select from n Commonly: – free – beta n Not all browsers support all functionality... n Rapidly changing environment n Leading product is Cortona – But Windows only n Other browsers – WorldView – CosmoPlayer – Blaxxun – Vrmlview on linux

17.35 Si23_03 Information About VRML n Web3D Consortium – – links to specifications and resources n Web3D Information – n Tutorials include: – Floppys guide: n Many, many examples: – eg

17.36 Si23_03 Conclusions n VRML brings 3D dynamic worlds to the Internet community n Easy to learn, easy to use n Variety of application areas n Still evolving – EAI (to link with Java applets), MPEG-4 (to include 3D in movies), XML …. n PS One of the first VRML browsers was written by Craig Hart, in his Leeds MSc project, in summer 1995!!