M4G - A Surface Representation for Adaptive CPU-GPU Computation

Similar documents
INF3320 Computer Graphics and Discrete Geometry

Lecture 4: Geometry Processing. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011)

Direct Rendering of Trimmed NURBS Surfaces

Using Semi-Regular 4 8 Meshes for Subdivision Surfaces

Parameterization with Manifolds

Geometry Processing & Geometric Queries. Computer Graphics CMU /15-662

3D Rasterization II COS 426

Justin Solomon MIT, Spring Numerical Geometry of Nonrigid Shapes

Subdivision Curves and Surfaces: An Introduction

AutoCAD DWG Drawing Limitations in SAP 3D Visual Enterprise 9.0 FP02

Programmable Shaders for Deformation Rendering

Parallel Computation of Spherical Parameterizations for Mesh Analysis. Th. Athanasiadis and I. Fudos University of Ioannina, Greece

Ray Casting of Trimmed NURBS Surfaces on the GPU

CS452/552; EE465/505. Clipping & Scan Conversion

L10 Layered Depth Normal Images. Introduction Related Work Structured Point Representation Boolean Operations Conclusion

Information Coding / Computer Graphics, ISY, LiTH. Splines

AutoCAD DWG Drawing Limitations in SAP 3D Visual Enterprise 9.0 FP03

Algorithms for GIS. Spatial data: Models and representation (part I) Laura Toma. Bowdoin College

CS354 Computer Graphics Surface Representation IV. Qixing Huang March 7th 2018

Efficient GPU Rendering of Subdivision Surfaces. Tim Foley,

Mesh Representations & Geometry Processing

Approximate Catmull-Clark Patches. Scott Schaefer Charles Loop

Real - Time Rendering. Pipeline optimization. Michal Červeňanský Juraj Starinský

1. Introduction. 2. Parametrization of General CCSSs. 3. One-Piece through Interpolation. 4. One-Piece through Boolean Operations

Surface and Solid Geometry. 3D Polygons

Parameterization. Michael S. Floater. November 10, 2011

The Graphics Pipeline

Subdivision overview

The Ball-Pivoting Algorithm for Surface Reconstruction

Generalizing the C 4 Four-directional Box Spline to Surfaces of Arbitrary Topology Luiz Velho Abstract. In this paper we introduce a new scheme that g

From curves to surfaces. Parametric surfaces and solid modeling. Extrusions. Surfaces of revolution. So far have discussed spline curves in 2D

Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts

coding of various parts showing different features, the possibility of rotation or of hiding covering parts of the object's surface to gain an insight

Parameterization of Meshes

Mathematical Tools in Computer Graphics with C# Implementations Table of Contents

CS770/870 Fall 2015 Advanced GLSL

The Graphics Pipeline

CS 523: Computer Graphics, Spring Shape Modeling. Differential Geometry of Surfaces

Physically-Based Modeling and Animation. University of Missouri at Columbia

An Algorithm of 3D Mesh Reconstructing Based on the Rendering Pipeline

Real-Time Shape Editing using Radial Basis Functions

Clipping. CSC 7443: Scientific Information Visualization

Beginning Direct3D Game Programming: 1. The History of Direct3D Graphics

Triangle meshes I. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2017

Meshes and Manifolds. Computer Graphics CMU /15-662

Grafica 3D per i beni culturali: MeshLab features. Lezione 7: 22 Marzo 2013

Cross-Parameterization and Compatible Remeshing of 3D Models

Mesh Quality Tutorial

Triangle meshes I. CS 4620 Lecture 2

CS 523: Computer Graphics, Spring Differential Geometry of Surfaces

6.837 Introduction to Computer Graphics Final Exam Tuesday, December 20, :05-12pm Two hand-written sheet of notes (4 pages) allowed 1 SSD [ /17]

Applications. Oversampled 3D scan data. ~150k triangles ~80k triangles

Ciril Bohak. - INTRODUCTION TO WEBGL

All the Polygons You Can Eat. Doug Rogers Developer Relations

GPU-Based Visualization of AMR and N-Body Dark Matter Simulation Data. Ralf Kähler (KIPAC/SLAC)

