ROOT: 3D Graphics R. Maunder 1), T.Pocheptsov 4) 1) CERN – European Organization for Nuclear Research, Geneva, Switzerland 4) Joint Institute for Nuclear.

Slides:



Advertisements
Similar presentations
CSG and Raytracing CPSC 407.
Advertisements

CLUE REQUIREMENTS IETF 80 Allyn Romanow
15.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 15 – Visible Surfaces and Shadows.
8.1si31_2001 SI31 Advanced Computer Graphics AGR Lecture 8 Polygon Rendering.
© Copyright Khronos Group, Page 1 COLLADA FX Update and FX Composer 2.0 Daniel Horowitz & Ignacio Castaño.
CS 352: Computer Graphics Chapter 7: The Rendering Pipeline.
CHAPTER 12 Height Maps, Hidden Surface Removal, Clipping and Level of Detail Algorithms © 2008 Cengage Learning EMEA.
CHEP06, Mumbai, India February 2006 ROOT 3 D Graphics René Brun, Olivier Couet, Richard Maunder, Timur Pocheptsov * CERN, Geneva, Switzerland * JINR,
 The success of GL lead to OpenGL (1992), a platform-independent API that was  Easy to use  Close enough to the hardware to get excellent performance.
1 of 25 Assignment Orthographic Wireframe Elevation Orthographic Wireframe Plan Orthographic Wireframe End-Elevation Perspective View.
Chapter 6: Vertices to Fragments Part 2 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
Vertices and Fragments I CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
Chapter 6 Methodology Logical Database Design for the Relational Model Transparencies © Pearson Education Limited 1995, 2005.
18.1 Si31_2001 SI31 Advanced Computer Graphics AGR Lecture 18 Image-based Rendering Light Maps What We Did Not Cover Learning More...
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Better Interactive Programs Ed Angel Professor of Computer Science, Electrical and Computer.
B3d ¤ fall 2004 Alexander K. Bowman. load tri.abc automatically view object when opened help window easily accessible for inexperienced users reorganized.
CHAPTER 7 Viewing and Transformations © 2008 Cengage Learning EMEA.
ROOT Users Workshop Sep D Viewers In ROOT Richard Maunder / Timur Pocheptsov.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology 3D Engines and Scene Graphs Spring 2012.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Games Development 2 Entity / Architecture Review CO3301 Week
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
Course Overview, Introduction to CG Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Friday, September 5, 2003.
CS 480/680 Computer Graphics Course Overview Dr. Frederick C Harris, Jr. Fall 2012.
Zubanov Alexei, 2006 Aug 07 – Sep 28 QtROOT package extension with Coin3D lib.
INTRO TO COMPUTER GRAPHICS TEXT EDWARD ANGEL: EDITION 5 CS770/870
Faster 2D graphics on Windows 8 Your app will run faster on Windows 8.
CSC461 Lecture 11: Interactive Programs Contents and Objectives Picking Writing modes – XOR/Copy Rubberbanding Display list.
C O M P U T E R G R A P H I C S Guoying Zhao 1 / 14 C O M P U T E R G R A P H I C S Guoying Zhao 1 / 14 Going-through.
Data Structures for Scenes, The Basics of Scene Graphs Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Friday,
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 2 SPRING 2015 DR. MICHAEL J. REALE.
Implementing Scene Graphs, CSG Trees Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Monday, January 26, 2004.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Computer Graphics Week2 –Creating a Picture. Steps for creating a picture Creating a model Perform necessary transformation Lighting and rendering the.
Java Graphics Stuart Hansen 11/6/03. What’s Wrong with OpenGL Graphics – not GUI –No real support of text boxes, buttons, etc. Procedural - not OOP –No.
1 Better Interactive Programs. 2 Objectives Learn to build more sophisticated interactive programs using ­Picking Select objects from the display Three.
Representation. Objectives Introduce concepts such as dimension and basis Introduce coordinate systems for representing vectors spaces and frames for.
2008/9/24 Kim, HyungSeok. HyungSeok Kim, Konkuk University Part I: Framework – 1. Windows creation – 2. Renderer – 3. Lights and Objects/Model loading.
3D Viewers Two main uses: –Detector/event exploration – interactivity priority (15fps min). –Generate presentation material (still/movie renders) – quality.
recent improvements and plans
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Section 9.2 Adding and Subtracting Matrices Objective: To add and subtract matrices.
4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.
1 Angel: Interactive Computer Graphics5E © Addison- Wesley 2009 Image Formation Fundamental imaging notions Fundamental imaging notions Physical basis.
11/24/ :45 Graphics II Shadow Maps Reflections Session 5.
Computer Graphics I, Fall 2010 Implementation II.
What are Computer Graphics Basically anything that is on you Monitor – This includes the text that you will see Text isn’t Advanced Graphics But…. Understanding.
GORT: Specifications Leon Kania – Haipin Cua – Thoren McDole – Chang Huang.
GDML “Geometry Description Markup Language” by Daniele Francesco Kruse University of Rome “Tor Vergata” European Organization for Nuclear Research.
Methodology - Logical Database Design. 2 Step 2 Build and Validate Local Logical Data Model To build a local logical data model from a local conceptual.
ROOT Graphical User Interface The Graphical User Interface (GUI) design is an important component of the ROOT framework. Two sets of classes, recently.
Chapter 1 Graphics Systems and Models Models and Architectures.
Modeling Transformations Mario Costa Sousa University of Calgary CPSC 453, Fall 2001 Mario Costa Sousa University of Calgary CPSC 453, Fall 2001.
GL Viewer Status. Work Done Rewrite of prototype (shape drawing code kept) Support for: Scene container – shared between viewers. Scene Rebuilds – viewer.
In the name of God Computer Graphics.
Methodology Logical Database Design for the Relational Model
MPEG-4 Binary Information for Scenes (BIFS)
ROOT: 3D Graphics Viewer Architecture
Better Interactive Programs
Computer Graphics : Introduction
Models and Architectures
Better Interactive Programs
Introduction to geometry instancing
Hierarchical Modeling & Constructive Solid Geometry
Professor John Canny Spring 2004 March 5
Computer Graphics Introduction to Shaders
Professor John Canny Spring 2003 March 12
Dr. Chih-Kuo Yeh 葉智國 Computer Graphics Dr. Chih-Kuo Yeh 葉智國
Games Development 2 Entity / Architecture Review
CS 480/680 Fall 2011 Dr. Frederick C Harris, Jr. Computer Graphics
Presentation transcript:

ROOT: 3D Graphics R. Maunder 1), T.Pocheptsov 4) 1) CERN – European Organization for Nuclear Research, Geneva, Switzerland 4) Joint Institute for Nuclear Research (JINR) Viewer Architecture TVirtualViewer3D: Provides generic access to viewers of widely differing capabilities (OpenGL/x3d/TPad). Can test preferences, manage scenes, add objects, adjust camera, lights etc externally (future extension) etc. TBuffer3D: 3D Object hierarchy – describe “shapes”. Generic TBuffer3D for any object in tessellated form. Subclasses for shape specific examples (TBuffer3DSphere etc) which some viewer(s) can tessellate natively. Bool_t PreferLocalFrame() const void BeginScene() Bool_t BuildingScene() const void EndScene() Int_t AddObject(const TBuffer3D & buffer,...) Int_t AddObject(UInt_t physicalID, const TBuffer3D & buffer,...) Bool_t OpenComposite(const TBuffer3D & buffer, …) void CloseComposite() void AddCompositeOp(UInt_t operation) …….. TVirtualViewer3D & TBuffer3D act as intermediaries – decouple producers (geometry etc) and consumers (viewers). Interface answers questions such as: “prefer local frame?”, “send child objects?”, “fill what in buffer?” TBuffer3D composed of sections, filled in negotiation with viewer: Create buffer object –shape specific one if suitable, TBuffer3D if not. Optionally test viewer local reference frame – if can fill in local frame with translation matrix in Core. Fill cheap mandatory sections (Core/BoundingBox/ShapeSpecific), and add to viewer: UInt_t extraSections = viewer->AddObject(buffer); Returns extra (costly) sections (Raw Sizes/Raw) if viewer requires – complete and add again. Returns indication if contained children should be sent (addChildren flag) TBuffer3D contents in copied into viewer specific internal data structures. Some viewers (OpenGL) are able to cache Logical (unique “shapes”) and Physical (placed copies) objects from IDs. Recycle TBuffer3D object if required.

GL Viewer: Can now be used as a standalone viewer and as built in pad. TPad can render classical 2D graphics, using X11 or Windows graphics and 3D graphics using OpenGL. We intend to exploit this to offer wide new range of data representation techniques. root[0] gStyle->SetCanvasPreferGL(kTRUE); root[1].x shapes.C Draw Style: Objects can be drawn as solids and solids with outlines: R. Maunder 1), T.Pocheptsov 4) 1) CERN – European Organization for Nuclear Research, Geneva, Switzerland 4) Joint Institute for Nuclear Research (JINR) ROOT: 3D Graphics Composite Shapes: ROOT ‘s composite shapes (TGeoCompositeShape) can now be visualized with GL viewer: new TGeoCompositeShape("cs", "sphere - torus") - == * new TGeoCompositeShape("cs", "box * sphere") new TGeoCompositeShape("cs", "sphere + torus") +== TGeoCompositeShape *cs1 = new TGeoCompositeShape("cs1", "tub1+tub1:r1"); TGeoCompositeShape *cs2 = new TGeoCompositeShape("cs2", "tub2+tub2:r1"); TGeoCompositeShape *cs3 = new TGeoCompositeShape("cs3", "cs1-cs2"); TGeoCompositeShape *cs = new TGeoCompositeShape("cs", "cs3*box:r2"); Clipping: Remove subset of objects to show detector internals etc. Two techniques OpenGL® Clip Planes: Multiple renders, each with one or more clip planes, combine together e.g. 3 sides of box: + + = CSG Operation: Add all object meshes (o1..on), subtract clipping object mesh (c) : o1 + o2 + …… + on – c Adding both methods, clip planes for interactive setup, CSG for high quality renders. Pros: Fast and simple, interactive (few planes)Cons: Accurate only for shapes described by planes - approx otherwise. Clipped solids not capped –hollow. Pros: Any arbitrary clipping shape possibleCons: Cannot adjust interactively Slow, complex Proper capping of solids