Virtual Environments: System Architectures

Size: px
Start display at page:

Download "Virtual Environments: System Architectures"

Transcription

1 Virtual Environments: System Architectures Anthony Steed Simon Julier Department of Computer Science University College London

2 Outline Problem Statement Representing the Environment User dynamics Execution Models

3 Problem Statement Problem Statement Representing the Environment User dynamics Execution Models

4 Reminder - VE is an Immersive, Mediated Communication Medium User User Environment Synthetic Environment Interface Devices Mediated Medium Real Environment

5 Key Requirements of Systems Speed of update Especially in rendering and haptics Latency Time from tracker update to display change should be as short as possible (ideally <75ms) Consistency Environment state should be consistent with input Expressivenees Environment should respond to a range of user input

6 Modules and Responsibilities External Databases Graphics Scene-Graph Graphics Rendering Interaction Processing Master Environment Audio Scene-Graph Audio Rendering Input Devices Haptic Scene-Graph Network Haptic Rendering

7 Different Display Modes Have Different Requirements 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)

8 Representing the Environment Problem Statement Representing the Environment Dynamics Execution Models

9 Environment Environment is a broad term, but what is it we are actually modelling? Something that can be rendered and interacted with such that We utilize capabilities of display system Maximize the opportunity for interaction Ellis states that VEs have 3 main components: Content Geometry Dynamics

10 Contents Environment is made up of discrete items known as 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

11 Representing the Contents Unfortunately little agreement about conventions, schema, specifications for describing environments Relates to issues about defining and using ontologies Standards where they exist usually focus on visual representation Possibility that some standards will emerge Well-known example is the Distributed Interactive Simulation (DIS) Entity Model

12 Motivation for DIS (SIMNET) Born out of needs for largescale 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

13 DIS Environmental Model World modelled as a set of entities 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: Ground truth information State change information Dead reckoning } To be discussed in Week ~11 Entities and events are described by their Protocol Data Units (PDUs)

14 Representing Entities with DIS IEEE Standards & a-1998

15 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)

16 Geometry Description of the environmental field of action 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 Defines the space where the environment is described

17 Describing Environment Geometry Typically Euclidean simple (x, y, z); suitable for many applications However not that straight forward Euclidean not that useful for describing geometry on spheroids (e.g. planets) Use a locally linear model (i.e. on a tangent plane) Not terribly useful in large-scale collaborative environments (everyone wants to be at (0,0,0)) Use a differential geometry model (i.e. everyone sets their own coordinates and connections between models have relative transforms)

18 Describing Object 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 (VRML, DXF, OBJ) 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

19 Graphs A graph consists of vertices and edges Vertices define the state information Edges define relationships Scene-graphs are directed and acyclic Arbitrary graph

20 Graphs A graph consists of vertices and edges Vertices define the state information Edges define relationships Scene-graphs are directed and acyclic Directed graph

21 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

22 Graphs A graph consists of vertices and edges Vertices define the state information Edges define relationships Scene-graphs are directed and acyclic Directed Arbitrary Directed acyclic graph graph

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

24 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

25 Examples (OpenSceneGraph) Anisotropic Lighting Bumpmapping Cartoon Scribing

26 Leaf Nodes Leaf nodes cannot have children State information relates to the appearance of specific objects Examples include: Geometry Image based rendering Billboards Impostors

27 Examples (OpenSceneGraph) Impostors Billboards

28 Dynamics These are the rules of interaction between the contents These can be: Differential equations of Newtonian dynamics to describe kinematic and dynamic relationships Grammatical rules for pattern-matched triggered actions Many different ways of doing this from imposing numerical approximations to Newtonian physics, through to plain old C++ / Java / XVR coding

29 Implementing Dynamics as Standalone Processes Dynamics implemented as separate processes / threads Can change state of the graph in arbitrary ways Change values of nodes Add / remove nodes Dynamics

30 Implementing Dynamics Within the Scene-Graph Fairly autonomous dynamics can be achieved by embedding dynamics within the scenegraph Animations are group nodes which apply state changes to their children Examples include: Animation paths Particle systems Animation Node Animated nodes

31 Example Animation and Particle System

32 Generalised Dynamics: Application Nodes Pre-defined behaviours allow lots of effects but are autonomous Script nodes (e.g., in VRML) can be used to generalise behaviour Most extreme example are application nodes: Entire VR application is written as a group node in the scenegraph Application contains certain resources (e.g., viewport to display graphics) Application owns and manages all of the nodes beneath it Unifies application and environment state Capabilities include: Multiple applications in same environment Load balancing Dynamic workgroup management

33 User Dynamics Problem Statement Representing the Environment User dynamics Execution Models

34 Managing Data from Input Devices So far we ve talked about objects and actors However, the user actively participates in the environment as a type of actor The way the user interfaces with the system is through the input devices

35 Complexity of Input Devices VR systems present unique challenges to the design of user interfaces: 6 degrees of freedom Many types of interactions Lots of different configurations of devices available No agreed standards on what is the right way to navigate / interact with the environment One means of capturing the flexibility is to use a dataflow model

36 Data Flow Model Source 3 Source 1 Source 2 Port 1 Port 2 Output Filter Filter Sink Processing consists of a series of filters Each filter has multiple input ports and a single output port Outputs from one filter can be treated as inputs to other filters Information sources are raw source of information (e.g., devices) Information sinks are final destination (e.g., applications) OpenTracker