Advanced Geometric Modeling CPSC789

Geodesic Paths on Triangular Meshes

Geodesic Paths on Triangular Meshes

Geometric Modeling in Graphics

Geometric Modeling. Mesh Decimation. Mesh Decimation. Applications. Copyright 2010 Gotsman, Pauly Page 1. Oversampled 3D scan data

Tiled Textures What if Miro Had Painted a Sphere

Image Morphing. The user is responsible for defining correspondences between features Very popular technique. since Michael Jackson s clips

Review of Tuesday. ECS 175 Chapter 3: Object Representation

Surface Reconstruction from Unorganized Points

Towards Adaptive Rendering of Smooth Primitives on GPUs

Luiz Fernando Martha André Pereira

Scan Conversion of Polygons. Dr. Scott Schaefer

Graphics and Interaction Rendering pipeline & object modelling

CS337 INTRODUCTION TO COMPUTER GRAPHICS. Describing Shapes. Constructing Objects in Computer Graphics. Bin Sheng Representing Shape 9/20/16 1/15

Subdivision Surfaces

Numerical Geometry of Nonrigid Shapes. CS 468, Spring 2013 Differential Geometry for Computer Science Justin Solomon and Adrian Butscher

Approximating Subdivision Surfaces with Gregory Patches for Hardware Tessellation

Chapter IV Fragment Processing and Output Merging. 3D Graphics for Game Programming

Semi-Regular 4 8 Refinement and Box Spline Surfaces

Ray Casting on Programmable Graphics Hardware. Martin Kraus PURPL group, Purdue University

Mesh Repairing and Simplification. Gianpaolo Palma

Cloth Simulation on the GPU. Cyril Zeller NVIDIA Corporation

CS123 INTRODUCTION TO COMPUTER GRAPHICS. Describing Shapes. Constructing Objects in Computer Graphics 1/15

Shape Modeling and Geometry Processing

Curve Corner Cutting

Graphic Display of Vector Object

COMP30019 Graphics and Interaction Rendering pipeline & object modelling

Lecture outline. COMP30019 Graphics and Interaction Rendering pipeline & object modelling. Introduction to modelling

FINAL REPORT. Tessellation, Fairing, Shape Design, and Trimming Techniques for Subdivision Surface based Modeling

Texture Mapping using Surface Flattening via Multi-Dimensional Scaling

View-dependent Refinement of Multiresolution Meshes Using Programmable Graphics Hardware <CGI special issue>

Rendering Subdivision Surfaces Efficiently on the GPU

GEOMETRIC LIBRARY. Maharavo Randrianarivony

Textures and normals in ray tracing

Processing 3D Surface Data

Subdivision Surfaces. Homework 1: Last Time? Today. Bilinear Patch. Tensor Product. Spline Surfaces / Patches

Fast marching methods

Computer Graphics 7 - Rasterisation

12.3 Subdivision Surfaces. What is subdivision based representation? Subdivision Surfaces

Algorithms for GIS csci3225

Gaël Guennebaud Loïc Barthe, Mathias Paulin IRIT UPS CNRS TOULOUSE FRANCE Gaël Guennebaud Cyprus June 2006

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

EE 4702 GPU Programming

Understanding Geospatial Data Models

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

Transcription:

M4G - A Surface Representation for Adaptive CPU-GPU Computation Vision and Graphics Lab Institute of Pure and Applied Mathematics Trimester Program on Computational Manifolds and Applications November 22, 2011 Rio de Janeiro, Brazil

Manifolds-for-GPUs (M4G) Goal Surface Dynamic and adaptive CPU-GPU computation Source Scanned triangular meshes Application (e.g.) Progressive visualization

Manifolds-for-GPUs (M4G) Goal Considerations Surface Ongoing work Dynamic and adaptive Make several assumptions CPU-GPU computation Use many known techniques Source Scanned triangular meshes Application (e.g.) Progressive visualization The "manifold" word is used lightly

basic :: surface triangular mesh

basic :: surface halfedge structure triangular mesh

basic :: subdivision surface quadrangular base mesh

basic :: subdivision surface quadrangular base mesh Catmull-Clark subdivision

our goal surface

