Fast volumetric rendering of NURBS-based surfaces Andreas Maier Chair of Pattern Recognition (Computer Science 5) Friedrich-Alexander-University Erlangen-Nuremberg.

Slides:



Advertisements
Similar presentations
Reconstruction from Voxels (GATE-540)
Advertisements

CS 352: Computer Graphics Chapter 7: The Rendering Pipeline.
Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
Graphics Pipeline.
Computer graphics & visualization Global Illumination Effects.
Digital Radiography.
Week 10 - Monday.  What did we talk about last time?  Global illumination  Shadows  Projection shadows  Soft shadows.
3D Graphics Rendering and Terrain Modeling
Real-Time Rendering TEXTURING Lecture 02 Marina Gavrilova.
CLASS 9 ADVANCE RENDERING RAY TRACING RADIOSITY LIGHT FIELD CS770/870.
Mark Nelson Rendering algorithms Fall 2013
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Hidden Surface Removal 고려대학교 컴퓨터 그래픽스 연구실.
Part I: Basics of Computer Graphics
December 5, 2013Computer Vision Lecture 20: Hidden Markov Models/Depth 1 Stereo Vision Due to the limited resolution of images, increasing the baseline.
Real-Time Rendering SPEACIAL EFFECTS Lecture 03 Marina Gavrilova.
CS 4731: Computer Graphics Lecture 18: Hidden Surface Removal Emmanuel Agu.
Computer Graphics Hardware Acceleration for Embedded Level Systems Brian Murray
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Object-Order vs. Screen-Order Rendering April 24, 2003.
Computer Graphics (Fall 2005) COMS 4160, Lecture 21: Ray Tracing
Point Rendering for Impostors Andreas Bærentzen IMM.
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
Rasterization May 14, Triangles Only We will discuss the rasterization of triangles only. Why? –Polygon can be decomposed into triangles. –A triangle.
1 CSCE 441: Computer Graphics Hidden Surface Removal (Cont.) Jinxiang Chai.
Sorting and cell compositing for irregular meshes Nelson Max, Peter Williams, Richard Cook, Claudio Silva.
Part I: Basics of Computer Graphics Rendering Polygonal Objects (Read Chapter 1 of Advanced Animation and Rendering Techniques) Chapter
Use of Silhouette Edges and Ambient Occlusion in Particle Visualization James L. Bigler School of Computing August 16, 2004 Oral defense of.
CSE 872 Dr. Charles B. Owen Advanced Computer Graphics1 Other Rendering Techniques Types of rendering – Wireframe techniques – Scan-line conversion – Reyes.
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.
Hidden Surface Removal
Ray Tracing Primer Ref: SIGGRAPH HyperGraphHyperGraph.
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
Polygon Scan Conversion and Z-Buffering
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Stefan Roettger University of Stuttgart A Two-Step Approach for Interactive Pre-Integrated Volume Rendering of Unstructured Grids VolVis '02 A Two-Step.
Visibility Queries Using Graphics Hardware Presented by Jinzhu Gao.
Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18,
Scientific Visualization Module 6 Volumetric Algorithms (adapted by S.V. Moore – slides deleted, modified, and added) prof. dr. Alexandru (Alex) Telea.
Week 2 - Friday.  What did we talk about last time?  Graphics rendering pipeline  Geometry Stage.
Advanced Computer Graphics Depth & Stencil Buffers / Rendering to Textures CO2409 Computer Graphics Week 19.
INTRODUCTION INTRODUCTION Computer Graphics: As objects: images generated and/or displayed by computers. As a subject: the science of studying how to generate.
10/26/04© University of Wisconsin, CS559 Fall 2004 Last Time Drawing lines Polygon fill rules Midterm Oct 28.
December 4, 2014Computer Vision Lecture 22: Depth 1 Stereo Vision Comparing the similar triangles PMC l and p l LC l, we get: Similarly, for PNC r and.
Visible-Surface Detection Jehee Lee Seoul National University.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
1 The Rendering Pipeline. CS788 Topic of HCI 2 Outline  Introduction  The Graphics Rendering Pipeline  Three functional stages  Example  Bottleneck.
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
An Enhanced Splatting Method Graphics and Visualization Group Department of Computer Science The University of Auckland Peter Kulka & Richard Lobb.
Binary Space Partitioning Trees Ray Casting Depth Buffering
Hidden Surface Removal
Sample Based Visibility for Soft Shadows using Alias-free Shadow Maps Erik Sintorn – Ulf Assarsson – uffe.
Computer Graphics II University of Illinois at Chicago Volume Rendering Presentation for Computer Graphics II Prof. Andy Johnson By Raj Vikram Singh.
CSE 681 Introduction to 3D Graphics. CSE 681 Computer graphics is “the creation and manipulation of graphics images by means of computer.” (Marc Berger,
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Global Illumination. Local Illumination  the GPU pipeline is designed for local illumination  only the surface data at the visible point is needed to.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Subject Name: Computer Graphics Subject Code: Textbook: “Computer Graphics”, C Version By Hearn and Baker Credits: 6 1.
Graphics Interface 2009 The-Kiet Lu Kok-Lim Low Jianmin Zheng 1.
Computer Graphics & Multimedia
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Painterly Rendering for Animation Introduction speaks of focus and detail –Small brush strokes focus and provide detail –Large strokes are abstract and.
1 CSCE 441: Computer Graphics Hidden Surface Removal Jinxiang Chai.
Computer Graphics Inf4/MSc 1 Computer Graphics Lecture 5 Hidden Surface Removal and Rasterization Taku Komura.
RENDERING : Global Illumination
Visible-Surface Detection Methods. To identify those parts of a scene that are visible from a chosen viewing position. Surfaces which are obscured by.
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.
Real-Time Soft Shadows with Adaptive Light Source Sampling
3D Graphics Rendering PPT By Ricardo Veguilla.
Visibility Computations
Visibility (hidden surface removal)
Presentation transcript:

Fast volumetric rendering of NURBS-based surfaces Andreas Maier Chair of Pattern Recognition (Computer Science 5) Friedrich-Alexander-University Erlangen-Nuremberg Monday, 07 September 2015

Motivation  High spatial resolution scanning of the knee is currently only possible in a laying position  Knee pain often only occurs when the knee is under pressure (i.e. the knee bears weight)  Only imaging in weight-bearing position allows insights on the structural alterations that cause the knee pain => Use a C-arm system to scan in a horizontal trajectory

Motivation  X-ray acquisitions require the use of ionizing radiation  Exposure of X-rays to any human subjects should be minimized  Design and implementation of novel trajectories require a “testing environment”  The “test environment” should be as realistic as possible

Outline Simulation of X-ray images using X-Cat Open CL acceleration based on HHardware tessellation AAppend buffer-based triangle drawing PPixel-based absorption modeling Results Summary and Outlook

Simulation of X-ray images with X-cat  X-Cat is a 3D model of the human body based on the visual human  Supports the simulation of motion:  Breathing  Heart beat  Based on 3D/3D Spline surfaces:  Each surface is 2D that changes over time: (u, v, t)  Each tuple (u, v, t) corresponds to a 3D point (x, y, z)

Simulation of X-ray images with X-cat (2)  Simulation of an x-ray image:  Render 3D volume at time t  Write volume to disk (~500 MB)  Load volume for projection  Project to 2D  Save image to disk  133 to 495 projections required per simulated scan  X-Cat internally employs ray casting and iterative computation of ray spline intersections

Outline Simulation of X-ray images using X-Cat Open CL acceleration based on HHardware tessellation AAppend buffer-based triangle drawing PPixel-based absorption modeling Results Summary and Outlook

Open CL acceleration 3D Points Tessellate spline 2D Points + z Project points List of intersections Draw to “append buffer” Line segments Order intersections along z Resolve overlays Absorption value Evaluate absorption model (mono- or polychromatic)

Hardware Tessellation  Ray / Spline intersection are computationally inefficient  Sampling of points and triangles is fast (Tessellation)  Tessellation in hardware is even faster  Hardware tessellation causes a slight loss in accuracy (here: ~ 28 micron) => Results in a 2D grid of 3D Points

Append buffer-based drawing  Projection of 3D points yields 2D points plus their z coordinate  Use 2D neighborhood relation of the set of points to generate and draw triangles (use any triangle rasterizing algorithm)  Draw points into an “append buffer” like structure  Idea: Save all drawn values

z buffer-based drawing Screen bufferz buffer x y If (z < z buffer(x, y)){ screen buffer(x, y) = color; z buffer(x, y) = z; } x y

2 Append buffer-based drawing (2) append buffer pixel buffer append buffer pointer

3 Append buffer-based drawing (2) append buffer pixel buffer append buffer pointer

4 3 Append buffer-based drawing (2) append buffer pixel buffer append buffer pointer 21 00

54 3 Append buffer-based drawing (2) append buffer pixel buffer append buffer pointer

Append buffer-based drawing (2) append buffer pixel buffer append buffer pointer 21 00

Append buffer-based drawing (2) append buffer pixel buffer append buffer pointer 21 00

Append buffer-based drawing (2) append buffer pixel buffer append buffer pointer 21 00

Append buffer-based drawing (3)  By saving more than one entry per pixel we can store:  ID of the painted object  Depth value  Pointer to the next element in the list  Access to append buffer and pixel counter need to be atomic  Especially access to the global append buffer pointer is expensive  Reading from the append buffer is highly not coalesced

Pixel-based absorption modeling  Read the list from the append buffer  Sort the intersections along z  Remove impossible cases (e.g. three intersections in a row of the same object)  Compute length of line segments along z  Evaluate absorption model

Outline Simulation of X-ray images using X-Cat Open CL acceleration based on HHardware tessellation AAppend buffer-based triangle drawing PPixel-based absorption modeling Results Summary and Outlook

Results – Tesselation (10 6 points) 1DTime [ms]Accuracy [mm] CPU (Java)625- Open CL E-7 Open CL Texture DTime [ms]Accuracy [mm] CPU (Java)2582- Open CL E-7 Open CL Texture DTime [ms]Accuracy [mm] CPU (Java) Open CL E-5 Open CL Texture

Results – Projection X-Cat Heart (23 Splines) 30 x 30 Time [ms] 50 x 50 Time [ms] 100 x 100 Time [ms] Global append buffer Local append buffer Z-Buffer Monochromatic absorption

Outline Simulation of X-ray images using X-Cat Open CL acceleration based on HHardware tessellation AAppend buffer-based triangle drawing PPixel-based absorption modeling Results Summary and Outlook

Summary and Outlook Simulation of X-ray images is required to save dose X-Cat can be accelerated using  Hardware tessellation  Append buffer-based triangle drawing  Pixel-based absorption modeling Computation of one projection can be done in 200 ms Current state of the software still requires some debugging Next: Sample motion fields and volumes

Thank you for your attention