37 Example Hybrid System Combines 2D tracker (blue) with 3D vision-based tracker (black square is fiducial marker)

38 Execution Models Problem Statement Representing the Environment User dynamics Execution Models

39 Execution Model Ties Everything Together So far we we ve talked about a disparate set of systems: A master environment Separate representations for different output modes User interfaces for controlling the environment The execution model glues all these parts together Closely related to distributed systems as well

40 Execution Models Tying Things Together Example: The position on an object is changed The update needs to be reflected in: The master database The different scenegraphs Over the network (if connected) How can all of this be coordinated? Two main models: Kernel model Actor/object model (events)

41 Simplified Kernel Model Treats a VR application like a traditional graphical application: while(true) { read_trackers(); set_body_position(); do_animation(); render_left_eye();render_right_eye(); render_sound(); poll_trackers(); } In practice, it s never as simple as this

42 Kernel Model for VRJuggler Kernel: Application Runtime App: Initialization App: Frame Functions Draw Manager Gadgeteer: Device Update Kernel: System Reconfig

43 Pros / Cons of the Kernel Model Advantages: Simple to understand Application programmer keeps their own data structures (no need for a scene-graph) Disadvantages: Implementation needs care because of different update rates Usually requires some awareness of parallel programming issues Lots of complexity ends up in the do_animation()method XVR addresses some of these issues through its threading / event model

44 XVR Threading Model

45 Actor Model Virtual environment is realised by a set of collaborating asynchronous processes (actors) Actors send messages to one another Processes share a common database Database typically organised around a scenegraph Audio Speech Application Database Video1 Tracking Video2 Collision

46 Setting Object State Using in the Actor Model Setting the object state is often achieved using the subject-observer design pattern The object in the database is the subject Different renderers / networking systems are the observers When the subject s state is updated, the observers are automatically notified

47 Pros / Cons of the Actor Model Advantages: Application program does not care about distribution / what rendering systems used Update rates and parallel processing issues handled by mutexes and buffering event objects Complex chains of events can be implemented Disadvantages: Difficult to understand Difficult to code Can lead to strange cyclic dependency effects

48 Summary Representing the environment is difficult The representation has to be rich enough to capture the contents, geometry and dynamics Each display mode requires its own form of the environment to optimise the display Want to make content as rich as possible to support dynamic models Otherwise behaviour is expressed only in code. At run-time there are logically concurrent processes (rendering, collision, audio etc ) Execution models need to reflect this concurrency

Graphics for VEs. Ruth Aylett

Graphics for VEs. Ruth Aylett Graphics for VEs Ruth Aylett Overview VE Software Graphics for VEs The graphics pipeline Projections Lighting Shading Runtime VR systems Two major parts: initialisation and update loop. Initialisation

More information

Graphics for VEs. Ruth Aylett

Graphics for VEs. Ruth Aylett Graphics for VEs Ruth Aylett Overview VE Software Graphics for VEs The graphics pipeline Projections Lighting Shading VR software Two main types of software used: off-line authoring or modelling packages

More information

Adaptive Point Cloud Rendering

Adaptive Point Cloud Rendering 1 Adaptive Point Cloud Rendering Project Plan Final Group: May13-11 Christopher Jeffers Eric Jensen Joel Rausch Client: Siemens PLM Software Client Contact: Michael Carter Adviser: Simanta Mitra 4/29/13

More information

Robot Motion Planning

Robot Motion Planning Robot Motion Planning James Bruce Computer Science Department Carnegie Mellon University April 7, 2004 Agent Planning An agent is a situated entity which can choose and execute actions within in an environment.

More information

Rendering and Radiosity. Introduction to Design Media Lecture 4 John Lee

Rendering and Radiosity. Introduction to Design Media Lecture 4 John Lee Rendering and Radiosity Introduction to Design Media Lecture 4 John Lee Overview Rendering is the process that creates an image from a model How is it done? How has it been developed? What are the issues

More information

Graphics and Interaction Rendering pipeline & object modelling

Graphics and Interaction Rendering pipeline & object modelling 433-324 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Lecture outline Introduction to Modelling Polygonal geometry The rendering

More information

High Level Graphics Programming & VR System Architecture

High Level Graphics Programming & VR System Architecture High Level Graphics Programming & VR System Architecture Hannes Interactive Media Systems Group (IMS) Institute of Software Technology and Interactive Systems Based on material by Dieter Schmalstieg VR

More information

Chapter 17: The Truth about Normals

Chapter 17: The Truth about Normals Chapter 17: The Truth about Normals What are Normals? When I first started with Blender I read about normals everywhere, but all I knew about them was: If there are weird black spots on your object, go

More information

Hybrid Rendering for Collaborative, Immersive Virtual Environments

Hybrid Rendering for Collaborative, Immersive Virtual Environments Hybrid Rendering for Collaborative, Immersive Virtual Environments Stephan Würmlin wuermlin@inf.ethz.ch Outline! Rendering techniques GBR, IBR and HR! From images to models! Novel view generation! Putting

More information

WHAT IS BFA NEW MEDIA?