our goal surface simplification process base mesh

our goal surface 4-8 mesh base mesh

our goal atlas surface 4-8 mesh collection of charts base mesh

our goal atlas surface 4-8 mesh collection of charts II-bimba-base-wire-up.avi base mesh

problem statement surface + base mesh

problem statement surface + base mesh how to build a correspondence?

problem statement Multi-resolution structure surface Low-level in the CPU + High-level in the GPU Dynamic controllable base mesh how to build a correspondence? IV-bimba-cpu-gpu-up-down.avi

problem statement + correspondence

problem statement + correspondence chart boundaries build an atlas

problem statement + correspondence parameterizations: curves (1D) and interior (2D) chart boundaries finding curves over the surface build an atlas

finding curves over the surface first thought :: geodesics nice grid of charts

finding curves over the surface problem with geodesics avoiding high frequencies inconsistency through chart boundaries how to find better curves over the surface?

finding curves over the surface problem with geodesics corresponding boundary curve

finding curves over the surface work in progress :: new algorithm boundary curve based on cutting plane

finding curves over the surface work in progress :: new algorithm assign an "edge normal" based on the base mesh faces define cutting planes for each chart boundary (base mesh edges)

finding curves over the surface new algorithm :: problem solved? assign an "edge normal" based on the base mesh faces define cutting planes for each chart boundary (base mesh edges)

finding curves over the surface problem with new algorithm ok here computing without considering others matching all cutting planes to agree without intersection on curves is difficult (maybe even NP-Complete?) inconsistency through chart boundaries

building an atlas surface and curves

building an atlas surface and curves

building an atlas surface and curves parameterize curves by arc-length

building an atlas surface and curves parameterize curves by arc-length

building an atlas parameterize interior using a known technique (such as [Floater, 2003]) surface and curves parameterize curves by arc-length

building an atlas parameterize interior using a known technique (such as [Floater, 2003]) surface and curves parameterize curves by arc-length http://www.cgal.org/manual/latest/doc_html/cgal_manual/surface_mesh_parameterization/chapter_main.html

building an atlas composed both in the M4G atlas parameterize interior using a known technique (such as [Floater, 2003]) surface and curves parameterize curves by arc-length

comparing parameterizations [Floater, 2003] chosen result

4-8 mesh base mesh

4-8 mesh tile (triquad: triangulated quadrangulation) base mesh

4-8 mesh tile base mesh chart

4-8 mesh tile chart 1D shared parameterization base mesh 2D separate parameterization

4-8 mesh tile base mesh chart

4-8 mesh tile base mesh chart lookup surface properties in the interior of chart

4-8 mesh tile base mesh chart lookup in the boundary of chart

4-8 mesh tile base mesh chart refinement and simplification occur in the CPU...

4-8 mesh tile base mesh chart refinement and simplification occur in the CPU... VI-bimba-texture-lines.avi

CPU-GPU coupled computation dense mesh Multi-resolution structure base mesh

CPU-GPU coupled computation dense mesh Multi-resolution structure controlled by the CPU base mesh

CPU-GPU coupled computation dense mesh tessellated by the GPU Multi-resolution structure base mesh

CPU-GPU coupled computation

CPU-GPU coupled computation footnote patch vertices can be defined vertices vertex shader controls the tessellation level of the patches specify properties of tessellated vertices tessellation control shader tessellation evaluation shader tessellator geometry shader fragment shader rasterizer pixels

CPU-GPU coupled computation footnote patch vertices can be defined vertices vertex shader controls the tessellation level of the patches specify properties of tessellated vertices tessellation control shader tessellation evaluation shader tessellator VIII-bimba-min-max.avi geometry shader fragment shader rasterizer pixels

applications progressive visualization

applications progressive visualization XV-bimba-top-down.avi

conclusions An adaptive surface Controlled by both the CPU and the GPU Boundary curves are still tricky Atlas storage is naïve More meaningful applications making of...

finding boundary curves using global parameterization as initial guess base mesh on top of domain? is it still a valid mesh? on the interior?

Thank You! Trimester Program on Computational Manifolds and Applications andmax@gmail.com http://www.impa.br/~andmax acknowledgements: