Programmable Shaders for Deformation Rendering

Similar documents
C. Correa & D. Silver / Programmable Shaders for Deformation Rendering

Direct Rendering of Trimmed NURBS Surfaces

Hardware Accelerated Volume Visualization. Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences

CS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST

3/1/2010. Acceleration Techniques V1.2. Goals. Overview. Based on slides from Celine Loscos (v1.0)

An Efficient Approach for Emphasizing Regions of Interest in Ray-Casting based Volume Rendering

The Graphics Pipeline

2.11 Particle Systems

Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters.

CS427 Multicore Architecture and Parallel Computing

The Application Stage. The Game Loop, Resource Management and Renderer Design

Applications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research

Applications of Explicit Early-Z Culling

Interactive Methods in Scientific Visualization

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

Scan line algorithm. Jacobs University Visualization and Computer Graphics Lab : Graphics and Visualization 272

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

Advanced GPU Raycasting

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Real-Time Hair Simulation and Rendering on the GPU. Louis Bavoil

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Comparison of CPU and GPGPU performance as applied to procedurally generating complex cave systems

GPU Computation Strategies & Tricks. Ian Buck NVIDIA

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]

Homework 1: Implicit Surfaces, Collision Detection, & Volumetric Data Structures. Loop Subdivision. Loop Subdivision. Questions/Comments?

Texture. Texture Mapping. Texture Mapping. CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

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

Computer Graphics Ray Casting. Matthias Teschner

Real-Time Reyes Programmable Pipelines and Research Challenges

GPU-based Volume Rendering. Michal Červeňanský

Comparing Reyes and OpenGL on a Stream Architecture

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

Clipping. CSC 7443: Scientific Information Visualization

3D Modeling: Solid Models

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp

CPSC GLOBAL ILLUMINATION

CS 354R: Computer Game Technology

Hardware-Assisted Relief Texture Mapping

PowerVR Hardware. Architecture Overview for Developers

Volume Graphics Introduction

Interactive Cloth Simulation. Matthias Wloka NVIDIA Corporation

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015

Lecture 13: Reyes Architecture and Implementation. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011)

B-KD Trees for Hardware Accelerated Ray Tracing of Dynamic Scenes

Craig Peeper Software Architect Windows Graphics & Gaming Technologies Microsoft Corporation

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

A Bandwidth Effective Rendering Scheme for 3D Texture-based Volume Visualization on GPU

INFOMAGR Advanced Graphics. Jacco Bikker - February April Welcome!

Ray Tracing. Computer Graphics CMU /15-662, Fall 2016

High-Quality Surface Splatting on Today s GPUs

Ray Casting of Trimmed NURBS Surfaces on the GPU

Topic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping

Sung-Eui Yoon ( 윤성의 )

Topic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized

GPU-Accelerated Deep Shadow Maps

GPU-Accelerated Deep Shadow Maps for Direct Volume Rendering

Graphics Processing Unit Architecture (GPU Arch)

Topic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural

X. GPU Programming. Jacobs University Visualization and Computer Graphics Lab : Advanced Graphics - Chapter X 1

Dominic Filion, Senior Engineer Blizzard Entertainment. Rob McNaughton, Lead Technical Artist Blizzard Entertainment

This work is about a new method for generating diffusion curve style images. Although this topic is dealing with non-photorealistic rendering, as you

Volume Illumination. Visualisation Lecture 11. Taku Komura. Institute for Perception, Action & Behaviour School of Informatics

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development

First Steps in Hardware Two-Level Volume Rendering

Chapter 11 Global Illumination. Part 1 Ray Tracing. Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11.

Real - Time Rendering. Graphics pipeline. Michal Červeňanský Juraj Starinský

Computer Graphics 10 - Shadows

Real-Time Volumetric Smoke using D3D10. Sarah Tariq and Ignacio Llamas NVIDIA Developer Technology

Contouring and Isosurfaces. Ronald Peikert SciVis Contouring 2-1

Cloth Simulation on the GPU. Cyril Zeller NVIDIA Corporation

Abstract. 2 Description of the Effects Used. 1 Introduction Phong Illumination Bump Mapping

GPU Memory Model. Adapted from:

Advanced 3D-Data Structures

M4G - A Surface Representation for Adaptive CPU-GPU Computation

Acceleration Data Structures

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

Solid Modeling. Ron Goldman Department of Computer Science Rice University

Abstract. Introduction. Kevin Todisco

C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE. Mikhail Bessmeltsev

Rendering Objects. Need to transform all geometry then

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology

Real-Time Reyes: Programmable Pipelines and Research Challenges. Anjul Patney University of California, Davis

Real-Time Voxelization for Global Illumination

Improved Deep Image Compositing Using Subpixel Masks

Approximating Subdivision Surfaces with Gregory Patches for Hardware Tessellation

Easy Decal Version Easy Decal. Operation Manual. &u - Assets

Bringing Hollywood to Real Time. Abe Wiley 3D Artist 3-D Application Research Group

Enabling immersive gaming experiences Intro to Ray Tracing

3D Representation and Solid Modeling

Dynamic Ambient Occlusion and Indirect Lighting. Michael Bunnell NVIDIA Corporation

COMP 175: Computer Graphics April 11, 2018

PERFORMANCE CAPTURE FROM SPARSE MULTI-VIEW VIDEO

Computer Graphics. Shadows

Building scalable 3D applications. Ville Miettinen Hybrid Graphics

The Rasterization Pipeline

Streaming Massive Environments From Zero to 200MPH

Photorealism vs. Non-Photorealism in Computer Graphics

COMP 4801 Final Year Project. Ray Tracing for Computer Graphics. Final Project Report FYP Runjing Liu. Advised by. Dr. L.Y.

Display. Introduction page 67 2D Images page 68. All Orientations page 69 Single Image page 70 3D Images page 71

Transcription:

Programmable Shaders for Deformation Rendering Carlos D. Correa, Deborah Silver Rutgers, The State University of New Jersey

Motivation We present a different way of obtaining mesh deformation. Not a modeling, but a rendering problem. We aim towards generation of high-quality deformations on meshes of arbitrary tessellation. Can we define a shader for doing deformation as a rendering step? Advantages: Independent of mesh resolution Allows cuts without the need for re-meshing Incorporates other rendering effects, such as shadows, translucency,

Effects of Mesh Resolution

Simulation of Cuts No need for re-meshing Allows virtual modeling of solid and hollow objects

Deformation in the GPU Mesh CPU K GPU d New mesh Graphics Pipeline Discretization of physical properties Solution of a PDE Mesh CPU p Vertex p Pixel Shader Shader User handles Vertex Texture Deformation Definition

Our Approach Mesh CPU/GPU Proxy geometry Vertex Shader Pixel Shader Implicit Representation Deformation Texture Implicit Texture Deformation Definition

Pipeline Mapping: define a bounding volume B(S D ) where deformation is applied Render remaining part of mesh (orange) using traditional shaders Render B(S D ) using raycasting and deformation shader Composition: Allow a small overlap between B(S D ) and remaining mesh. Do alpha blending in the overlap region (the blending boundary is defined by the deformation texture, deformation must be zero in that boundary)

Pipeline Programmability of each stage helps realize a number of techniques. WARPING SAMPLING FIND INTERSECTION LIGHTING -Empirical model (procedural, FFD) -Displacement Map -Physics Simulation Implicit Surface -Procedural -Distance Field -Sparse Implicit -Depth map -Linear search -Linear search + binary refinement -Adaptive search (threshold) -LG surfaces

Ray traversal Rendering of an implicit function f is obtained by traversing a ray and finding the intersections with the zero-set: f (p) = 0 1 1 2 2 3 5 7 6 3 4 7 5 6 4 Linear search with binary refinement Adaptive Linear search (threshold-based)

Ray traversal (2) For the deformed surface, raycasting must find the intersections with the zero-set: f (p + D(p)) = 0 where D is a displacement texture (2D or 3D) Same search strategies should apply. Exception: Large deformations such as a long narrow pull changes dramatically the spatial frequency of the mesh Adaptive Sampling: 1 δt i = δs (I + J D (t))v p i+1 = p i + δt i v

Adaptive Sampling A long narrow pull applied to the golf-ball dataset (a) Linear search may miss some intersections (b) Threshold-based adaptation solves some problems, but threshold must be set dynamically to recover the deformed surface (c) Adaptive sampling using the displacement Jacobian finds the intersection (d)

Lighting Whenever an intersection is found, we compute lighting parameters. Normal can be estimated from the original normal of the implicit representation (which in turn it s its gradient), and transformed using the Jacobian transpose of the deformation.

Cuts Shader One advantage of using deformation as a fragment shader, is the ability to define cuts without splitting a mesh. We use an alpha map to represent the cut geometry implicitly. We consider three cases: Hollow: Intersections are computed against the object representation only. Those intersections that fall within the cut area (e.g., (1)), are discarded Solid: Intersections are computed against the object and the alpha map Thick Solid: Special case of solid

Examples Hollow Thick-Hollow Solid Hollow Solid

Video

Applications Education and Training Surgery simulation Virtual Dissection Games Trauma Central Trauma Center. Courtesy of Atlus Virtual Frog Dissection

GPU Implementation Implemented as a single pass fragment shader Generation of implicit representation is done using a mix of CPU and GPU It has been shown that it is possible to obtain signed distance fields in real-time Less accurate representations are still useful, e.g., height map, cube depth map, which are very quick to obtain.

Quantitative Evaluation Comparison of continuous deformation shader vs. cut shader Cut shader gets penalized due to false intersections

Empty Space Skipping To alleviate the cost of finding unnecessary intersections, the cut shader may exploit the implicit representation used for the cut to skip empty space.

Empty Space Skipping Using ESK, the performance is as good as continuous deformation.

Discussion and Conclusion Improvement of vertex shaders/geometry shaders complement our approach: vertex shader for global/coarse deformation, fragment shader for local/fine deformation. Rendering cost dependent on image size, not on number of vertices. Constant speed for large meshes. Ray traversal is not necessarily coherent. Particularly for adaptive sampling, it can be costly. Coherent grid traversal can be exploited. Branching and early termination capabilities play critical role on acceleration techniques. Deformation can be simulated in the fragment shader. Changes the way we look at deformation rendering problem

Thanks! More info http://www.caip.rutgers.edu/~cdcorrea/deforender