WHAT IS BFA NEW MEDIA? VISUAL & TYPE WEB & INTERACTIVE MOTION GRAPHICS DIGITAL IMAGING VIDEO DIGITAL PHOTO VECTOR DRAWING AUDIO To learn more and see three years of our best student work, please visit: webdesignnewmedia.com

More information

Modelling. Ruth Aylett

Modelling. Ruth Aylett Modelling Ruth Aylett Overview Basic issues Modelling packages Low polygon modelling Importing models Buildings Photogrammetry Laser range finders LIDAR The great outdoors Cheap methods 3D Authoring tools

More information

Engineering Real- Time Applications with Wild Magic

Engineering Real- Time Applications with Wild Magic 3D GAME ENGINE ARCHITECTURE Engineering Real- Time Applications with Wild Magic DAVID H. EBERLY Geometric Tools, Inc. AMSTERDAM BOSTON HEIDELRERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE

More information

Simultaneous Localization and Mapping (SLAM)

Simultaneous Localization and Mapping (SLAM) Simultaneous Localization and Mapping (SLAM) RSS Lecture 16 April 8, 2013 Prof. Teller Text: Siegwart and Nourbakhsh S. 5.8 SLAM Problem Statement Inputs: No external coordinate reference Time series of

More information

COMP30019 Graphics and Interaction Rendering pipeline & object modelling

COMP30019 Graphics and Interaction Rendering pipeline & object modelling COMP30019 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Lecture outline Introduction to Modelling Polygonal geometry The rendering

More information

Lecture outline. COMP30019 Graphics and Interaction Rendering pipeline & object modelling. Introduction to modelling

Lecture outline. COMP30019 Graphics and Interaction Rendering pipeline & object modelling. Introduction to modelling Lecture outline COMP30019 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Introduction to Modelling Polygonal geometry The rendering

More information

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

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models 3D Programming Concepts Outline 3D Concepts Displaying 3D Models 3D Programming CS 4390 3D Computer 1 2 3D Concepts 3D Model is a 3D simulation of an object. Coordinate Systems 3D Models 3D Shapes 3D Concepts

More information

Simultaneous Localization

Simultaneous Localization Simultaneous Localization and Mapping (SLAM) RSS Technical Lecture 16 April 9, 2012 Prof. Teller Text: Siegwart and Nourbakhsh S. 5.8 Navigation Overview Where am I? Where am I going? Localization Assumed

More information

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

Introduction to Virtual Environments - Spring Wernert/Arns. Lecture 4.2 Animation & Interaction Introduction to Virtual Environments - Spring 2004 - Wernert/Arns Lecture 4.2 Animation & Interaction Outline 1. Animation Techniques & Concepts 2. Input & Event Concepts 3. Implementation Details 0. Resources

More information

Principles of Computer Game Design and Implementation. Revision Lecture

Principles of Computer Game Design and Implementation. Revision Lecture Principles of Computer Game Design and Implementation Revision Lecture Introduction Brief history; game genres Game structure A series of interesting choices Series of convexities Variable difficulty increase

More information

W4. Perception & Situation Awareness & Decision making

W4. Perception & Situation Awareness & Decision making W4. Perception & Situation Awareness & Decision making Robot Perception for Dynamic environments: Outline & DP-Grids concept Dynamic Probabilistic Grids Bayesian Occupancy Filter concept Dynamic Probabilistic

More information

Lecture VI: Constraints and Controllers. Parts Based on Erin Catto s Box2D Tutorial

Lecture VI: Constraints and Controllers. Parts Based on Erin Catto s Box2D Tutorial Lecture VI: Constraints and Controllers Parts Based on Erin Catto s Box2D Tutorial Motion Constraints In practice, no rigid body is free to move around on its own. Movement is constrained: wheels on a

More information

CS 4620 Program 3: Pipeline

CS 4620 Program 3: Pipeline CS 4620 Program 3: Pipeline out: Wednesday 14 October 2009 due: Friday 30 October 2009 1 Introduction In this assignment, you will implement several types of shading in a simple software graphics pipeline.

More information

Computer Graphics Introduction. Taku Komura

Computer Graphics Introduction. Taku Komura Computer Graphics Introduction Taku Komura What s this course all about? We will cover Graphics programming and algorithms Graphics data structures Applied geometry, modeling and rendering Not covering

More information

ArcGIS Runtime: Maximizing Performance of Your Apps. Will Jarvis and Ralf Gottschalk

ArcGIS Runtime: Maximizing Performance of Your Apps. Will Jarvis and Ralf Gottschalk ArcGIS Runtime: Maximizing Performance of Your Apps Will Jarvis and Ralf Gottschalk Agenda ArcGIS Runtime Version 100.0 Architecture How do we measure performance? We will use our internal Runtime Core

More information

SALTO GRAPHICAL MAPPING MANUAL. Version 1.0

SALTO GRAPHICAL MAPPING MANUAL. Version 1.0 SALTO GRAPHICAL MAPPING MANUAL Version 1.0 Historic of changes Version Status Date Author Change description 1.0 Official 28/11/2012 Aitor Apalategi First version of the manual 2 INDEX 1. Introduction...

More information

Pseudo-Immersive Real-Time Display of 3D Scenes on Mobile Devices. Ming Li, Arne Schmitz, Leif Kobbelt AACHEN. Computer Graphics Group Ming Li

