CHEP06, Mumbai, India 13-17 February 2006 ROOT 3 D Graphics René Brun, Olivier Couet, Richard Maunder, Timur Pocheptsov * CERN, Geneva, Switzerland * JINR,

Slides:



Advertisements
Similar presentations
COMPUTER GRAPHICS SOFTWARE.
Advertisements

COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
CS 352: Computer Graphics Chapter 7: The Rendering Pipeline.
Computer Graphics Lecture 8 Arbitrary Viewing II: More Projection, Clipping and Mathematics of 3D Viewing.
FireMonkey Deep Dive The Next Generation of Business Application Development.
3D Graphics Rendering and Terrain Modeling
Shared Graphics Skills Cameras and Clipping Planes
Chapter 2: Time and Space Lecturer: Norhayati Mohd Amin.
HCI 530 : Seminar (HCI) Damian Schofield.
ROOT Users Workshop Sep D Viewers In ROOT Richard Maunder / Timur Pocheptsov.
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
A Mid-Term study guide of covered commands. SAVING  Using the Save command allows the drafter to save an already developed drawing.  The Save As command.
CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Blender's User Interface.
Basics of Rendering Pipeline Based Rendering –Objects in the scene are rendered in a sequence of steps that form the Rendering Pipeline. Ray-Tracing –A.
Zubanov Alexei, 2006 Aug 07 – Sep 28 QtROOT package extension with Coin3D lib.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
CSE 381 – Advanced Game Programming Basic 3D Graphics
ANSYS Fundamentals This document contains no technical data subject to the EAR or the ITAR.
Week 2 - Wednesday CS361.
TECH 104 – Technical Graphics Communication Week 13: 3D Modeling Basics.
Image Synthesis Rabie A. Ramadan, PhD 2. 2 Java OpenGL Using JOGL: Using JOGL: Wiki: You can download JOGL from.
Adaptive Real-Time Rendering of Planetary Terrains WSCG 2010 Raphaël Lerbour Jean-Eudes Marvie Pascal Gautron THOMSON R&D, Rennes, France.
V part C.  Different programs have different ways of displaying objects in real-time while the scenes are being created within the workspace. Some.
3D Intro. 3D Technology Progression G-4 G-4
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 2 SPRING 2015 DR. MICHAEL J. REALE.
1. Chapter 12 Inserting Shapes and WordArt 3 Inserting Shapes, WordArt, and More Create shapes, text boxes, and WordArt to add visual appeal to a Word.
Creating a Logo – Lesson 3 1 Creating a Logo Lesson 3.
CHAPTER TEN AUTHORING.
© 2011 Delmar, Cengage Learning Chapter 1 Getting to Know Illustrator.
Feature-Based Parametric Modeling
Lecture 11: Exam Revision 1  Principles of Interactive Graphics  CMSCD2012  Dr David England, Room 718,  ex 2271  Coursework.
GPU Graftals: Stylized Rendering of Fluffy Objects Michael Lester.
“Paper” output Root Graphics Workshop 16/07/2010.
Chapter 4 Working with Frames. Align and distribute objects on a page Stack and layer objects Work with graphics frames Work with text frames Chapter.
WIRED 4 An extensible generic Event Display Mark Donszelmann SLAC, Stanford, U.S.A. CHEP2004, 27 september – 1 october Interlaken, Switzerland.
PowerPoint Basics Tutorial 3: Graphics In this tutorial we’ll be looking at graphics, and the various types of illustrations that can be included in a.
Unit 6 3D Modeling Concepts
CS 450: COMPUTER GRAPHICS PROJECTIONS SPRING 2015 DR. MICHAEL J. REALE.
3D Viewers Two main uses: –Detector/event exploration – interactivity priority (15fps min). –Generate presentation material (still/movie renders) – quality.
CS324e - Elements of Graphics and Visualization Java 3D Intro.
BesVis An Visualization software for BESIII experiment Zhengyun YOU School of Physics, PKU
A Few Things about Graphics Jian Huang Computer Science University of Tennessee.
INTRODUCTION GORT is a virtual 3D modeling environment for computer programmers. Its main area of focus is to aid in the education of programmers learning.
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
In the name of God Computer Graphics.
ROOT: 3D Graphics R. Maunder 1), T.Pocheptsov 4) 1) CERN – European Organization for Nuclear Research, Geneva, Switzerland 4) Joint Institute for Nuclear.
Three-Dimensional Viewing
© 2011 Delmar, Cengage Learning Chapter 4 Working with Frames.
© 2010 Delmar, Cengage Learning Chapter 1 Getting Started with Illustrator.
Maths & Technologies for Games Graphics Optimisation - Batching CO3303 Week 5.
Postgraduate Computing Lectures PAW 1 PAW: Physicist Analysis Workstation What is PAW? –A tool to display and manipulate data. Learning PAW –See ref. in.
Illustrator Training Level I Training; Using Illustrator as a 2d visualization tool.
Giulio Eulisse, Northeastern University CHEP’04, Interlaken, 27th Sep - 1st Oct, 2004 CHEP’04 IGUANA Interactive Graphics Project:
Mesh Control Winter Semester PART 1 Meshing.
Design Visualization Software Introduction / Review.
UNIT 11: 3D AutoCAD Objectives: How to print or plot a drawing How to setup a layout using title blocks and viewports Create and manage new layouts Be.
Microsoft Publisher 2010 Lesson 4 Graphics in Publications.
Image Fusion In Real-time, on a PC. Goals Interactive display of volume data in 3D –Allow more than one data set –Allow fusion of different modalities.
TECH 104 – Technical Graphics Communication Week 12: 3D Modeling Basics.
GL Viewer Status. Work Done Rewrite of prototype (shape drawing code kept) Support for: Scene container – shared between viewers. Scene Rebuilds – viewer.
Layers in Adobe After Effect
COMPUTER GRAPHICS CHAPTER 38 CS 482 – Fall 2017 GRAPHICS HARDWARE
Week 2 - Monday CS361.
In the name of God Computer Graphics.
ROOT: 3D Graphics Viewer Architecture
Sketching.
3D Graphics Rendering PPT By Ricardo Veguilla.
Lecture 13 Clipping & Scan Conversion
WIRED 4 Event Display Linear Collider Simulation Workshop
Presentation transcript:

