problem statement representing the environment user
play

Problem Statement Representing the Environment User Interaction - PowerPoint PPT Presentation

COMPGV07 / M076 - Virtual Environments - Systems Simon Julier Department of Computer Science, UCL S.Julier@cs.ucl.ac.uk http://www.cs.ucl.ac.uk/teaching/VE Structure Problem Statement Representing the Environment User


  1. COMPGV07 / M076 - Virtual Environments - Systems Simon Julier Department of Computer Science, UCL S.Julier@cs.ucl.ac.uk http://www.cs.ucl.ac.uk/teaching/VE

  2. Structure • Problem Statement • Representing the Environment • User Interaction • Execution Models • XVR 2

  3. Problem Statement • Problem Statement • Representing the Environment • User Interaction • Execution Models • XVR 3

  4. Reminder User Synthetic User Environment Environment Interface Devices Mediated Medium Real 4 Environment

  5. Challenges in Developing VE Systems • Use of lots of special (and often badly made) hardware • Complex uni-modal and multi-modal interactions • Fully 3D environment • Complex manipulations of the environment • Must run in real-time • Scalable • Distributed 5

  6. Lack of Standards • However, there are almost no universally agreed software systems, standards and formats for VE • Possible reasons: – The field is still in its formative stages, and so we don’t know what the “right” answer is yet – There simply aren’t that many VE systems at the moment and nobody has thrown significant money at it – 2D isn’t that much better with many warring toolkits 6

  7. A Virtual Reality Platform User Application Virtual Environment Platform Base Operating System 7

  8. Inside the Platform Graphics Rendering User Application External Graphics Databases Scene-Graph Audio Master Audio Rendering Environment Scene-Graph Interaction Processing Haptic Input Devices Scene-Graph Haptic Rendering Network 8

  9. Different Components Are Very Different • Video (N copies – for stereo and multiple screens) – Maintain copy of visual state – Render as fast as possible (~60Hz) – Synchronise with other renders • Audio – Maintain copy of audio state – Render without glitches (requires fast interrupt) • Haptics – Maintain copy of haptic data Render as fast as possible (~1000Hz) 9

  10. Responsiveness Means Spaghetti Graphics Rendering User Application External Graphics Databases Scene-Graph Audio Master Audio Rendering Environment Scene-Graph Interaction Processing Haptic Input Devices Scene-Graph Haptic Rendering 10

  11. Complicated, Coordinated System 11

  12. The Execution Model Graphics Rendering User Application External Graphics Databases Scene-Graph Audio Master Audio Rendering Environment Scene-Graph Interaction Processing Haptic Input Devices Scene-Graph Haptic Rendering Execution Model Network 12

  13. Covered in This Lecture Graphics Rendering User Application External Graphics Databases Scene-Graph Audio Master Audio Rendering Environment Scene-Graph Interaction Processing Haptic Input Devices Scene-Graph Haptic Rendering Execution Model Network 13

  14. Representing the Environment • Problem Statement • Representing the Environment • User Interaction • Execution Models • XVR 14

  15. Reminder: What is the Environment Made Of? • Geometry defines the space Geometry: Contents: Actors and Dimensions, • Contents is data Objects Metrics and Extent • Dynamics is code or rules to change content Dynamics: • The closest thing to a Interaction Rules Environment “Virtual Environments and standard is DIS Environmental Instruments”, S. Ellis, 1996

  16. Motivation for DIS (SIMNET) • Born out of needs for large- scale military simulations: – Hundreds of different types of entities – Dozens of servers scattered throughout the world – Real-time – Man-in-the-loop • Complicated environments • Complicated interactions 16

  17. DIS Environmental Model • World modelled as a set of entities (=objects) – All entity locations available to all entities – All entities can serve as actors – All interactions between entities via events – Networking achieved using a mix of approaches: To be } • Ground truth information discussed in • State change information the networking • Dead reckoning lecture • Entities and events are described by their Protocol Data Units (PDUs) 17

  18. Representing Entities with DIS IEEE Standards 1278.1-1995 & 1278.1a-1998 18

  19. Representing the Environment with DIS • Environments are considered to be object states which aren’t associated with a specific entity • Environmental states can come in several flavours: – Gridded data (e.g., terrain) – Point objects (e.g., trees) – Linear objects (e.g., roads) – Area objects (e.g., bogs) • Although this is a well-defined standard, only a few military simulators use it 19

  20. Reminder: What is the Environment Made Of? Geometry: Contents: Dimensions, Actors and Metrics and Objects Extent Dynamics: Interaction Rules Environment “Virtual Environments and Environmental Instruments”, S. Ellis, 1996

  21. Geometry • Defines the “space” that the virtual environment is embedded within • It contains: – Dimensionality: The degree of freedom of the position vector – Metric: The basic mathematical rules for defining order, distance, etc. – Extent: The range of possible values of the position vector 21

  22. Describing Environment Geometry • The environment geometry can be in many forms: – Euclidean: simple (x, y, z); suitable for many applications 22

  23. Cartesian Representations of Differing Extents 23

  24. Describing Environment Geometry • The environment geometry can be in many forms: – Euclidean: simple (x, y, z); suitable for many applications – Locally linear: e.g., tangent planes for simulation over Earth’s surface – Nonlinear: can define arbitrary relationships between parts of environment • An interesting example is a locale 24

  25. Diamond Park • Mitsubishi Research Labs wanted to create a multi-user, collaborative environment in 1995 • Decentralised, scalable interaction is key • They solved this by partitioning the world into a set of locales 25

  26. Locales • Environment is decomposed into a set of locales: – Bounded regions of space – Regions can overlap one another – Transitions through portals • Each object lies in a single locale • Activities within one locale are not transmitted to objects in another locale 26

  27. Simple Locales: Disjoint Spaces Locale 1 Locale 2 Locale 3 27

  28. Complicated Locales: Overlapping Spaces Locale 2 Locale 3 Locale 1 28

  29. Contents • The environment is populated by objects and actors • Objects – Discrete and identifiable – Described by property vectors • Actors are objects that initiate interactions • The self is a special kind of actor with a point-of-view 29

  30. Describing Content Geometry • Objects need to have a description in physical space • Implicit or assumed to be 3D Cartesian coordinates with a 1m unit scale usually • Described in two steps: – Describe the basic form of the environment • 3D models, usually polygonal, there are standards for this – Add properties to objects • Visual properties: colour, texture, shading, … • Sound properties: sources, reflectivity, … • Material properties: weight, elasticity, … • Semantic properties: (name, role, age, …) • No standards for this • Often implemented using a scene-graph 30

  31. Graphs • A graph consists of vertices and edges • Vertices define the “state” information • Edges define “relationships” • Scene-graphs are directed and acyclic Arbitrary graph 31

  32. Graphs • A graph consists of vertices and edges • Vertices define the “state” information • Edges define “relationships” • Scene-graphs are directed and acyclic Directed graph 32

  33. Graphs • A graph consists of vertices and edges • Vertices define the “state” information • Edges define “relationships” • Scene-graphs are directed and acyclic Directed acyclic graph 33

  34. Graphs • A graph consists of vertices and edges • Vertices define the “state” information • Edges define “relationships” • Scene-graphs are directed and acyclic Directed acyclic graph Arbitrary graph Directed graph 34

  35. Scene-graphs Root node • In a scene-graph, vertices are often called nodes Group nodes – Store state information – Can include arbitrary property information • All graphs have a root node which defines the base of the Leaf nodes tree • All other nodes divided into two types: – Group nodes – Leaf Nodes 35

  36. Group Nodes • Group nodes have multiple nodes as children – Child nodes can be other group nodes or leaf nodes • Applies common state information to multiple objects – State information propagates down the graph • Examples include: – Transformations – Switch nodes – Effects • Bump mapping, scribing, specular highlights 36

  37. Examples (OpenSceneGraph) Anisotropic Lighting Bumpmapping Cartoon Scribing 37

  38. Leaf Nodes • Leaf nodes cannot have children • State information relates to the appearance of specific objects • Examples include: – Geode • Container of drawable objects such as shapes and text – Imagery – Impostors 38

  39. Examples (OpenSceneGraph) Billboards Impostors 39

  40. Example Haptic Scene-Graph 40

Recommend


More recommend