Pseudo-Immersive Real-Time Display of 3D Scenes on Mobile Devices. Ming Li, Arne Schmitz, Leif Kobbelt AACHEN. Computer Graphics Group Ming Li Pseudo-Immersive Real-Time Display of 3D Scenes on Mobile Devices, Arne Schmitz, Leif Kobbelt Motivation Motivation 3D Scene Geometries Textures and materials Shading effects Motivation 3D Scene Geometries

More information

Demoscene and Maths. Presentation by Konstantinos Pataridis aka Navis/ASD University of Oxford August 2006

Demoscene and Maths. Presentation by Konstantinos Pataridis aka Navis/ASD University of Oxford August 2006 Demoscene and Maths Presentation by Konstantinos Pataridis aka Navis/ASD University of Oxford August 2006 Demos are a challenge: There is no strict definition of a demo, in the broad sense it is a blend

More information

Modelling. Ruth Aylett

Modelling. Ruth Aylett Modelling Ruth Aylett Overview Basic issues Modelling packages Low polygon modelling Importing models Buildings Photogrammetry Laser range finders LIDAR The great outdoors Cheap methods 3D Authoring tools

More information

3/1/2010. Acceleration Techniques V1.2. Goals. Overview. Based on slides from Celine Loscos (v1.0)

3/1/2010. Acceleration Techniques V1.2. Goals. Overview. Based on slides from Celine Loscos (v1.0) Acceleration Techniques V1.2 Anthony Steed Based on slides from Celine Loscos (v1.0) Goals Although processor can now deal with many polygons (millions), the size of the models for application keeps on

More information

AN ENTITY-COMPONENT SYSTEM IN C++ AND QT - JAMES TURNER QT3D S ECS

AN ENTITY-COMPONENT SYSTEM IN C++ AND QT - JAMES TURNER QT3D S ECS AN ENTITY-COMPONENT SYSTEM IN C++ AND QT - JAMES TURNER QT3D S ECS INTRODUCTION JAMES TURNER C++ and OpenGL developer Consultant in Qt for ten years, currently at KDAB Maintainer of open-source FlightGear

More information

CHAPTER 1 Graphics Systems and Models 3

CHAPTER 1 Graphics Systems and Models 3 ?????? 1 CHAPTER 1 Graphics Systems and Models 3 1.1 Applications of Computer Graphics 4 1.1.1 Display of Information............. 4 1.1.2 Design.................... 5 1.1.3 Simulation and Animation...........

More information

Networked Virtual Environments

Networked Virtual Environments Special Course on Networked Virtual Jouni Smed Turku Centre for Computer Science (TUCS) Department of Information Technology, University of Turku 2004 Course Syllabus credits: 2 cu prerequisites: knowledge

More information

Debugging Applications in Pervasive Computing

Debugging Applications in Pervasive Computing Debugging Applications in Pervasive Computing Larry May 1, 2006 SMA 5508; MIT 6.883 1 Outline Video of Speech Controlled Animation Survey of approaches to debugging Turning bugs into features Speech recognition

More information

8.3 Networked Application. History and Evolution. U.S. Department of Defense (DoD) SIMNET NSA. i. Object-Event Architecture

8.3 Networked Application. History and Evolution. U.S. Department of Defense (DoD) SIMNET NSA. i. Object-Event Architecture 8.3 Networked Application Department of Defense (DoD) SIMNET Distributed Interactive Simulation (DIS) High-Level Architecture (HLA) Academic NVEs PARADISE DIVE BrickNet other academic projects Networked

More information

April 9, 2000 DIS chapter 1

April 9, 2000 DIS chapter 1 April 9, 2000 DIS chapter 1 GEINTEGREERDE SYSTEMEN VOOR DIGITALE SIGNAALVERWERKING: ONTWERPCONCEPTEN EN ARCHITECTUURCOMPONENTEN INTEGRATED SYSTEMS FOR REAL- TIME DIGITAL SIGNAL PROCESSING: DESIGN CONCEPTS

More information

Dense Tracking and Mapping for Autonomous Quadrocopters. Jürgen Sturm

Dense Tracking and Mapping for Autonomous Quadrocopters. Jürgen Sturm Computer Vision Group Prof. Daniel Cremers Dense Tracking and Mapping for Autonomous Quadrocopters Jürgen Sturm Joint work with Frank Steinbrücker, Jakob Engel, Christian Kerl, Erik Bylow, and Daniel Cremers

More information

Overview. Modelling. 3D Authoring tools. Other VR Software Tools. 3D Modelling Tools. 3D Studio Max. Ruth Aylett

Overview. Modelling. 3D Authoring tools. Other VR Software Tools. 3D Modelling Tools. 3D Studio Max. Ruth Aylett Modelling Ruth Aylett Overview Basic issues Modelling packages Low polygon modelling Importing models City modelling Photogrammetry Laser range finders LIDAR The great outdoors Trees, plants, water etc

More information

Advanced Real- Time Cel Shading Techniques in OpenGL Adam Hutchins Sean Kim

Advanced Real- Time Cel Shading Techniques in OpenGL Adam Hutchins Sean Kim Advanced Real- Time Cel Shading Techniques in OpenGL Adam Hutchins Sean Kim Cel shading, also known as toon shading, is a non- photorealistic rending technique that has been used in many animations and

More information

What s New in DI-Guy 12.5