CHEP06, Mumbai, India February 2006 ROOT 3 D Graphics René Brun, Olivier Couet, Richard Maunder, Timur Pocheptsov * CERN, Geneva, Switzerland * JINR, Dubna, Russia

ROOT 3D Graphics CHEP06, Mumbai, India February Context ROOT (root.cern.ch) is an object-orientated framework for large scale data analysis.root.cern.ch ROOT includes 2-d and 3-d visualization classes 2-d: histograms, graphs (see poster) 3-d: this talk Users need to visualize…..

ROOT 3D Graphics CHEP06, Mumbai, India February Detector Geometries Alice LHCb Atlas CMS

ROOT 3D Graphics CHEP06, Mumbai, India February Events

5 Requirements A viewer which can handle: Static geometry – simple boxes to complex boolean solids – up 10s millions objects. Animated particles, tracks + activated detector parts (energy deposits etc.) Lines, simple shapes spheres etc - 10 – 100,000 objects. Combination - events placed in context of (simplified) cut detector geometries. Viewer must have: High performance, high quality, interactive viewing – lighting, transparency etc. Support for wide variety of geometric shapes and markers, including custom external ones. Variety of projections – perspective, orthographic, special fisheye / non-linear. Self-selection – viewer can choose subset of geometry/events and rebuild this as required. Impossible to load (let alone draw) full collection of objects. Support across all ROOT platforms – Win32, Linux, MacOS, Solaris, etc Take advantage of hardware where available, with software rendering if not. Output to screen, bitmap and vector files (pdf/eps), video (animation). OpenGL base is obvious choice…..

ROOT 3D Graphics CHEP06, Mumbai, India February General Architecture I External client uses non-viewer specific architecture, which can support: Simple ‘legacy’ X3D (simple 3D) + 2D GDI viewers. New OpenGL based viewer. Future viewers – DirectX etc? Consists of: TVirtualViewer3D interface: Test viewer preferences and capabilities. Adding objects – including composite operations. TBuffer3D class hierarchy: Describe 3D objects ("shapes"). Split into sections - filled “by negotiation” – only what the viewer requires. Base class sufficient for any object in raw tessellation form Subclasses for abstract shapes (spheres/tubes etc).

ROOT 3D Graphics CHEP06, Mumbai, India February General Architecture – GL Use TGeo classes TPolyLine3D TPolyMarker3D THelix, etc

ROOT 3D Graphics CHEP06, Mumbai, India February GL Architecture Common scene object for sharing/syncing across viewers. Repeated ‘physical’ (placement) of shared ‘logicals’ Lazy caching of logicals (with expensive tessellation) and physicals. Connect to clients with very large (millions) of objects Client sends all objects – viewer accepts those considered ‘of interest’ at present. Viewer can prompt client to republish e.g. camera setup changed significantly. Viewer can terminate geometry branch publishing (sending contained children). Native drawn shapes: TBuffer3DSphere - solid, hollow and cut spheres* TBuffer3DTubeSeg - angle tube segment TBuffer3DCutTube - angle tube segment with plane cut ends. More in future....

ROOT 3D Graphics CHEP06, Mumbai, India February GL Architecture : Scene Rebuilds I

ROOT 3D Graphics CHEP06, Mumbai, India February GL Architecture : Scene Rebuilds II

ROOT 3D Graphics CHEP06, Mumbai, India February GL Architecture : Scene Rebuilds III Large camera perturbation– new geometry pull(end of camera move). Physical shapes inside new expanded frustum retained. Physical shapes outside discarded/recycled. All logical shapes retained– even if all referencing physicals discarded. TGeoPainter Discard Accept Retain Reject Physical Logical Accept(No Logical)

