Virtuelle Realität. Overview. Termin 9: Scene Graphs. Virtuelle Realität. Prof. Bernhard Jung
|
|
|
- Asher Carson
- 10 years ago
- Views:
Transcription
1 Termin 9: Scene Graphs Virtuelle Realität Wintersemester 2006/07 Prof. Bernhard Jung Overview Motivation Scene Graph Concepts: Node & Traversal Issues in Scene Graph Design Examples Further information: Avi Bar-Zeev: Scenegraphs - Past, Present and Future. The Java 3DTM API Specification. Technical White Paper. OpenSG Documentation. Open Scene Graph Documentation. 1
2 Image Generation: Levels of Abstraction Low-Level Graphic APIs DrawTriangle, SetLineColor, SetLightColor, ReadFrameBuffer, SetShadingModel e.g. OpenGL, DirectX very fine-grained and flexible Every object has to be specified vertex by vertex including all its data Scene Graph LoadFile, CreateNode, MoveObject, SetPickable e.g. OpenInventor, Performer, Open Scene Graph, OpenSG, Java3D The idea of a scene graph is to provide a higher level of abstraction. A scene graph stores the whole scene in the form of a graph of connected objects declarative, not imperative Thinking objects not rendering processes Overview: Image Generation in VR Systems Scene Graph Render Scene Management Low Level Graphics APIs Java Python C/C++ C/C++ Graphics Subsystem Display devices Rendering Hardware Monitor, Goggles, etc 2
3 What is a Scene Graph? Scene graph a representation of all the visual data for a 3D scene (and often, other types of non-visual data, such as sound) The specification for a scene graph is a mathematical graph DAG (directed acyclic graph) or tree A scene graph includes data that describes: 3D shape objects: their geometry and their appearance, geometric structure relationships for 3D shape objects: geometric transformations, ordering, and grouping, global objects that affect how all other objects are viewed: viewpoints, lights, backgrounds, environment effects, (sometimes) behaviors: procedures for modifying information stored in the scene graph or the graph structure itself. Example VRML Scene Graph #VRML V2.0 utf8 DEF airplane Transform { position x y z orientation x y z angle children [ Shape { material Material { diffusecolor r g b } geometry IndexedFaceSet { coord Coordinate { point [ , , ] } # Coordinate coordindex [0,1,2, -1, 3,4,5, -1, ] } # IndexedFaceSet } # Shape Transform { position x y z orientation nx, ny, nz children [ Transform { } Transform {.} ] } # Transform } # airplane 3
4 Why Scene Graphs? The purpose of a scene graph is: to provide an application developer (either a content author or a programmer) with a conceptual means to define and organize the static contents of a 3D scene and the dynamic events and behaviors that can modify the 3D scene, and to provide the graphics system with a data structure that contains all the information needed to render one or more images of the 3D scene. I.e. a scene graph is an abstraction that provides an interface between an application developer (a human) and a rendering system (a computer). [Lewis E. Hitchner] Why Scene Graphs? Flat vs Hierarchical Data Structures Flat object data base Scene Graph 4
5 Why Scene Graphs? Generalized frustum culling Culling = removing parts of the scene that do not contribute to final image OpenGL supports frustum culling at polygon level Culling at object level improves rendering performance (store bounding volumes in scene graph hierarchy) Performer, OpenSceneGraph app (update scene) cull draw Why Scene Graphs? Immediate Mode vs Retained Mode Graphics (OpenGL) Immediate Mode Graphics Primitives (vertices, attributes, ) are sent to the pipeline and displayed right away No memory of graphical entities New images are created by regenerating & resending the primitives Display Listed / Retained Mode Graphics Primitives placed in display lists Display lists are kept on graphics server (in "compiled" form") Images can be recreated by executing the display list Can be redisplayed with different state Can be shared among OpenGL graphics contexts Scene Graphs: All about retained mode 5
6 Immediate Mode versus Display Lists Immediate Mode Polynomial Evaluator Per Vertex Operations & Primitive Assembly CPU Display List Rasterization Per Fragment Operations Frame Buffer Display Listed Pixel Operations Texture Memory Node Types 2 Hierarchies scene graph hierarchy class hierarchy (OOP) Some classes are not in the scene graph but still part of the scene Nodes Non-Nodes Inner Nodes Leaves Material Texture LOD Group Geometry Sound (Light Sources) Transform Particle System 6
7 Scene Graph Semantics Semantic of nodes root = "universe" leaves = "content" (can be rendered; geometry, sound, ) inner nodes: grouping state changes (transformation, materials, light, ) non-geometric functionality (sensors, interpolation nodes, ) Semantic of edges inheritance of "state" (transformation, materials, light, ) Rendering via Scene Graph Traversal 1. At the start (root node) all graphics state variables are set to the system default values. 2. If a node is a group type node that has more than one child, the algorithm selects one child and continues the path s traversal through that child node. 3. If a node contains a geometric transformation, the algorithm updates the current modeling transformation, i.e., the node s transform is composed or concatenated (via matrix multiplication) with the transforms from all previous transformation nodes in the path 4. If a node contains appearance data (surface material, texture, drawing style, etc.), the algorithm updates the appropriate graphics state variable by setting (replacing) the current state values to the values stored in the node. 5. If a node contains geometry data, the algorithm renders that geometry 6. If a node is a leaf, the traversal backtracks or terminates * Idealized description - Actual implementations will include speed-ups, e.g. culling 7
8 Rendering via Scene Graph Traversal A path traversal and low level API calls executed as a result of each node traversed (OpenGL example). Scene graph traversals E.g. Performer not only rendering (draw) traversals! Stages (sometimes processes) traverse from the root node Traversal Order: Scene graphs are traversed in a depth-first, left-to-right order. cull 8
9 History of Scene Graphs Open Inventor Performer Y Cosmo3d Optimizer DirectModel OpenGL++ Java3d Fahrenheit OpenSG Issues: Inheritance Parent-Child Inheritance (most scene graphs) Parent-Child Inheritance + Left-to-Right Inheritance (e.g. OpenInventor) bad idea! 9
10 Issues: DAG or Tree? (sharing geometry and other state info) Example: Sharing State in VRML DEF / USE Shape { appearance DEF common Appearance { material Material {diffusecolor 1 0 0} } geometry Sphere { } } } Transform { translation children [ Shape { appearance USE common geometry Cone { } } ] 10
11 Issues: DAG or Tree Directed Acyclic Graph (DAG) a node may have more than one parent i.e. multiple paths to root node possible e.g. OpenInventor, VRML advantage: can share e.g. geometry between nodes problems: multiple inheritance issues VRML uniqueness of node names/pointers? Tree at most one parent per node i.e. unique path to root node most scene graphs how to share geometry? e.g. copy? Geometry Sharing in OpenSG node is split in 2 parts Node only general information, e.g. parent-child, bounding volume Node hierarchy is a tree! NodeCore attached to nodes detailed information e.g. transformation matrices, geometry, materials, nodecores can be shared! 11
12 Issue: Scene Graph Grouping Possible Criteria spatial proximity supports culling same / similar material minimize state changes improve rendering performance logical structure e.g. same object types Generally, scene graph grouping is left to the application i.e. human modeler, application programmer decides Some scene graphs graphics libraries reorder the scene graph automatically to improve rendering performance works best for static scenes Culling Organizing a database for efficient culling: Organizing this database spatially, rather than by object type or other attributes, promotes efficient culling Performer: can reorder scene for culling (pfchannel() ) 12
13 State Sorting State = totality of all attributes e.g. color, lighting parameters, texture, transformations, State changes are one of the performance killers costs: transformation changes lighting changes texture changes shader program changes Goal: Render scene graph with minimal number of state changes "Solution": Pre-Sorting does not work well with dynamic scenes, occlusion culling In some scene graphs APIs, user can mark static and dynamic aspects e.g. Performer: DCS vs SCS nodes (dynamic / static coordinate system) e.g. Java3D: immediate, retained, and compiled-retained rendering modes Common Node Types Hierarchy / inner nodes TransformGroup, Group, Billboard, LOD, Switch, Drawables / leaf nodes Shape / Geometry, Sound, Particle System, Less common: Event & action nodes for user interaction and animation e.g. OpenInventor, VRML dataflow programming in the scene graph problem: interplay with culling/rendering? Special nodes Body & facial animation, e.g. X3D, MPEG-4 13
14 VRML Events & Routing (dataflow prog.) #VRML V2.0 utf8 Group { children [ DEF PI PositionInterpolator { key [ 0.0,.1,.4,.7,.9, 1.0 ] keyvalue [ , 0 0 0, , , 0 0 0, ] } DEF T Transform { translation children Shape { geometry Cone {} appearance Appearance { material Material { diffusecolor } } } } DEF TOS TouchSensor {} # Click to start DEF TS TimeSensor { cycleinterval 3.0 } # 3 sec loop ]} ROUTE PI.value_changed TO T.translation ROUTE TOS.touchTime TO TS.startTime ROUTE TS.fraction_changed TO PI.set_fraction Scene graph nodes in Performer pfnode pfgroup pfscene pfscs pfdcs pffcs pfdoublescs pfdoubledcs pfdoublefcs pfswitch pfsequence pflod pflayer pflightsource pfgeode pfbillboard pfpartition pftext pfasd Abstract Root Leaf Leaf Leaf Leaf Leaf Basic node type. Groups zero or more children. Parent of the visual database. Static coordinate system. Dynamic coordinate system. Flux coordinate system. Double-precision static coordinate system. Double-precision dynamic coordinate system. Double-precision flux coordinate system. Selects among multiple children. Sequences through its children. Level-of-detail node. Renders coplanar geometry. Contains specifications for a light source. Contains geometric specifications. Rotates geometry to face the eyepoint. Partitions geometry for efficient intersections. Renders 2D and 3D text. Controls transition between LOD levels. 14
15 Scene Graph Node Types in OpenSG Env Node Core Mesh Point Impostor Billboard Directional Light Spot Group Switch Bitmap Text Texture Transform Dist. LOD Geom Super Surface Particles Transform Set Geometry Comp. Transform Prog. Mesh Drawable Volume Surface Slices Scene Graph Node Types in OpenSceneGraph Groups osg::transform - base for class nodes which transform their subgraph osg::geode - leaf node from which drawable leaves are hung osg::billboard - orientates associated drawables to face the viewer osg::lod - level of detail node osg::impostor - adds support for hierarchical image caching osg::switch - controls which of the children are on or off osg::sequence - automatically steps through children osg::lightsource - positions an osg::light in the scene osg::clipnode - positions osg::clipplane planes in the scene osg::projection - overrides the projection matrix (useful for HUD's) osg::occludernode - positions convex planer occluders and convex planer portals in the scene Drawables (leaf nodes) osg::geometry - adds real geometry and ability to draw it osg::shapedrawable - adds the ability to render the shape primitives osg::impostorsprite - used internally by the ImpostorNode as a billboard 15
16 Billboard Nodes Billboards always orient themselves towards the viewer LOD Nodes Levels of Detail are a simple way of increasing rendering performance. The basic idea is to have a number of differently detailed versions of an object and use low-res versions for objects that are far away. 16
17 Switch Nodes A Switch node allows to select one of its children for traversal instead of all of them (as for the other nodes). Particles The main idea of particles is to give a way of easily rendering large numbers of simple geometric objects. Particles are mostly used together with partially transparent textures to simulate fuzzy objects, but other uses are possible, e.g. molecules as stick-and-sphere models, stars or arrows for flow-field visualizations 17
18 Example Constructing a Scene Graph Programmatically in OpenSceneGraph osg::ref_ptr<osg::group> group = new osg::group; // create a Group node osg::geode* geode = new osg::geode; // create a Geode node geode-> adddrawable(new osg::shapedrawable(new osg::cone( osg::vec3(0,0,0), 0.5f, 1.0f ))); group->addchild( geode); // add the geode node to the group node geode = new osg::geode; // create another Geode node geode-> adddrawable(new osg::shapedrawable(new osg::box( osg::vec3(0,0,0), 3.0f, 3.0f, 0.05f ))); group->addchild( geode ); osgproducer::viewer viewer(); // create the viewer window & set its root node viewer.setscenedata( group.get() ); viewer.realize(); Example OpenSceneGraph Main Loop osgproducer::viewer viewer(); // create the viewer window & set its root node viewer.setscenedata( group.get() ); viewer.realize(); while(!viewer.done() ) { // wait for all cull and draw threads to complete. viewer.sync(); } // update the scene by traversing it with the update visitor which will // call all node update callbacks and animations. viewer.update(); // fire off the cull and draw traversals of the scene. viewer.frame(); 18
19 Scene Graphs in VR Systems e.g. VRJuggler, Avango, CoVise, Virtual Design 2, DBview, WorldToolKit (WTK), e.g. Performer, OpenSG, OpenInventor, Java3D, OpenSceneGraph, Y, Virtual Reality System Scene Graph OpenGL Operating System (UNIX, Windows) Scene Graphs useful not only for rendering Input Network Physical Simulation Visual Rendering Collision Detection Haptic Rendering 19
20 Further Issues Distributed scene graphs distributed rendering, e.g. cluster support (CAVE) WAN e.g. OpenSG, Avango Thread-Safety (multi-process environments) Shading languages support is les mor? Instead of using one scene graph for many tasks (rendering, animation, physics, application logic, networking, ) better to use several hierarchies? "Multi-view scene graphs" 20
Practical Data Visualization and Virtual Reality. Virtual Reality VR Software and Programming. Karljohan Lundin Palmerius
Practical Data Visualization and Virtual Reality Virtual Reality VR Software and Programming Karljohan Lundin Palmerius Synopsis Scene graphs Event systems Multi screen output and synchronization VR software
Introduction to Computer Graphics
Introduction to Computer Graphics Torsten Möller TASC 8021 778-782-2215 [email protected] www.cs.sfu.ca/~torsten Today What is computer graphics? Contents of this course Syllabus Overview of course topics
Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg
Image Processing and Computer Graphics Rendering Pipeline Matthias Teschner Computer Science Department University of Freiburg Outline introduction rendering pipeline vertex processing primitive processing
Chapter 6 - The Scene Graph
Chapter 6 - The Scene Graph Why a scene graph? What is stored in the scene graph? objects appearance camera lights Rendering with a scene graph Practical example 1 The 3D Rendering Pipeline (our version
GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1
Welcome to GUI! Mechanics 26/02/2014 1 Requirements Info If you don t know C++, you CAN take this class additional time investment required early on GUI Java to C++ transition tutorial on course website
Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group
Shader Model 3.0 Ashu Rege NVIDIA Developer Technology Group Talk Outline Quick Intro GeForce 6 Series (NV4X family) New Vertex Shader Features Vertex Texture Fetch Longer Programs and Dynamic Flow Control
Chapter 6 - The Scene Graph
Chapter 6 - The Scene Graph Why a scene graph? What is stored in the scene graph? objects appearance camera lights Rendering with a scene graph Practical example 1 The 3D Rendering Pipeline (our version
2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT
COMP27112 Computer Graphics and Image Processing 2: Introducing image synthesis [email protected] 1 Introduction In these notes we ll cover: Some orientation how did we get here? Graphics system
Programming 3D Applications with HTML5 and WebGL
Programming 3D Applications with HTML5 and WebGL Tony Parisi Beijing Cambridge Farnham Köln Sebastopol Tokyo Table of Contents Preface ix Part I. Foundations 1. Introduction 3 HTML5: A New Visual Medium
ANIMATION a system for animation scene and contents creation, retrieval and display
ANIMATION a system for animation scene and contents creation, retrieval and display Peter L. Stanchev Kettering University ABSTRACT There is an increasing interest in the computer animation. The most of
How To Teach Computer Graphics
Computer Graphics Thilo Kielmann Lecture 1: 1 Introduction (basic administrative information) Course Overview + Examples (a.o. Pixar, Blender, ) Graphics Systems Hands-on Session General Introduction http://www.cs.vu.nl/~graphics/
A Short Introduction to Computer Graphics
A Short Introduction to Computer Graphics Frédo Durand MIT Laboratory for Computer Science 1 Introduction Chapter I: Basics Although computer graphics is a vast field that encompasses almost any graphical
INTRODUCTION TO RENDERING TECHNIQUES
INTRODUCTION TO RENDERING TECHNIQUES 22 Mar. 212 Yanir Kleiman What is 3D Graphics? Why 3D? Draw one frame at a time Model only once X 24 frames per second Color / texture only once 15, frames for a feature
Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007
Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Questions 2007 INSTRUCTIONS: Answer all questions. Spend approximately 1 minute per mark. Question 1 30 Marks Total
Equalizer. Parallel OpenGL Application Framework. Stefan Eilemann, Eyescale Software GmbH
Equalizer Parallel OpenGL Application Framework Stefan Eilemann, Eyescale Software GmbH Outline Overview High-Performance Visualization Equalizer Competitive Environment Equalizer Features Scalability
Computer Applications in Textile Engineering. Computer Applications in Textile Engineering
3. Computer Graphics Sungmin Kim http://latam.jnu.ac.kr Computer Graphics Definition Introduction Research field related to the activities that includes graphics as input and output Importance Interactive
Silverlight for Windows Embedded Graphics and Rendering Pipeline 1
Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline Windows Embedded Compact 7 Technical Article Writers: David Franklin,
CPIT-285 Computer Graphics
Department of Information Technology B.S.Information Technology ABET Course Binder CPIT-85 Computer Graphics Prepared by Prof. Alhasanain Muhammad Albarhamtoushi Page of Sunday December 4 0 : PM Cover
NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH [email protected] SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA
NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH [email protected] SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA GFLOPS 3500 3000 NVPRO-PIPELINE Peak Double Precision FLOPS GPU perf improved
Blender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine
Blender Notes Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine The Blender Game Engine This week we will have an introduction to the Game Engine build
CSE 564: Visualization. GPU Programming (First Steps) GPU Generations. Klaus Mueller. Computer Science Department Stony Brook University
GPU Generations CSE 564: Visualization GPU Programming (First Steps) Klaus Mueller Computer Science Department Stony Brook University For the labs, 4th generation is desirable Graphics Hardware Pipeline
Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. M.Sc. in Advanced Computer Science. Friday 18 th January 2008.
COMP60321 Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE M.Sc. in Advanced Computer Science Computer Animation Friday 18 th January 2008 Time: 09:45 11:45 Please answer any THREE Questions
Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries
First Semester Development 1A On completion of this subject students will be able to apply basic programming and problem solving skills in a 3 rd generation object-oriented programming language (such as
Lecture Notes, CEng 477
Computer Graphics Hardware and Software Lecture Notes, CEng 477 What is Computer Graphics? Different things in different contexts: pictures, scenes that are generated by a computer. tools used to make
Computer Graphics on Mobile Devices VL SS2010 3.0 ECTS
Computer Graphics on Mobile Devices VL SS2010 3.0 ECTS Peter Rautek Rückblick Motivation Vorbesprechung Spiel VL Framework Ablauf Android Basics Android Specifics Activity, Layouts, Service, Intent, Permission,
Writing Applications for the GPU Using the RapidMind Development Platform
Writing Applications for the GPU Using the RapidMind Development Platform Contents Introduction... 1 Graphics Processing Units... 1 RapidMind Development Platform... 2 Writing RapidMind Enabled Applications...
Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)
Computer Graphics CS 54 Lecture 1 (Part 1) Curves Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) So Far Dealt with straight lines and flat surfaces Real world objects include
OctaVis: A Simple and Efficient Multi-View Rendering System
OctaVis: A Simple and Efficient Multi-View Rendering System Eugen Dyck, Holger Schmidt, Mario Botsch Computer Graphics & Geometry Processing Bielefeld University Abstract: We present a simple, low-cost,
Realtime 3D Computer Graphics Virtual Reality
Realtime 3D Computer Graphics Virtual Realit Viewing and projection Classical and General Viewing Transformation Pipeline CPU Pol. DL Pixel Per Vertex Texture Raster Frag FB object ee clip normalized device
Java game programming. Game engines. Fayolle Pierre-Alain
Java game programming Game engines 2010 Fayolle Pierre-Alain Plan Some definitions List of (Java) game engines Examples of game engines and their use A first and simple definition A game engine is a (complex)
L20: GPU Architecture and Models
L20: GPU Architecture and Models scribe(s): Abdul Khalifa 20.1 Overview GPUs (Graphics Processing Units) are large parallel structure of processing cores capable of rendering graphics efficiently on displays.
Faculty of Computer Science Computer Graphics Group. Final Diploma Examination
Faculty of Computer Science Computer Graphics Group Final Diploma Examination Communication Mechanisms for Parallel, Adaptive Level-of-Detail in VR Simulations Author: Tino Schwarze Advisors: Prof. Dr.
Optimizing Unity Games for Mobile Platforms. Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August
Optimizing Unity Games for Mobile Platforms Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August Agenda Introduction The author and ARM Preliminary knowledge Unity Pro, OpenGL ES 3.0 Identify
Building Interactive Animations using VRML and Java
Building Interactive Animations using VRML and Java FABIANA SALDANHA TAMIOSSO 1,ALBERTO BARBOSA RAPOSO 1, LÉO PINI MAGALHÃES 1 2,IVAN LUIZ MARQUES RICARTE 1 1 State University of Campinas (UNICAMP) School
Laminar Flow in a Baffled Stirred Mixer
Laminar Flow in a Baffled Stirred Mixer Introduction This exercise exemplifies the use of the rotating machinery feature in the CFD Module. The Rotating Machinery interface allows you to model moving rotating
DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER
DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER RAMA HOETZLEIN, DEVELOPER TECHNOLOGY, NVIDIA Data Visualizations assist humans with data analysis by representing information
Game Development in Android Disgruntled Rats LLC. Sean Godinez Brian Morgan Michael Boldischar
Game Development in Android Disgruntled Rats LLC Sean Godinez Brian Morgan Michael Boldischar Overview Introduction Android Tools Game Development OpenGL ES Marketing Summary Questions Introduction Disgruntled
The Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA
The Evolution of Computer Graphics Tony Tamasi SVP, Content & Technology, NVIDIA Graphics Make great images intricate shapes complex optical effects seamless motion Make them fast invent clever techniques
Image Synthesis. Fur Rendering. computer graphics & visualization
Image Synthesis Fur Rendering Motivation Hair & Fur Human hair ~ 100.000 strands Animal fur ~ 6.000.000 strands Real-Time CG Needs Fuzzy Objects Name your favorite things almost all of them are fuzzy!
Last lecture... Computer Graphics:
Last lecture... Computer Graphics: Visualisation can be greatly enhanced through the Introduction to the Visualisation use of 3D computer graphics Toolkit Visualisation Lecture 2 [email protected]
An Animation Definition Interface Rapid Design of MPEG-4 Compliant Animated Faces and Bodies
An Animation Definition Interface Rapid Design of MPEG-4 Compliant Animated Faces and Bodies Erich Haratsch, Technical University of Munich, [email protected] Jörn Ostermann, AT&T Labs
JavaFX Session Agenda
JavaFX Session Agenda 1 Introduction RIA, JavaFX and why JavaFX 2 JavaFX Architecture and Framework 3 Getting Started with JavaFX 4 Examples for Layout, Control, FXML etc Current day users expect web user
Performance Optimization and Debug Tools for mobile games with PlayCanvas
Performance Optimization and Debug Tools for mobile games with PlayCanvas Jonathan Kirkham, Senior Software Engineer, ARM Will Eastcott, CEO, PlayCanvas 1 Introduction Jonathan Kirkham, ARM Worked with
Software Tools for Virtual Reality Application Development
Software Tools for Virtual Reality Application Development SIGGRAPH 98 Course 14 Applied Virtual Reality Allen Bierbaum and Christopher Just (allenb, [email protected]) Iowa Center for Emerging Manufacturing
Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.
CSCI 480 Computer Graphics Lecture 1 Course Overview January 14, 2013 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s13/ Administrative Issues Modeling Animation
Modern Graphics Engine Design. Sim Dietrich NVIDIA Corporation [email protected]
Modern Graphics Engine Design Sim Dietrich NVIDIA Corporation [email protected] Overview Modern Engine Features Modern Engine Challenges Scene Management Culling & Batching Geometry Management Collision
Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau
Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau 04/02 Introduction & projective rendering 11/02 Prodedural modeling, Interactive modeling with parametric surfaces 25/02 Introduction
COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies
COMP175: Computer Graphics Lecture 1 Introduction and Display Technologies Course mechanics Number: COMP 175-01, Fall 2009 Meetings: TR 1:30-2:45pm Instructor: Sara Su ([email protected]) TA: Matt Menke
Visualization Service Bus
Visualization Service Bus Abstract In this research, we are applying modern Service-Oriented Architecture (SOA) technologies to make complex visualizations realizable without intensive graphics programming;
Visibility Map for Global Illumination in Point Clouds
TIFR-CRCE 2008 Visibility Map for Global Illumination in Point Clouds http://www.cse.iitb.ac.in/ sharat Acknowledgments: Joint work with Rhushabh Goradia. Thanks to ViGIL, CSE dept, and IIT Bombay (Based
Multiresolution 3D Rendering on Mobile Devices
Multiresolution 3D Rendering on Mobile Devices Javier Lluch, Rafa Gaitán, Miguel Escrivá, and Emilio Camahort Computer Graphics Section Departament of Computer Science Polytechnic University of Valencia
Recent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005
Recent Advances and Future Trends in Graphics Hardware Michael Doggett Architect November 23, 2005 Overview XBOX360 GPU : Xenos Rendering performance GPU architecture Unified shader Memory Export Texture/Vertex
How To Understand The Power Of Unity 3D (Pro) And The Power Behind It (Pro/Pro)
Optimizing Unity Games for Mobile Platforms Angelo Theodorou Software Engineer Brains Eden, 28 th June 2013 Agenda Introduction The author ARM Ltd. What do you need to have What do you need to know Identify
Cortona3D Viewer. User's Guide. Copyright 1999-2011 ParallelGraphics
Cortona3D Viewer User's Guide Copyright 1999-2011 ParallelGraphics Table of contents Introduction 1 The Cortona3D Viewer Window 1 Navigating in Cortona3D Viewer 1 Using Viewpoints 1 Moving around: Walk,
SceneBeans: A Component-Based Animation Framework for Java
1. Abstract SceneBeans: A Component-Based Animation Framework for Java Nat Pryce and Jeff Magee Department of Computing, Imperial College. {np2,jnm}@doc.ic.ac.uk DRAFT VERSION This paper presents SceneBeans,
A First Step towards Occlusion Culling in OpenSG PLUS
A First Step towards Occlusion Culling in OpenSG PLUS Dirk Staneker WSI/GRIS, University of Tübingen, Germany Abstract The fast increasing size of datasets in scientific computing, mechanical engineering,
OpenGL Performance Tuning
OpenGL Performance Tuning Evan Hart ATI Pipeline slides courtesy John Spitzer - NVIDIA Overview What to look for in tuning How it relates to the graphics pipeline Modern areas of interest Vertex Buffer
Professional Organization Checklist for the Computer Science Curriculum Updates. Association of Computing Machinery Computing Curricula 2008
Professional Organization Checklist for the Computer Science Curriculum Updates Association of Computing Machinery Computing Curricula 2008 The curriculum guidelines can be found in Appendix C of the report
Haptics Don t Lose Touch with Virtual Reality. Petr Kmoch Computer Graphics Group MFF UK http://cgg.ms.mff.cuni.cz/~kmoch/
Haptics Don t Lose Touch with Virtual Reality Petr Kmoch Computer Graphics Group http://cgg.ms.mff.cuni.cz/~kmoch/ What is Haptics? Touch-based computer interface involving force Haptic tactile Force µpressure
Multi-GPU Load Balancing for Simulation and Rendering
Multi- Load Balancing for Simulation and Rendering Yong Cao Computer Science Department, Virginia Tech, USA In-situ ualization and ual Analytics Instant visualization and interaction of computing tasks
GPU Architecture. Michael Doggett ATI
GPU Architecture Michael Doggett ATI GPU Architecture RADEON X1800/X1900 Microsoft s XBOX360 Xenos GPU GPU research areas ATI - Driving the Visual Experience Everywhere Products from cell phones to super
Simulink 3D Animation User's Guide
Simulink 3D Animation User's Guide R2015b How to Contact MathWorks Latest news: www.mathworks.com Sales and services: www.mathworks.com/sales_and_services User community: www.mathworks.com/matlabcentral
Advanced Rendering for Engineering & Styling
Advanced Rendering for Engineering & Styling Prof. B.Brüderlin Brüderlin,, M Heyer 3Dinteractive GmbH & TU-Ilmenau, Germany SGI VizDays 2005, Rüsselsheim Demands in Engineering & Styling Engineering: :
Geant4 Visualization. Andrea Dotti April 19th, 2015 Geant4 tutorial @ M&C+SNA+MC 2015
Geant4 Visualization Andrea Dotti April 19th, 2015 Geant4 tutorial @ M&C+SNA+MC 2015 HepRep/HepRApp Slides from Joseph Perl (SLAC) and Laurent Garnier (LAL/IN2P3) DAWN OpenGL OpenInventor RayTracer HepRep/FRED
Interactive Computer Graphics
Interactive Computer Graphics A Top-Down Approach Using OpenGL FIFTH EDITION EDWARD ANGEL UNIVERSITY OF NEW MEXICO PEARSON Addison Wesley Boston San Francisco New York London Toronto Sydney Tokyo Singapore
Graphics Cards and Graphics Processing Units. Ben Johnstone Russ Martin November 15, 2011
Graphics Cards and Graphics Processing Units Ben Johnstone Russ Martin November 15, 2011 Contents Graphics Processing Units (GPUs) Graphics Pipeline Architectures 8800-GTX200 Fermi Cayman Performance Analysis
ECMA-363. 3rd Edition / June 2006. Universal 3D File Format
ECMA-363 3rd Edition / June 2006 Universal 3D File Format ECMA-363 3 rd Edition / June 2006 Universal 3D File Format Ecma International Rue du Rhône 114 CH-1204 Geneva T/F: +41 22 849 6000/01 www.ecma-international.org
CURRICULUM VITAE EDUCATION:
CURRICULUM VITAE Jose Antonio Lozano Computer Science and Software Development / Game and Simulation Programming Program Chair 1902 N. Loop 499 Harlingen, TX 78550 Computer Sciences Building Office Phone:
GearVRf Developer Guide
GearVRf Developer Guide Welcome to GearVRf development! The Gear VR Framework (GearVRf) allows you, the Android developer, to write your own stereoscopic 3D virtual reality Java applications for the Samsung
Proposal for a Virtual 3D World Map
Proposal for a Virtual 3D World Map Kostas Terzidis University of California at Los Angeles School of Arts and Architecture Los Angeles CA 90095-1467 ABSTRACT The development of a VRML scheme of a 3D world
OpenGL & Delphi. Max Kleiner. http://max.kleiner.com/download/openssl_opengl.pdf 1/22
OpenGL & Delphi Max Kleiner http://max.kleiner.com/download/openssl_opengl.pdf 1/22 OpenGL http://www.opengl.org Evolution of Graphics Assembler (demo pascalspeed.exe) 2D 3D Animation, Simulation (Terrain_delphi.exe)
Introduction Week 1, Lecture 1
CS 430/536 Computer Graphics I Introduction Week 1, Lecture 1 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel University
Android and OpenGL. Android Smartphone Programming. Matthias Keil. University of Freiburg
Android and OpenGL Android Smartphone Programming Matthias Keil Institute for Computer Science Faculty of Engineering 16. Dezember 2013 Outline 1 OpenGL Introduction 2 Displaying Graphics 3 Interaction
3D Interactive Information Visualization: Guidelines from experience and analysis of applications
3D Interactive Information Visualization: Guidelines from experience and analysis of applications Richard Brath Visible Decisions Inc., 200 Front St. W. #2203, Toronto, Canada, [email protected] 1. EXPERT
Volume visualization I Elvins
Volume visualization I Elvins 1 surface fitting algorithms marching cubes dividing cubes direct volume rendering algorithms ray casting, integration methods voxel projection, projected tetrahedra, splatting
Medical and Volume Visualization with X3D
Medical and Volume Visualization with X3D SIGGRAPH 2011 BOF Nicholas F. Polys, Ph.D. Virginia Tech, Web3D Consortium Overview International Standardization efforts to specify the basis for reproducible
VRSPATIAL: DESIGNING SPATIAL MECHANISMS USING VIRTUAL REALITY
Proceedings of DETC 02 ASME 2002 Design Technical Conferences and Computers and Information in Conference Montreal, Canada, September 29-October 2, 2002 DETC2002/ MECH-34377 VRSPATIAL: DESIGNING SPATIAL
Computer Graphics. Computer graphics deals with all aspects of creating images with a computer
Computer Graphics Computer graphics deals with all aspects of creating images with a computer Hardware Software Applications Computer graphics is using computers to generate and display images based on
Hardware design for ray tracing
Hardware design for ray tracing Jae-sung Yoon Introduction Realtime ray tracing performance has recently been achieved even on single CPU. [Wald et al. 2001, 2002, 2004] However, higher resolutions, complex
Hierarchical Data Visualization
Hierarchical Data Visualization 1 Hierarchical Data Hierarchical data emphasize the subordinate or membership relations between data items. Organizational Chart Classifications / Taxonomies (Species and
GAME ENGINE DESIGN. A Practical Approach to Real-Time Computer Graphics. ahhb. DAVID H. EBERLY Geometrie Tools, Inc.
3D GAME ENGINE DESIGN A Practical Approach to Real-Time Computer Graphics SECOND EDITION DAVID H. EBERLY Geometrie Tools, Inc. ahhb _ jfw H NEW YORK-OXFORD-PARIS-SAN DIEGO fl^^h ' 4M arfcrgsbjlilhg, SAN
Creating Your Own 3D Models
14 Creating Your Own 3D Models DAZ 3D has an extensive growing library of 3D models, but there are times that you may not find what you want or you may just want to create your own model. In either case
Computer Graphics. Introduction. Computer graphics. What is computer graphics? Yung-Yu Chuang
Introduction Computer Graphics Instructor: Yung-Yu Chuang ( 莊 永 裕 ) E-mail: [email protected] Office: CSIE 527 Grading: a MatchMove project Computer Science ce & Information o Technolog og Yung-Yu Chuang
Fundamentals of Java Programming
Fundamentals of Java Programming This document is exclusive property of Cisco Systems, Inc. Permission is granted to print and copy this document for non-commercial distribution and exclusive use by instructors
Parallel Simplification of Large Meshes on PC Clusters
Parallel Simplification of Large Meshes on PC Clusters Hua Xiong, Xiaohong Jiang, Yaping Zhang, Jiaoying Shi State Key Lab of CAD&CG, College of Computer Science Zhejiang University Hangzhou, China April
Pitfalls of Object Oriented Programming
Sony Computer Entertainment Europe Research & Development Division Pitfalls of Object Oriented Programming Tony Albrecht Technical Consultant Developer Services A quick look at Object Oriented (OO) programming
Comp 410/510. Computer Graphics Spring 2016. Introduction to Graphics Systems
Comp 410/510 Computer Graphics Spring 2016 Introduction to Graphics Systems Computer Graphics Computer graphics deals with all aspects of creating images with a computer Hardware (PC with graphics card)
Introduction to GPGPU. Tiziano Diamanti [email protected]
[email protected] Agenda From GPUs to GPGPUs GPGPU architecture CUDA programming model Perspective projection Vectors that connect the vanishing point to every point of the 3D model will intersecate
Computer Graphics Hardware An Overview
Computer Graphics Hardware An Overview Graphics System Monitor Input devices CPU/Memory GPU Raster Graphics System Raster: An array of picture elements Based on raster-scan TV technology The screen (and
OBJECT RECOGNITION IN THE ANIMATION SYSTEM
OBJECT RECOGNITION IN THE ANIMATION SYSTEM Peter L. Stanchev, Boyan Dimitrov, Vladimir Rykov Kettering Unuversity, Flint, Michigan 48504, USA {pstanche, bdimitro, vrykov}@kettering.edu ABSTRACT This work