What s New in DI-Guy 12.5 What s New in DI-Guy 12.5 DI-Guy 12.5.0 March 2013 What s New in DI-Guy 12.5 NEW ADAPTIVE GUIDE MORE VISUAL VARIATION DYNAMIC STANDING Boston Dynamics 78 Fourth Avenue Waltham, MA 02451 USA 617.868.5600

More information

Lecture VI: Constraints and Controllers

Lecture VI: Constraints and Controllers Lecture VI: Constraints and Controllers Motion Constraints In practice, no rigid body is free to move around on its own. Movement is constrained: wheels on a chair human body parts trigger of a gun opening

More information

Part 17: Networking Technology for Virtual Environments

Part 17: Networking Technology for Virtual Environments Part 17: Networking Technology for Virtual Environments Virtuelle Realität Wintersemester 2006/07 Prof. Bernhard Jung Overview Introduction Data transfer Communication architectures Managing dynamic shared

More information

Dr. Pierre-Frédéric Villard Research Associate

Dr. Pierre-Frédéric Villard Research Associate Advanced Computer Graphics and Visualization Lecture 15 Dr. Pierre-Frédéric Villard Research Associate email: p.villard@ @ imperial. ac. uk,, St Mary s s campus Division of Surgery, Oncology, Reproductive

More information

Real-Time Non- Photorealistic Rendering

Real-Time Non- Photorealistic Rendering Real-Time Non- Photorealistic Rendering Presented by: Qing Hu LIAO SOCS, McGill Feb 1, 2005 Index Introduction Motivation Appel s Algorithm Improving Schema Rendering Result Economy of line A great deal

More information

CS GAME PROGRAMMING Question bank

CS GAME PROGRAMMING Question bank CS6006 - GAME PROGRAMMING Question bank Part A Unit I 1. List the different types of coordinate systems. 2. What is ray tracing? Mention some applications of ray tracing. 3. Discuss the stages involved

More information

Digital Sound Ming C. Lin & Zhimin Ren

Digital Sound Ming C. Lin & Zhimin Ren Digital Sound Ming C. Lin & Zhimin Ren Department of Computer Science University of North Carolina http://gamma.cs.unc.edu/sound How can it be done? Foley artists manually make and record the sound from

More information

Java2D/Java3D Graphics

Java2D/Java3D Graphics Java2D/Java3D Graphics Sandro Spina Computer Graphics and Simulation Group Computer Science Department University of Malta 1 Abstraction in Software Engineering We shall be looking at how abstraction is

More information

V-Sentinel: A Novel Framework for Situational Awareness and Surveillance

V-Sentinel: A Novel Framework for Situational Awareness and Surveillance V-Sentinel: A Novel Framework for Situational Awareness and Surveillance Suya You Integrated Media Systems Center Computer Science Department University of Southern California March 2005 1 Objective Developing

More information

Let s start with occluding contours (or interior and exterior silhouettes), and look at image-space algorithms. A very simple technique is to render

Let s start with occluding contours (or interior and exterior silhouettes), and look at image-space algorithms. A very simple technique is to render 1 There are two major classes of algorithms for extracting most kinds of lines from 3D meshes. First, there are image-space algorithms that render something (such as a depth map or cosine-shaded model),

More information

Graphics Hardware and Display Devices

Graphics Hardware and Display Devices Graphics Hardware and Display Devices CSE328 Lectures Graphics/Visualization Hardware Many graphics/visualization algorithms can be implemented efficiently and inexpensively in hardware Facilitates interactive

More information

Rendering: Reality. Eye acts as pinhole camera. Photons from light hit objects

Rendering: Reality. Eye acts as pinhole camera. Photons from light hit objects Basic Ray Tracing Rendering: Reality Eye acts as pinhole camera Photons from light hit objects Rendering: Reality Eye acts as pinhole camera Photons from light hit objects Rendering: Reality Eye acts as

More information

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic Exercise Unit 2: Modeling Paradigms - RT-UML UML: The Unified Modeling Language Statecharts RT-UML in AnyLogic Simulation and Modeling I Modeling with RT-UML 1 RT-UML: UML Unified Modeling Language a mix

More information

Linear Algebra Part I - Linear Spaces

Linear Algebra Part I - Linear Spaces Linear Algebra Part I - Linear Spaces Simon Julier Department of Computer Science, UCL S.Julier@cs.ucl.ac.uk http://moodle.ucl.ac.uk/course/view.php?id=11547 GV01 - Mathematical Methods, Algorithms and

More information

Real-Time Rendering. Tomas Möller Eric Haines. A K Peters Natick, Massachusetts

Real-Time Rendering. Tomas Möller Eric Haines. A K Peters Natick, Massachusetts Real-Time Rendering Tomas Möller Eric Haines n A K Peters Natick, Massachusetts Contents Preface 1 Introduction 1 1.1 Contents Overview 2 1.2 Notation and Definitions 3 1.2.1 Mathematical Notation 3 1.2.2

More information

Consistency [Delaney et al., 2006] Responsiveness. Distributed Virtual Environments. Outline. Network Architecture. Outline 12/12/2013

Consistency [Delaney et al., 2006] Responsiveness. Distributed Virtual Environments. Outline. Network Architecture. Outline 12/12/2013 Introduction Groupware and Collaborative Interaction Distributed Interactive Systems Technical aspects M2R Interaction -Université Paris-Sud -Année 2013-2014 Cédric Fleury (cedric.fleury@lri.fr) Technical