ROOT 3D Graphics CHEP06, Mumbai, India February GL Features : Rendering 3 draw styles High quality (vector) pdf and eps output. Support composite (CSG) shapes Wireframe Filled polygons Outline +=+=

ROOT 3D Graphics CHEP06, Mumbai, India February GL Features : Cameras 3 Perspective Cameras: Keep ‘floor’ (plane of two global axes e.g. X/Y) level. 3 Orthographic Cameras: Project two global axes (e.g. Y/Z) onto horz./vert. More in future – non-linear fisheye projections etc.

ROOT 3D Graphics CHEP06, Mumbai, India February GL Features : Cameras Comprehensive interactions: Sensitivity modifiers: Orbit rotate round scene center Left Mouse + Drag Dolly move camera in/out along eye line Right Mouse + Horizontal Drag Truck pan parallel to film plane Middle Mouse + Drag arrow keys Zoom adjust lens field of view Mouse Wheel j / k keys Shift: x 10Ctrl: x 0.1Shift+Ctrl: x 0.01Double click reset

ROOT 3D Graphics CHEP06, Mumbai, India February GL Features : Manipulators All shapes (normal / clip ) can be manipulated around local axes. Translate Scale Rotate

ROOT 3D Graphics CHEP06, Mumbai, India February GL Features : Guides Axes (edge or origin) & Reference Marker Zero Value Positive Negative

ROOT 3D Graphics CHEP06, Mumbai, India February GL Features : Clipping

ROOT 3D Graphics CHEP06, Mumbai, India February GL Features : Clipping Two techniques Fast: OpenGL® Clip Planes Multiple renders, each with one or more clip planes, combine together ++ = + Fast and simple, interactive (few planes)- Accurate only for shapes described by planes - Clipped solids not capped –hollow. Quality: CSG Operation Add all object meshes (o1..on), subtract clipping object mesh (c) o1 + o2 + …… + on – c + Any arbitrary clipping shape possible - Costly - cannot adjust interactively + Proper capping of solids Interactive (OpenGL) done – CSG in future.

ROOT 3D Graphics CHEP06, Mumbai, India February GL Performance : I GL Viewer provides generic support for: Frustum Culling: Discard objects outside camera. Test scene bounding first – if visible, all objects visible. Otherwise test each shape BB - skip drawing those outside. Display List Cache: Only raw draw once. ‘Compile’ draw commands into GL display list. If list resident on card (up to memory limit) – cost of one fn call. If list off-card (main mem) cost of transfer+fn call – but commands already efficiently compiled for GL. Singleton DL cache – based on object ID and draw flags. Simple auto capture of any shape (TGLDrawable) by setting flags.

ROOT 3D Graphics CHEP06, Mumbai, India February GL Performance : II Level of Detail (LOD): Tessellation suitable for projected size + GL performance. Distribute GPU power better: 5-10 x speed up for ‘same quality’ Draw() methods takes quality factor 0 – 100% LOD found from object bounding box projected onto screen Combined with Global LOD to factor in overall GL performance/scene. Only native GL Viewer shapes (solid spheres and various tubes) at present. Multi-pass Scene Renders Interactive – speed Lower Global LOD – fixed 50% presently. Time limited – 100msec (10 fps) – rest discarded. Sorted draw list: large -> small – dropouts less noticable. Supports wide range of hardware / software GL performance. Final – quality Done after timeout (user pause). Unlimited time, everything drawn, Global LOD = 100% Combination gives: Typical speed ups 10 – 20+ times c.f. naive direct, fixed quality drawing. Manipulate 10,000 shapes in realtime on quite modest GL setups. Reliable interaction response.

ROOT 3D Graphics CHEP06, Mumbai, India February GL in Pad: I Currently, the 3D representation of data sets is done using dedicated ROOT classes (TView, TPaint3dAlgorithms …). These classes are based on the 2D low level graphics engines (TVirtualX, TVirtualPS …) Therefore, evolving to modern 3D graphics techniques is very difficult.

ROOT 3D Graphics CHEP06, Mumbai, India February GL in Pad: II In order to combine high quality of ROOT 2D graphics and the great 3D possibilities offered by OpenGL, the “GL in Pad” project has been launched.

ROOT 3D Graphics CHEP06, Mumbai, India February GL in Pad: III OpenGL drawing and ROOT 2D graphics are mixed in common bitmap. Enable with gStyle->SetCanvasPreferGL(kTRUE) Advantages: Gain all the features of the standalone GL viewer. Only minor modifications in existing TPad /TCanvas code. No need to duplicate 2D drawing in OpenGL. Fast – can take advantage of hardware acceleration. Simple solution. Vector PostScript output has been implemented using gl2ps. TPostScript output and gl2ps output are mixed in a single file.

ROOT 3D Graphics CHEP06, Mumbai, India February Future Work Complete 3D GL + 2D GDI merge with standalone viewer. More native (LOD supporting) shapes. Animation manager – for animated cameras and objects (particles moving on tracks, detector activation). Specific collections for animated particles/tracks for event display. Improved performance.