Abstract: Digital 3D models are used in industry during the design process. Our client, Siemens PLM, creates software to allow these businesses to view.

Slides:



Advertisements
Similar presentations
15.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 15 – Visible Surfaces and Shadows.
Advertisements

Real-Time Rendering 靜宜大學資工研究所 蔡奇偉副教授 2010©.
CS 352: Computer Graphics Chapter 7: The Rendering Pipeline.
Object Space EWA Surface Splatting: A Hardware Accelerated Approach to High Quality Point Rendering Liu Ren Hanspeter Pfister Matthias Zwicker CMU.
Graphics Pipeline.
Computer Graphic Creator: Mohsen Asghari Session 2 Fall 2014.
3D Graphics Rendering and Terrain Modeling
Two Methods for Fast Ray-Cast Ambient Occlusion Samuli Laine and Tero Karras NVIDIA Research.
CAP4730: Computational Structures in Computer Graphics Visible Surface Determination.
Computer Graphics Visible Surface Determination. Goal of Visible Surface Determination To draw only the surfaces (triangles) that are visible, given a.
Working with Huge Digital Prototypes: Autodesk Inventor Large-Assembly Best Practices Dan Miles INCAT Autodesk Practice Manager =
Computer Graphics Hardware Acceleration for Embedded Level Systems Brian Murray
Streaming QSplat: A Viewer for Networked Visualization of Large, Dense Models Szymon Rusinkiewicz Marc Levoy Stanford University.
1 CSCE 441: Computer Graphics Hidden Surface Removal (Cont.) Jinxiang Chai.
IAT 3551 Computer Graphics Overview Color Displays Drawing Pipeline.
Parallel Rendering Ed Angel
Introduction to OpenGL. What is OpenGL OpenGL is a low-level software interface to graphics hardware No commands for performing windowing tasks or obtaining.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
3D Rendering with JOGL Introduction to Java OpenGL Graphic Library By Ricardo Veguilla
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Beyond Meshes Spring 2012.
Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays Paper by Kenneth Moreland, Brian Wylie, and Constantine Pavlakos Presented.
Digital Graphics and Computers. Hardware and Software Working with graphic images requires suitable hardware and software to produce the best results.
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
Polygon Scan Conversion and Z-Buffering
Humanoid Robot Head May Team Members: Client/Faculty Advisor: Dan Potratz (CprE) Tim Meer (EE) Dr. Alex Stoytchev Cody Genkinger (CprE) Jason Pollard.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Parallel Rendering 1. 2 Introduction In many situations, standard rendering pipeline not sufficient ­Need higher resolution display ­More primitives than.
CSE 381 – Advanced Game Programming Basic 3D Graphics
Classification of Computers
NDVI-based Vegetation Rendering CGIM ‘07 Stefan Roettger, University of Erlangen
MIT EECS 6.837, Durand and Cutler Graphics Pipeline: Projective Transformations.
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 2 SPRING 2015 DR. MICHAEL J. REALE.
Research into efficient rendering of large data sets By Rachel Chu and Daniel Tenedorio.
Virtual Olivier Models Senior Project Presentation By Michael Pinch Advisor: Professor Hannay Client: Tom Smith.
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
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.
CS-378: Game Technology Lecture #4: Texture and Other Maps Prof. Okan Arikan University of Texas, Austin V Lecture #4: Texture and Other Maps.
1Computer Graphics Lecture 4 - Models and Architectures John Shearer Culture Lab – space 2
2 COEN Computer Graphics I Evening’s Goals n Discuss application bottleneck determination n Discuss various optimizations for making programs execute.
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
04/23/03© 2003 University of Wisconsin Where We’ve Been Photo-realistic rendering –Accurate modeling and rendering of light transport and surface reflectance.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
PMR: Point to Mesh Rendering, A Feature-Based Approach Tamal K. Dey and James Hudson
Visualization Four groups Design pattern for information visualization
3/16/04James R. McGirr1 Interactive Rendering of Large Volume Data Sets Written By : Stefan Guthe Michael Wand Julius Gonser Wolfgang Straβer University.
1 Perception and VR MONT 104S, Fall 2008 Lecture 20 Computer Graphics and VR.
What are shaders? In the field of computer graphics, a shader is a computer program that runs on the graphics processing unit(GPU) and is used to do shading.
Real-Time Dynamic Shadow Algorithms Evan Closson CSE 528.
Large Scale Structure of the Universe Sameshan Perumal and Carl Hultquist.
Efficient Ray Tracing of Compressed Point Clouds Erik Hubo Tom Mertens Tom Haber Philippe Bekaert Expertise Centre for Digital Media Hasselt University.
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.
Computer Graphics Overview
- Introduction - Graphics Pipeline
Modeling 101 For the moment assume that all geometry consists of points, lines and faces Line: A segment between two endpoints Face: A planar area bounded.
Real-Time Ray Tracing Stefan Popov.
3D Graphics Rendering PPT By Ricardo Veguilla.
3D Object Representations
CS451Real-time Rendering Pipeline
Models and Architectures
Models and Architectures
Introduction to Computer Graphics with WebGL
OpenGL Visualization of Hurricane Isabel
Models and Architectures
CSCE 441: Computer Graphics Hidden Surface Removal (Cont.)
CS-378: Game Technology Lecture #4: Texture and Other Maps
Models and Architectures
Figure 3. Converting an expression into a binary expression tree.
Presentation transcript:

Abstract: Digital 3D models are used in industry during the design process. Our client, Siemens PLM, creates software to allow these businesses to view and compare 3D models. One type of 3D model a business may obtain is called a point cloud, which is a large group of points in (x,y,z) space with no connections between the points. Most hardware and software is optimized to handle the far more common polygon-based 3D models, and Siemens PLM currently has no program capable of rendering large models made completely of points. Our task was to design and create a program to render (draw on screen) very large point clouds (hundreds of millions to a billion points). Our design involves a process of converting the point data into a usable structure, going through this structure efficiently to find which points should be drawn, and then efficiently representing the points on the screen. Problem Statement: Rendering very large point clouds comes with the challenges of handling memory and making sure we maintain a frame rate high enough to allow the user to interact with the model. We need a solution that will not use a huge amount of system RAM and can quickly decide which points need to be rendered. Project Requirements: Functional Requirements: Load a billion-point point cloud provided by Siemens Allow the user to rotate, zoom, and pan on a point cloud model Non-Functional Requirements: Maintain an interactive frame rate of no less than 10 fps at 1080p Render the highest quality representation of the point cloud Programmed using C++ Operating Environment: Windows PC with graphics card supporting OpenGL 3.3 or higher Visual Results: From left-to-right, our baseline result, our balanced result, and our highest quality result using the Stanford lion (approx. 180,000 points). Circles (Billboard) Hexagons Blended OpenGL Points (Size: Right-1, Left-3) Rendering: As world state, we have a virtual camera defined by three orthonormal vectors and a position. From the traversal, we get a set of points, each with a position, a radius, a normal vector representing the surface, and a color. For each point, we create a representation for its surface, a splat, by following steps 1-5. This is done for all points once per frame. Step 0 The point, normal vector, and virtual camera relative to the model’s coordinate system Step 1 Use the normal vector to define the plane of the splat and a 2D coordinate system with the point as zero Step 2 Using that coordinate system create a polygon or circle with the given radius and color Step 3 The splat relative to the model’s coordinate system Step 4 Transform the splat to be relative the virtual camera’s coordinate system Step 5 Transform the splat to be relative the screen’s coordinate system Level of Detail Progression Nodes are organized spatially using a tree of nested spheres. Tree leaves are points. Nodes higher in the tree are approximations of groups of nodes. An approximation can be rendered more quickly than a group of nodes, leading to a speed/quality tradeoff. Members: Joel Rausch CprE Eric JensenSE/ME Christopher JeffersCprE Faculty Advisor: Dr. Simanta Mitra Client: Michael Carter Andreas Johannsen Siemens PLM Software Results: Using our QSplat variant, we successfully decoupled the size of the point cloud from the frame rate. We developed six types of splats to balance between quality and rendering time. Blending splats together produces the highest quality, but the slowest rendering time. Our circle splat produced the highest quality and was the fastest of our non-blending types. The chart below shows the frames rates produced for each type of splat when rendering a billion-point cloud at a resolution of 1920x1080. Billboard: Splats do not overlap 3D Depth: Splats overlap PC Billboard: Corrected Interpolation Stanford Lion © Stanford Computer Graphics Laboratory Block Diagram: Our application performs two major tasks, traversal and rendering. These are run on separate, dedicated threads of execution. Traversal involves looking through the model for visible points. The visible points are then stored in a buffer for the renderer to draw to the screen every frame. Note: The frame rate was capped at 29.4 fps for this test. Solution: Our research lead us to a point cloud rendering system created at Stanford University in the year 2000, called QSplat. This system creates a very efficient and compressed tree structure for our point data that allows us to keep system memory usage low. Traversing this tree structure allows us to easily find where a point should be rendered. We are able to improve upon their methods because of improved hardware they did not have while creating QSplat. This allowed us to reach our goal of rendering a point cloud with a billion points.