More information

Visibility optimizations

Visibility optimizations SEME OPTIS Semaine d'étude Maths-Entreprises avec OPTIS Visibility optimizations OPTIS Current context Optimizations needs SEME State of the art 2D experimentations / software resolutions 3D prototypes

More information

ENGINEERING PROGRAMME

ENGINEERING PROGRAMME ENGINEERING PROGRAMME SPECIALISATION VIRTUAL REALITY Établissement public sous tutelle du ministère de l Enseignement supérieur, de la Recherche et de l Innovation École Centrale de Nantes 1 rue de la

More information

Lecture 25: Board Notes: Threads and GPUs

Lecture 25: Board Notes: Threads and GPUs Lecture 25: Board Notes: Threads and GPUs Announcements: - Reminder: HW 7 due today - Reminder: Submit project idea via (plain text) email by 11/24 Recap: - Slide 4: Lecture 23: Introduction to Parallel

More information

Animation & Rendering

Animation & Rendering 7M836 Animation & Rendering Introduction, color, raster graphics, modeling, transformations Arjan Kok, Kees Huizing, Huub van de Wetering h.v.d.wetering@tue.nl 1 Purpose Understand 3D computer graphics

More information

Collision Experimental Data

Collision Experimental Data Hybrid Rendering System for Particle Collision Experimental Data Visualization Ciril Bohak ciril.bohak@fri.uni-lj.si lgm.fri.uni-lj.si Naples March 2018 Content Background; Problem Domains; Possible solutions;

More information

Shape Modeling with Point-Sampled Geometry

Shape Modeling with Point-Sampled Geometry Shape Modeling with Point-Sampled Geometry Mark Pauly Richard Keiser Leif Kobbelt Markus Gross ETH Zürich ETH Zürich RWTH Aachen ETH Zürich Motivation Surface representations Explicit surfaces (B-reps)

More information

