A First Step towards Occlusion Culling in OpenSG PLUS
|
|
|
- Dulcie Gregory
- 10 years ago
- Views:
Transcription
1 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, or virtual medicine is quickly exceeding the graphics capabilities of modern computers. Toolkits for the large model visualization address this problem by combining efficient geometric techniques, such as occlusion and visibility culling, mesh reduction, and efficient rendering. OpenSG PLUS is such a toolkit with support for large models. In this paper, we present three techniques for occlusion culling in OpenSG PLUS. The first technique uses the z-buffer to determine the visibility of a bounding box. The second technique uses the stencil-buffer to get visibility information and the third technique exploits the HP Occlusion Culling Flag. All three techniques are conservative and work on arbitrary scenes without any geometric or topological assumptions. CR Categories: I.3.3 [Picture/Image Generation]: Viewing Algorithms, Occlusion Culling; I.3. [Graphics Utilities]: Application Packages, Graphics Packages; I.3.7 [Three-Dimensional Graphics and Realism]: Hidden Line/Surface Removal; Keywords: Large Model Visualization, Toolkit, Visibility and occlusion culling. 1 INTRODUCTION The datasets for visualization are growing faster than the rendering speed of modern graphics subsystems. Several techniques exist to solve this problem, most of them reduce the number of polygons, others use sampling techniques like ray tracing or point sampling. To reduce the number of polygons level-of-detail [Gar99] or impostor techniques are used. Another approach is occlusion culling. Hereby hidden parts of a scene are detected and excluded from the rendering process. In this paper, three different occlusion culling techniques for OpenSG PLUS will be presented. OpenSG [OSG] is a portable scene graph programming toolkit which has been started in, with the focus on real time rendering. With the OpenSG PLUS project, OpenSG will be enhanced with Large Scene Support, High Level Primitives and High Level Shading. The presented occlusion culling techniques are part of the Large Scene Support. This paper is organized as follows; the next section briefly reviews related toolkits for visualization and other occlusion culling techniques. Section 2 describes, how occlusion culling can be applied to OpenSG. In the following Sections 3, and 5 three different approaches are presented for image-space occlusion culling. In Section 6, we introduce the OSGviewer application, which was used for tests and implementation of the presented techniques. Finally the results are summarized in Section Related Work Scene graph programming toolkits are widely available, e.g. Open Inventor, IRIS Performer, Cosmo3D, but most of them have no sup- [email protected] port for occlusion culling. One of the scene graph programming toolkits having occlusion culling is Jupiter ([HP98, BSS1]). Jupiter focuses in large model visualization and provides different concepts to manage large amounts of data. For occlusion culling Jupiter uses the HP Occlusion Culling Flag [SOG98, BS99]. Other techniques are not yet available, but could be implemented. A wide range of algorithms for occlusion culling are available. However, not all algorithms work on every scene without doing extensive preprocessing. One of the well known algorithms is the Hierarchical z-buffer [GKM93] which uses hierarchical data structures for the depth buffer and the scene. Algorithms using OpenGL acceleration for speedup calculations are also available [BMH99]. In [KS1] the histogram extension is mentioned for doing occlusion culling. Another hardware extension is the HP Occlusion Culling Flag [HP97], only available on the HP VISUALIZE fx graphics subsystem. Similar extensions are available on a small number of other graphics subsystems. 2 Traversal and Sorting For conservative occlusion culling, we must ensure that no pixel of a given occluded object is visible in the screen-space. Hence we are using an approximation of an axis-aligned bounding box (AABB) for the occlusion culling test. If no pixel of the AABB is visible in the screen-space, the content of the AABB must be hidden. However, if an AABB pixel is visible, its content is not necessarily visible, too. All three approaches presented in this paper work in image-space and use the z-buffer in some way for the occlusion culling test, thus accurate z-buffer values are needed to get correct culling results. This leads to a front-to-back sorted rendering of the given scene. Without front-to-back sorted rendering, results can vary and most of the hidden parts not found. Viewpoint Viewplane 2 1 Result z 3 1 Scene graph Figure 1: Example of a list for occlusion culling. OpenSG manages axis-aligned bounding boxes for every node in the graph. These nodes can be used as bounding boxes for the applied culling approach. At the moment only the AABB of the geometry nodes are used. The OpenSG classes RenderAction [RBV1] or DrawAction renders a scene graph and apply NodeAction callbacks during traversal. Due to the lack of depth-sorted traversal for frontto-back rendering in OpenSG, an customized implementation of
2 DrawAction is used. During the traversal of the scene graph every GeometryNode is collected by the NodeAction in a depthsorted list. The depth-value for sorting is determined by the nearest vertex of the bounding box. In the DrawAction::stop() method the depth-sorted list is traversed and one of the occlusion culling approaches is applied to every saved node. If a node s AABB is visible, the geometry is rendered or culled otherwise. 3 Occlusion Culling with Z-Buffer The OpenGL z-buffer can be used to get the visibility information of an AABB, because it always holds the correct depth-value for every pixel. To test occlusion, the depth-values of the AABB are computed and tested against the values of a z-buffer maintained in software. A glreadpixels() to read the OpenGL z-buffer is quite expensive, hence this operation is split in fragments. Each fragment has the same size, which is a multiple of the databus width to exploit memory alignment on the graphics card. A fragment is only read, if it is necessary for a pixel test. The test stops after at least one visible pixel. Every fragment holds two flags, an invalid and an unused flag. At the beginning of every frame all the unused flags are true and a tested pixel against this fragments leads always to a visible pixel without reading the OpenGL z-buffer. If a pixel is visible, the invalid bits of all 1 fragments are enabled, because the geometry of the bounding box will be rendered and the content of the z-buffer may change. For pixels inside fragments with a true invalid bit, we read the z-buffer and disable the invalid bit. the stencil-buffer (see Figure 3) by using glstencilop(). After rasterizing the AABB, the stencil-buffer is read and sampled in software. Occluded AABB will not contribute to z-buffer, hence will not cause a respective entry in the stencil-buffer. Viewpoint Viewplane z max Figure 3: Occlusion test with the stencil-buffer. 1 Visible 1 pixels Stencil buffer The actual implementation reads the whole region of the covered zone by the AABB. This could be optimized like the fragments in Section 3 or with the interleaving scanning scheme from [BMH98]. 5 Occlusion Culling with the HP Occlusion Culling Flag The HP Occlusion Culling Flag [HP97] is a small hardware extension, which returns information of the visibility of an object. The AABB is rendered through the pipeline with disabled color- and z-buffer writes. Is the result a visible AABB (at least one pixel of the AABB triggered a z-buffer write) the content of the bounding volume has to be rendered. If more general bounding volumes are available, the HP Occlusion Culling Flag provides a very easy and one of the fastest ways for doing Occlusion Culling [BKS1]. z 7 No backface culling With backface culling 6 5 microsec 3 Figure 2: Z-buffer with marked fragments. The dark (blue) fragments are used for tests. 2 1 In many scenes it is not necessary to render every detail. For this approach a minimum of visible pixels for a bounding box can be set. Only if at least this minimum of pixels is visible, the complete bounding box is set as visible. This leads to a speedup with a miner reduction in rendering quality. Occlusion Culling using the Stencil-Buffer As mentioned in [BMH98], the stencil-buffer can be used to compute visibility informations. During rasterization writing to the frameand z-buffer is disabled. For each pixel of the AABB the z-buffer test is applied. If the pixel would be visible, a value is written to 1 It would be enough to invalidate only the fragments with visible pixels pixel Figure : Latency for the HP Occlusion Culling flag on a Pentium III, 75 MHz with a VISUALIZE fx1 The performance of the HP Occlusion Culling Flag depends on the fillrate of the z-buffer. Larger bounding volumes need more time for the test, because the whole bounding volume passes always the z-buffer stage of the rendering pipeline. Figure shows the correlation between the size of a bounding volume in screen-space and the latency for an occlusion culling request. With enabled backface culling the test is almost twice as fast as without, because with backface culling only one scan through the z-buffer for the frontface is done. The latency is the same whether the result is visible or hidden.
3 6 OSGviewer Z-Buffer test Stencil-Buffer HP No culling Figure 5: Mainwindow of OSGviewer Figure 7: Framerates for the camera path. OSGviewer is a small application using OpenSG as rendering back end. For the graphical user interface is implemented with Qt and the QGLviewer ([Mei, QGL]) for camera control. OSGviewer allows browsing and editing of the OpenSG scene graph. Multiple views to the scene are allowed and QGLviewer enables interchanging of camera positions with drag and drop. These feature allows also the recording of camera positions. With the application CameraPathInterpolation from the QGLviewer package a camera path can be calculated and then viewed with the OSGviewer for reproducible performance measurements with different configurations. Min. Max. Avg. Deviation Avg. fps fps fps fps speedup No culling % Stencil test % Z-Buffer test % HP Flag % Table 1: Comparison between the used culling techniques The first benchmark (no culling) shows the performance of OpenSG without any changes. In the second benchmark we tested the performance of the stencil-buffer test. In the third test the z- buffer technique was applied and in the last one the HP Occlusion Culling flag was used. For all benchmark tests a Dual Pentium III with 75 MHz with a HP VISUALIZE fx1 running Linux was used for rendering. Although OpenSG supports threading, no threading was used for the tests. The resulting framerates show average speedups between 12% and 3%. 1 Hidden polygons Hidden nodes 8 Percent 6 Figure 6: Sceneview of OSGviewer with QGLviewer Frame 7 RESULTS For all tests we have used the FormulaOne car from the Jupiter project. The model has about 75. polygons in 36 geometry nodes. A camera path with 32 frames was created with the tools from the QGLviewer. In every frame the whole model is located within the viewing frustrum, therefore view frustrum culling itself does not remove geometry. In Figure 7 and Table 1, the resulting framerates are shown for the different occlusion culling techniques. Figure 8: Percentage of occluded nodea and polygons for the camera path. Occlusion culling generally depends on the scene and its depth complexity. Figure 8 show the percentage of hidden nodes and polygons in every frame. The limited depth complexity of the test dataset (about 6% of the polygons are detected as hidden) leads only to a limited culling performance. In scenes with a higher depth com-
4 plexity, a better performance can be expected, as preliminary tests indicate. The benchmarks show, that the HP Occlusion Culling Flag is the fastest solution in this test. The stencil- and z-buffer-tests show similar results, whereby the stencil-test will perform better in frames with lower depth-complexity (less setup- and rasterizationtime in software), while the z-buffer-test is faster in frames with more depth-complexity, because the z-buffer in software needs less updates (for hidden nodes is no update necessary). 8 CONCLUSIONS and FUTURE WORK In this paper, we tested three occlusion culling techniques for OpenSG to speedup the performance of large model rendering. The scene graph hierarchy was derived from the hierarchical part list of the MCAD model. In cooperation with the University of Braunschweig algorithms for special hierarchies will be developed. One of the major problems for the implemention of occlusion culling is the lack of enhanced traversal techniques in OpenSG. This will be available in the next public release of OpenSG. In conjunction with the enhanced traversal subsystem and the special hierarchies a clean API for culling will be defined like [Fue1]. Furthermore only the Pentium III PC with a VISUALIZE fx was used for the tests. Other architectures and graphics subsystems are in the focus of further development. We showed only image-based techniques which do not exploit features of special scenes or applications. Another point of development in the near future will be the implementation of portal and virtual occluder nodes. The virtual occluder nodes with shadow frustras mentioned in [HMC+97] The portal nodes will work like the portals for dynamic scenes. These new nodes can help to speedup special applications and scenes, e.g. architectural walkthroughs. To get further speedups, frame-to-frame coherence could be exploited, better bounding volumes as mentioned in [BKS1] could be used and in conjunction with special hierarchies and enhanced traversal schemes hierarchical approaches could be applied to cull complete subgraphs. ACKNOWLEDGEMENTS This work is supported by the OpenSG PLUS project of the bmb+f in Germany. The MCAD dataset are available from the Kelvin project [Jup]. We would like to thank Dirk Reiners, Gerrit Voss and Johannes Behr for their help in OpenSG programming. Manfred Weiler for his SGI support and SGbrowser code. Dirk Bartz and Alexander Ehlert from the University of Tübingen for proof reading. References [BKS1] D. Bartz, J. Klosowski, D. Staneker, Tighter Bounding Primitives for Better Occlusion Performance, Siggraph Visual Proc., 21 [BMH98] D. Bartz, M. Meißner, T. Hüttner, Extending Graphics Hardware for Occlusion Queries in OpenGL, In Proc. of Eurographics/SIGGRAPH Workshop on Graphics Hardware, pages 97-1, Lisboa, Portugal, August 1998 [BMH99] D. Bartz, M. Meißner, T. Hüttner, OpenGL-assisted Occlusion Culling of Large Polygonal Models, Computers and Graphics - Special Issue on Visibility - Technics and Applications, 23(5): , [BS99] D. Bartz, M. Skalej, VIVENDI - A Virtual Ventricle Endoscopy System for Virtual Medicine, EG/TVCG Symposiumon Visualization, , [BSS1] D. Bartz, D. Staneker, W. Straßer, Jupiter: A Toolkit for Interaction and Large Model Visualization, Proc. of Symposium on Parallel and Large Data Visualization and Graphics, 21 [CCDS2] D. Cohen-Or, Y. Chrysanthou, F. Durand, and C. Silva, Visibility: Problems, Techniques, and Application, In ACM SIGGRAPH Course, 2 [Cla76] J. Clark, Hierarchical Geometric Models for Visible Surface Algorithms, Communications of the ACM, Vol. 19, No. 1, 1976 [Dur99] F. Durand, 3D Visibility: Analytical study and Applications, PhD thesis, Universite Joseph Fourier, Grenoble, France, [Fue1] Christoph Fünfzig, Design of a flexible visibility library (draft), Computer Graphics, Digital Library Lab, Braunschweig Technical University, 21 [Gar99] M. Garland, Multiresolution Modeling: Survey and Future Opportunities, In Eurographics STAR report 2, [GCS91] Z. Gigus, J. Canny, R. Seidel, Efficiently Computing and Representing Aspect Graphs of Polyhedral Objects, IEEE Transactions on Pattern Analysis and Machine Intelligence, 13(6), S , 1991 [GKM93] N. Greene, M. Kass, G. Miller, Hierarchical z-buffer visibility, Proc. of ACM Siggraph, S , 1993 [HP97] Hewlett-Packard Company, GL HP Occlusion Test, Specification Document, erhältlich unter [HP98] Hewlett-Packard Company, Draft F, Jupiter 1. Specification, [HP] Hewlett-Packard Company, HP IA32 VISUALIZE fx5 and fx1 graphics accelerators, White Paper, HP 2 [HMC+97] T. Hudson, D. Manocha, J. Cohen, M. Lin, K. Hoff, H. Zhang, Accelerated Occlusion Culling using Shadow Frustra, Proc. of ACM Symposium on Computational Geometry, 1997 [Jup] The Kelvin Project, kelvin/ [KS1] J. Klosowski, C. Silva, Efficient Conservative Visibility Culling Using The Prioritized-Layered Projection Algorithm, IEEE Transactions on Visualization and Computer Graphics, 21 (to appear) [MBH+99] M. Meißner, D. Bartz, T. Hüttner, G. Müller, J. Einighammer, Generation of Subdivision Hierarchies for Efficient Occlusion Culling of Large Polygonal Models, Technical Report ISSN , Universität Tübingen, WSI-99-13, [Mei] M. Meißner, Occlusion Culling and Hardware Volume Rendering, Dissertation der Fakultät für Informatik der Eberhard-Karls-Universität Tübingen, 2 [OSG] OpenSG Forum, OpenSG - Open Source Scenegraph, 2
5 [QGL] QGLviewer, [RBV1] Dirk Reiners, Johannes Behe, Gerrit Voss, OpenSG Starter Guide Version 1., OpenSG 1. Source Release, 21 [Sev99] K. Severson, VISUALIZE fx Graphics Accelerator Hardware, Technical Report, Hewlett-Packard Company, documentation/whitepapers.html, [SGI99] SGI, Silicon Graphics Visual Workstation OpenGL Programming, Technical Report, SGI, [SOG98] N. D. Scott, D. M. Olsen, E. W. Gannett, An Overview of the VISUALIZE fx Graphics Accelerator Hardware, The Hewlett-Packard Journal, May 1998 [TS91] S. Teller, C.H. Sequin, Processing for Interactive Walkthroughs, Proc. of ACM Siggraph, S , 1991 [GL] OpenGL, Manual Pages, [GL99] OpenGL, Reference Manual, 3rd Edition, Longman Higher Education, [WND99] M. Woo, J. Neider, T. Davis, Open GL Programming Manual, 3rd Edition, Addison Wesley Longman Publishing, [ZMHH97] H. Zhang, D. Mannocha, T. Hudson, K. Hoff, Visibility Culling using Hierarchical Occlusion Maps, Proc. of ACM Siggraph, S , 1997
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
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.
Hardware-assisted Occlusion Culling for Scene Graph Systems
Hardware-assisted Occlusion Culling for Scene Graph Systems Dissertation der Fakultät für Informations- und Kognitionswissenschaften der Eberhard-Karls-Universität Tübingen zur Erlangung des Grades eines
A NEW METHOD OF STORAGE AND VISUALIZATION FOR MASSIVE POINT CLOUD DATASET
22nd CIPA Symposium, October 11-15, 2009, Kyoto, Japan A NEW METHOD OF STORAGE AND VISUALIZATION FOR MASSIVE POINT CLOUD DATASET Zhiqiang Du*, Qiaoxiong Li State Key Laboratory of Information Engineering
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: :
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
NVIDIA IndeX Enabling Interactive and Scalable Visualization for Large Data Marc Nienhaus, NVIDIA IndeX Engineering Manager and Chief Architect
SIGGRAPH 2013 Shaping the Future of Visual Computing NVIDIA IndeX Enabling Interactive and Scalable Visualization for Large Data Marc Nienhaus, NVIDIA IndeX Engineering Manager and Chief Architect NVIDIA
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
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
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
CUBE-MAP DATA STRUCTURE FOR INTERACTIVE GLOBAL ILLUMINATION COMPUTATION IN DYNAMIC DIFFUSE ENVIRONMENTS
ICCVG 2002 Zakopane, 25-29 Sept. 2002 Rafal Mantiuk (1,2), Sumanta Pattanaik (1), Karol Myszkowski (3) (1) University of Central Florida, USA, (2) Technical University of Szczecin, Poland, (3) Max- Planck-Institut
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
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
Petascale Visualization: Approaches and Initial Results
Petascale Visualization: Approaches and Initial Results James Ahrens Li-Ta Lo, Boonthanome Nouanesengsy, John Patchett, Allen McPherson Los Alamos National Laboratory LA-UR- 08-07337 Operated by Los Alamos
BUILDING TELEPRESENCE SYSTEMS: Translating Science Fiction Ideas into Reality
BUILDING TELEPRESENCE SYSTEMS: Translating Science Fiction Ideas into Reality Henry Fuchs University of North Carolina at Chapel Hill (USA) and NSF Science and Technology Center for Computer Graphics and
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
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
Distributed Area of Interest Management for Large-Scale Immersive Video Conferencing
2012 IEEE International Conference on Multimedia and Expo Workshops Distributed Area of Interest Management for Large-Scale Immersive Video Conferencing Pedram Pourashraf ICT Research Institute University
Image Based Rendering With Stable Frame Rates
huamin Department Image Based Rendering With Stable Frame Rates Huamin Qu Ming Wan Jiafa Qin Arie Kaufman Center for Visual Computing (CVC) and Department of Computer Science State University of New York
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/
OpenEXR Image Viewing Software
OpenEXR Image Viewing Software Florian Kainz, Industrial Light & Magic updated 07/26/2007 This document describes two OpenEXR image viewing software programs, exrdisplay and playexr. It briefly explains
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
Remote Graphical Visualization of Large Interactive Spatial Data
Remote Graphical Visualization of Large Interactive Spatial Data ComplexHPC Spring School 2011 International ComplexHPC Challenge Cristinel Mihai Mocan Computer Science Department Technical University
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
Image Synthesis. Transparency. computer graphics & visualization
Image Synthesis Transparency Inter-Object realism Covers different kinds of interactions between objects Increasing realism in the scene Relationships between objects easier to understand Shadows, Reflections,
Consolidated Visualization of Enormous 3D Scan Point Clouds with Scanopy
Consolidated Visualization of Enormous 3D Scan Point Clouds with Scanopy Claus SCHEIBLAUER 1 / Michael PREGESBAUER 2 1 Institute of Computer Graphics and Algorithms, Vienna University of Technology, Austria
Using Photorealistic RenderMan for High-Quality Direct Volume Rendering
Using Photorealistic RenderMan for High-Quality Direct Volume Rendering Cyrus Jam [email protected] Mike Bailey [email protected] San Diego Supercomputer Center University of California San Diego Abstract With
A Survey of Visibility for Walkthrough Applications
A Survey of Visibility for Walkthrough Applications Daniel Cohen-Or Tel Aviv University Yiorgos Chrysanthou University Of Cyprus Cláudio T. Silva AT&T Labs Frédo Durand MIT - LCS Abstract Visibility algorithms
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
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
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
REAL-TIME IMAGE BASED LIGHTING FOR OUTDOOR AUGMENTED REALITY UNDER DYNAMICALLY CHANGING ILLUMINATION CONDITIONS
REAL-TIME IMAGE BASED LIGHTING FOR OUTDOOR AUGMENTED REALITY UNDER DYNAMICALLY CHANGING ILLUMINATION CONDITIONS Tommy Jensen, Mikkel S. Andersen, Claus B. Madsen Laboratory for Computer Vision and Media
Scan-Line Fill. Scan-Line Algorithm. Sort by scan line Fill each span vertex order generated by vertex list
Scan-Line Fill Can also fill by maintaining a data structure of all intersections of polygons with scan lines Sort by scan line Fill each span vertex order generated by vertex list desired order Scan-Line
CS130 - Intro to computer graphics. Dr. Victor B. Zordan [email protected] www.cs.ucr.edu/~vbz. Objectives
CS130 - Intro to computer graphics Dr. Victor B. Zordan [email protected] www.cs.ucr.edu/~vbz Objectives Explore basics of computer graphics Survey application areas Today, brief introduction to graphics
Optimizing AAA Games for Mobile Platforms
Optimizing AAA Games for Mobile Platforms Niklas Smedberg Senior Engine Programmer, Epic Games Who Am I A.k.a. Smedis Epic Games, Unreal Engine 15 years in the industry 30 years of programming C64 demo
Virtuelle Realität. Overview. Termin 9: Scene Graphs. Virtuelle Realität. Prof. Bernhard Jung
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:
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
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
Overview Motivation and applications Challenges. Dynamic Volume Computation and Visualization on the GPU. GPU feature requests Conclusions
Module 4: Beyond Static Scalar Fields Dynamic Volume Computation and Visualization on the GPU Visualization and Computer Graphics Group University of California, Davis Overview Motivation and applications
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
Computer Graphics Global Illumination (2): Monte-Carlo Ray Tracing and Photon Mapping. Lecture 15 Taku Komura
Computer Graphics Global Illumination (2): Monte-Carlo Ray Tracing and Photon Mapping Lecture 15 Taku Komura In the previous lectures We did ray tracing and radiosity Ray tracing is good to render specular
Parallel Visualization for GIS Applications
Parallel Visualization for GIS Applications Alexandre Sorokine, Jamison Daniel, Cheng Liu Oak Ridge National Laboratory, Geographic Information Science & Technology, PO Box 2008 MS 6017, Oak Ridge National
Triangle Scan Conversion using 2D Homogeneous Coordinates
Triangle Scan Conversion using 2D Homogeneous Coordinates Marc Olano 1 Trey Greer 2 University of North Carolina Hewlett-Packard ABSTRACT We present a new triangle scan conversion algorithm that works
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
Stream Processing on GPUs Using Distributed Multimedia Middleware
Stream Processing on GPUs Using Distributed Multimedia Middleware Michael Repplinger 1,2, and Philipp Slusallek 1,2 1 Computer Graphics Lab, Saarland University, Saarbrücken, Germany 2 German Research
Efficient View-Dependent Image-Based Rendering with Projective Texture-Mapping
Efficient View-Dependent Image-Based Rendering with Projective Texture-Mapping Paul Debevec, Yizhou Yu, and George Borshukov Univeristy of California at Berkeley [email protected] Abstract. This
A JAVA-BASED MULTI-PARTICIPANT 3D GRAPHICS APPLICATION INTERFACE USING JAVAGL 1 AND JAVANL 2
A JAVA-BASED MULTI-PARTICIPANT 3D GRAPHICS APPLICATION INTERFACE USING JAVAGL 1 AND JAVANL 2 Bing-Yu Chen and Ming Ouhyoung Communications and Multimedia Laboratory, Department of Comer Science and Information
Intel Graphics Media Accelerator 900
Intel Graphics Media Accelerator 900 White Paper September 2004 Document Number: 302624-003 INFOMATION IN THIS DOCUMENT IS POVIDED IN CONNECTION WITH INTEL PODUCTS. NO LICENSE, EXPESS O IMPLIED, BY ESTOPPEL
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,
Silhouette Extraction Bruce Gooch, University of Utah
Lecture #2, Component #1 INTERPRETING FORM Silhouette Extraction Bruce Gooch, University of Utah Abstract In computer graphics, silhouette finding and rendering has a central role in a growing number of
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
APPLICATIONS OF LINUX-BASED QT-CUDA PARALLEL ARCHITECTURE
APPLICATIONS OF LINUX-BASED QT-CUDA PARALLEL ARCHITECTURE Tuyou Peng 1, Jun Peng 2 1 Electronics and information Technology Department Jiangmen Polytechnic, Jiangmen, Guangdong, China, [email protected]
Parallel Analysis and Visualization on Cray Compute Node Linux
Parallel Analysis and Visualization on Cray Compute Node Linux David Pugmire, Oak Ridge National Laboratory and Hank Childs, Lawrence Livermore National Laboratory and Sean Ahern, Oak Ridge National Laboratory
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
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
1. INTRODUCTION Graphics 2
1. INTRODUCTION Graphics 2 06-02408 Level 3 10 credits in Semester 2 Professor Aleš Leonardis Slides by Professor Ela Claridge What is computer graphics? The art of 3D graphics is the art of fooling the
Facts about Visualization Pipelines, applicable to VisIt and ParaView
Facts about Visualization Pipelines, applicable to VisIt and ParaView March 2013 Jean M. Favre, CSCS Agenda Visualization pipelines Motivation by examples VTK Data Streaming Visualization Pipelines: Introduction
GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series. By: Binesh Tuladhar Clay Smith
GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series By: Binesh Tuladhar Clay Smith Overview History of GPU s GPU Definition Classical Graphics Pipeline Geforce 6 Series Architecture Vertex
Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012
CSE 167: Introduction to Computer Graphics Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Today Course organization Course overview 2 Course Staff Instructor Jürgen Schulze,
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
An Implementation Of Multiprocessor Linux
An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than
Dual Marching Cubes: Primal Contouring of Dual Grids
Dual Marching Cubes: Primal Contouring of Dual Grids Scott Schaefer and Joe Warren Rice University 6100 Main St. Houston, TX 77005 [email protected] and [email protected] Abstract We present a method for
Fundamentals of Computer Graphics
Fundamentals of Computer Graphics INTRODUCTION! Sergio Benini! Department of Information Engineering Faculty of Engineering University of Brescia Via Branze, 38 25231 Brescia - ITALY 1 Overview Here you
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
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
Parallel Computing. Benson Muite. [email protected] http://math.ut.ee/ benson. https://courses.cs.ut.ee/2014/paralleel/fall/main/homepage
Parallel Computing Benson Muite [email protected] http://math.ut.ee/ benson https://courses.cs.ut.ee/2014/paralleel/fall/main/homepage 3 November 2014 Hadoop, Review Hadoop Hadoop History Hadoop Framework
QuickSpecs. NVIDIA Quadro K5200 8GB Graphics INTRODUCTION. NVIDIA Quadro K5200 8GB Graphics. Technical Specifications
J3G90AA INTRODUCTION The NVIDIA Quadro K5200 gives you amazing application performance and capability, making it faster and easier to accelerate 3D models, render complex scenes, and simulate large datasets.
Binary search tree with SIMD bandwidth optimization using SSE
Binary search tree with SIMD bandwidth optimization using SSE Bowen Zhang, Xinwei Li 1.ABSTRACT In-memory tree structured index search is a fundamental database operation. Modern processors provide tremendous
Visualizing Data: Scalable Interactivity
Visualizing Data: Scalable Interactivity The best data visualizations illustrate hidden information and structure contained in a data set. As access to large data sets has grown, so has the need for 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,
GPGPU Computing. Yong Cao
GPGPU Computing Yong Cao Why Graphics Card? It s powerful! A quiet trend Copyright 2009 by Yong Cao Why Graphics Card? It s powerful! Processor Processing Units FLOPs per Unit Clock Speed Processing Power
Real-Time Graphics Architecture
Real-Time Graphics Architecture Kurt Akeley Pat Hanrahan http://www.graphics.stanford.edu/courses/cs448a-01-fall Display and Framebuffer Displays Key properties Bandwidth Framebuffers Definitions and key
Go to contents 18 3D Visualization of Building Services in Virtual Environment
3D Visualization of Building Services in Virtual Environment GRÖHN, Matti Gröhn; MANTERE, Markku; SAVIOJA, Lauri; TAKALA, Tapio Telecommunications Software and Multimedia Laboratory Department of Computer
Load Balancing for Multi-Projector Rendering Systems
Load Balancing for Multi-Projector Rendering Systems Rudrajit Samanta, Jiannan Zheng, Thomas Funkhouser, Kai Li, and Jaswinder Pal Singh Princeton University Abstract Multi-projector systems are increasingly
Graph Database Proof of Concept Report
Objectivity, Inc. Graph Database Proof of Concept Report Managing The Internet of Things Table of Contents Executive Summary 3 Background 3 Proof of Concept 4 Dataset 4 Process 4 Query Catalog 4 Environment
QuickSpecs. NVIDIA Quadro K5200 8GB Graphics INTRODUCTION. NVIDIA Quadro K5200 8GB Graphics. Overview. NVIDIA Quadro K5200 8GB Graphics J3G90AA
Overview J3G90AA INTRODUCTION The NVIDIA Quadro K5200 gives you amazing application performance and capability, making it faster and easier to accelerate 3D models, render complex scenes, and simulate
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
Segmentation of building models from dense 3D point-clouds
Segmentation of building models from dense 3D point-clouds Joachim Bauer, Konrad Karner, Konrad Schindler, Andreas Klaus, Christopher Zach VRVis Research Center for Virtual Reality and Visualization, Institute
Low power GPUs a view from the industry. Edvard Sørgård
Low power GPUs a view from the industry Edvard Sørgård 1 ARM in Trondheim Graphics technology design centre From 2006 acquisition of Falanx Microsystems AS Origin of the ARM Mali GPUs Main activities today
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,
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
CAUSTICS are complex patterns of shimmering
SCHOOL OF ENGINEERING AND COMPUTER SCIENCE, UNIVERSITY OF CENTRAL FLORIDA, CS TR 50-07 1 Caustics Mapping: An Image-space Technique for Real-time Caustics Musawir Shah, Sumanta Pattanaik Abstract In this
An Application of Scalable Massive Model Interaction using Shared-Memory Systems
Eurographics Symposium on Parallel Graphics and Visualization (2006) Alan Heirich, Bruno Raffin, and Luis Paulo dos Santos (Editors) An Application of Scalable Massive Model Interaction using Shared-Memory
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
Announcements. Active stereo with structured light. Project structured light patterns onto the object
Announcements Active stereo with structured light Project 3 extension: Wednesday at noon Final project proposal extension: Friday at noon > consult with Steve, Rick, and/or Ian now! Project 2 artifact
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