Introduction to UML What is UML? Motivations for UML Types of UML diagrams UML syntax Descriptions of the various diagram types Rational Rose (IBM.. M

Introduction to UML What is UML? Motivations for UML Types of UML diagrams UML syntax Descriptions of the various diagram types Rational Rose (IBM.. M Introduction to UML Part I 1 What is UML? Unified Modeling Language, a standard language for designing and documenting a system in an object- oriented manner. It s a language by which technical architects

More information

IAT 445 Lab 10. Special Topics in Unity. Lanz Singbeil

IAT 445 Lab 10. Special Topics in Unity. Lanz Singbeil IAT 445 Lab 10 Special Topics in Unity Special Topics in Unity We ll be briefly going over the following concepts. They are covered in more detail in your Watkins textbook: Setting up Fog Effects and a

More information

Ray Tracing Acceleration Data Structures

Ray Tracing Acceleration Data Structures Ray Tracing Acceleration Data Structures Sumair Ahmed October 29, 2009 Ray Tracing is very time-consuming because of the ray-object intersection calculations. With the brute force method, each ray has

More information

CPSC / Sonny Chan - University of Calgary. Collision Detection II

CPSC / Sonny Chan - University of Calgary. Collision Detection II CPSC 599.86 / 601.86 Sonny Chan - University of Calgary Collision Detection II Outline Broad phase collision detection: - Problem definition and motivation - Bounding volume hierarchies - Spatial partitioning

More information

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology Point Cloud Filtering using Ray Casting by Eric Jensen 01 The Basic Methodology Ray tracing in standard graphics study is a method of following the path of a photon from the light source to the camera,

More information

critical theory Computer Science

critical theory Computer Science Art/Science Shading, Materials, Collaboration Textures Example title Artists In the recommend real world, two the main following: factors determine the appearance of a surface: basic understanding what

More information

Beginning Direct3D Game Programming: 1. The History of Direct3D Graphics

Beginning Direct3D Game Programming: 1. The History of Direct3D Graphics Beginning Direct3D Game Programming: 1. The History of Direct3D Graphics jintaeks@gmail.com Division of Digital Contents, DongSeo University. April 2016 Long time ago Before Windows, DOS was the most popular

More information

11/1/2011. Real world issues, Specification, A useful tool, VE applications, Serious gaming, Functions, Advanced disasters, Examples

11/1/2011. Real world issues, Specification, A useful tool, VE applications, Serious gaming, Functions, Advanced disasters, Examples Real world issues, Specification, A useful tool, VE applications, Serious gaming, Functions, Advanced disasters, Examples Interactive Immersion Group IIG Stéphane Gobron 2011 Contents s Entertainment Movie

More information

Shading. Why we need shading. Scattering. Shading. Objectives

Shading. Why we need shading. Scattering. Shading. Objectives Shading Why we need shading Objectives Learn to shade objects so their images appear three-dimensional Suppose we build a model of a sphere using many polygons and color it with glcolor. We get something

More information

Libraries for Computer Graphics. Introduction to VRT. Scene-graph libraries. Libraries for computer graphics. Scene-graph libraries (cont.

Libraries for Computer Graphics. Introduction to VRT. Scene-graph libraries. Libraries for computer graphics. Scene-graph libraries (cont. Libraries for Computer Graphics Introduction to VRT HT2004 Mikael Erlandsson mikael.erlandsson@hci.uu.se Application CG-Library OpenGL Hardware What functionality should be provided? Which data structures

More information

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

Introduction to X3D. Roberto Ranon HCI Lab University of Udine, Italy 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)

More information

Architectural Styles I

Architectural Styles I Architectural Styles I Software Architecture VO/KU (707023/707024) Roman Kern KTI, TU Graz 2015-01-07 Roman Kern (KTI, TU Graz) Architectural Styles I 2015-01-07 1 / 86 Outline 1 Non-Functional Concepts

More information

Introduction to VRT. Interactive Graphical Systems HT2007. Lars Pettersson. Interactive Graphical Systems

Introduction to VRT. Interactive Graphical Systems HT2007. Lars Pettersson. Interactive Graphical Systems Introduction to VRT Interactive Graphical Systems HT2007 Lars Pettersson lwp@it.uu.se Interactive Graphical Systems Implementation levels Application Scene Graph lib. Computer Graphics lib. Hardware Informationsteknologi

More information

Hierarchies and Trees 1 (Node-link) CS Information Visualization November 12, 2012 John Stasko

Hierarchies and Trees 1 (Node-link) CS Information Visualization November 12, 2012 John Stasko Topic Notes Hierarchies and Trees 1 (Node-link) CS 7450 - Information Visualization November 12, 2012 John Stasko Hierarchies Definition Data repository in which cases are related to subcases Can be thought

More information

Object-oriented development. Object-oriented Design. Objectives. Characteristics of OOD. Interacting objects. Topics covered

Object-oriented development. Object-oriented Design. Objectives. Characteristics of OOD. Interacting objects. Topics covered Object-oriented development Object-oriented Design Object-oriented analysis, design and programming are related but distinct. OOA is concerned with developing an object model of the application domain.

More information

Data Flow Languages for Immersive Virtual Environments

Data Flow Languages for Immersive Virtual Environments Chapter 1 Data Flow Languages for Immersive Virtual Environments Anthony Steed Department of Computer Science University College London > «Abstract Current immersive virtual environment (WE) systems use

More information

Maths. Formative Assessment/key piece of work prior to end of unit: Term Autumn 1

Maths. Formative Assessment/key piece of work prior to end of unit: Term Autumn 1 Term Autumn 1 3 weeks Negative numbers Multiples and factors Common factors Prime numbers Ordering decimal numbers Rounding Square numbers and square roots Prime factor decomposition LCM and HCF Square

More information

Movie: For The Birds. Announcements. Ray Tracing 1. Programming 2 Recap. Programming 3 Info Test data for part 1 (Lines) is available

Movie: For The Birds. Announcements. Ray Tracing 1. Programming 2 Recap. Programming 3 Info Test data for part 1 (Lines) is available Now Playing: Movie: For The Birds Pixar, 2000 Liar Built To Spill from You In Reverse Released April 11, 2006 Ray Tracing 1 Rick Skarbez, Instructor COMP 575 November 1, 2007 Announcements Programming

More information

Game Development for

Game Development for Game Development for Who am I? Harry Krueger Senior Programmer at Housemarque Games Lead Programmer on Resogun Presentation Flow Intro to Housemarque and Resogun Housemarque Engine and Tools Platform-specific

More information

BIG Data How to handle it. Mark Holton, College of Engineering, Swansea University,

BIG Data How to handle it. Mark Holton, College of Engineering, Swansea University, BIG Data How to handle it Mark Holton, College of Engineering, Swansea University, m.d.holton@swansea.ac.uk The usual What I m going to talk about The source of the data some tag (data loggers) history

More information

8.3 Networked Application. History and Evolution. U.S. Department of Defense (DoD) i. Object-Event. Architecture SIMNET NSA

8.3 Networked Application. History and Evolution. U.S. Department of Defense (DoD) i. Object-Event. Architecture SIMNET NSA 8.3 Networked Application Department of Defense (DoD) SIMNET Distributed Interactive Simulation (DIS) High-Level Architecture (HLA) Academic NVEs PARADISE DIVE BrickNet other academic projects Networked

More information

Evolution of Imaging Technology in Computer Graphics. Related Areas

Evolution of Imaging Technology in Computer Graphics. Related Areas Evolution of Imaging Technology in Computer Graphics Jonas Gomes Rio de Janeiro http://www.visgraf.impa.br Image computation Related Areas 1 Related Areas An integrated view Problems on the frontiers Graphical

More information

Webinar Series. Virtual Reality. February 28 th, :00 PM EST. Hosted by Jeff Bertrand and Ginny Moore

Webinar Series. Virtual Reality. February 28 th, :00 PM EST. Hosted by Jeff Bertrand and Ginny Moore Webinar Series Virtual Reality February 28 th, 2016 2:00 PM EST Hosted by Jeff Bertrand and Ginny Moore Virtual Reality Webinar Agenda Ø Application and Benefits Ø 3 Types of Virtual Reality Ø Advantages

More information

Hierarchies and Trees 1 (Node-link) CS 4460/ Information Visualization March 10, 2009 John Stasko

Hierarchies and Trees 1 (Node-link) CS 4460/ Information Visualization March 10, 2009 John Stasko Hierarchies and Trees 1 (Node-link) CS 4460/7450 - Information Visualization March 10, 2009 John Stasko Hierarchies Definition Data repository in which cases are related to subcases Can be thought of as

More information

Educational Fusion. Implementing a Production Quality User Interface With JFC

Educational Fusion. Implementing a Production Quality User Interface With JFC Educational Fusion Implementing a Production Quality User Interface With JFC Kevin Kennedy Prof. Seth Teller 6.199 May 1999 Abstract Educational Fusion is a online algorithmic teaching program implemented

More information

2D/3D Geometric Transformations and Scene Graphs

2D/3D Geometric Transformations and Scene Graphs 2D/3D Geometric Transformations and Scene Graphs Week 4 Acknowledgement: The course slides are adapted from the slides prepared by Steve Marschner of Cornell University 1 A little quick math background

More information

Why do architects need more than TOGAF?

Why do architects need more than TOGAF? Why do architects need more than TOGAF? To bridge the gap between a high-level management framework for EA and solution/implementation projects You need something like BCS professional certificates in

More information

Advanced 3D Game Programming with DirectX* 10.0

Advanced 3D Game Programming with DirectX* 10.0 Advanced 3D Game Programming with DirectX* 10.0 Peter Walsh Wordware Publishing, Inc. Acknowledgments Introduction xiii xv Chapter I Windows I A Word about Windows I Hungarian Notation 3 General Windows

More information

Chapter 1- The Blender Interface

Chapter 1- The Blender Interface Chapter 1- The Blender Interface The Blender Screen Years ago, when I first looked at Blender and read some tutorials I thought that this looked easy and made sense. After taking the program for a test

More information

Conemarching in VR. Johannes Saam Mariano Merchante FRAMESTORE. Developing a Fractal experience at 90 FPS. / Framestore

Conemarching in VR. Johannes Saam Mariano Merchante FRAMESTORE. Developing a Fractal experience at 90 FPS. / Framestore Conemarching in VR Developing a Fractal experience at 90 FPS Johannes Saam Mariano Merchante FRAMESTORE / Framestore THE CONCEPT THE CONCEPT FRACTALS AND COLLISIONS THE CONCEPT RAYMARCHING AND VR FRACTALS

More information

CTI Higher Certificate in Information Systems (Internet Development)

CTI Higher Certificate in Information Systems (Internet Development) CTI Higher Certificate in Information Systems (Internet Development) Module Descriptions 2015 1 Higher Certificate in Information Systems (Internet Development) (1 year full-time, 2½ years part-time) Computer

More information

CS4621/5621 Fall Particle Systems and Compute Shaders

CS4621/5621 Fall Particle Systems and Compute Shaders CS4621/5621 Fall 2015 Particle Systems and Compute Shaders Professor: Kavita Bala Instructor: Nicolas Savva with slides from Balazs Kovacs, Eston Schweickart, Daniel Schroeder, Jiang Huang and Pramook

More information

GUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON

GUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON Deferred Rendering in Killzone 2 Michal Valient Senior Programmer, Guerrilla Talk Outline Forward & Deferred Rendering Overview G-Buffer Layout Shader Creation Deferred Rendering in Detail Rendering Passes

More information

OpenGL Graphics System. 2D Graphics Primitives. Drawing 2D Graphics Primitives. 2D Graphics Primitives. Mathematical 2D Primitives.

OpenGL Graphics System. 2D Graphics Primitives. Drawing 2D Graphics Primitives. 2D Graphics Primitives. Mathematical 2D Primitives. D Graphics Primitives Eye sees Displays - CRT/LCD Frame buffer - Addressable pixel array (D) Graphics processor s main function is to map application model (D) by projection on to D primitives: points,

More information

Introduction to Events

Introduction to Events Facilitation Guide Introduction to Events ( http://www.alice.org/resources/lessons/introduction-to-events/ ) Summary This guide is intended to guide the facilitator through the creation of events and using

More information

Chapter 7. Conclusions and Future Work

Chapter 7. Conclusions and Future Work Chapter 7 Conclusions and Future Work In this dissertation, we have presented a new way of analyzing a basic building block in computer graphics rendering algorithms the computational interaction between

More information

Multicore DSP Software Synthesis using Partial Expansion of Dataflow Graphs

Multicore DSP Software Synthesis using Partial Expansion of Dataflow Graphs Multicore DSP Software Synthesis using Partial Expansion of Dataflow Graphs George F. Zaki, William Plishker, Shuvra S. Bhattacharyya University of Maryland, College Park, MD, USA & Frank Fruth Texas Instruments

More information

Architectural Design. Architectural Design. Software Architecture. Architectural Models

Architectural Design. Architectural Design. Software Architecture. Architectural Models Architectural Design Architectural Design Chapter 6 Architectural Design: -the design the desig process for identifying: - the subsystems making up a system and - the relationships between the subsystems

More information

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science Lesson 11 INTRODUCING UML W.C.Udwela Department of Mathematics & Computer Science Why we model? Central part of all the activities We build model to Communicate Visualize and control Better understand

More information

S7316: Real-Time Robotics Control and Simulation for Deformable Terrain Applications Using the GPU

S7316: Real-Time Robotics Control and Simulation for Deformable Terrain Applications Using the GPU S7316: Real-Time Robotics Control and Simulation for Deformable Terrain Applications Using the GPU Daniel Melanz Copyright 2017 Energid Technology Overview 1. Who are we? 2. What do we do? 3. How do we

More information