GPU-Based Real-Time Beating Heart Volume Rendering Using Dynamic 3D Texture Binding

Size: px
Start display at page:

Download "GPU-Based Real-Time Beating Heart Volume Rendering Using Dynamic 3D Texture Binding"

Transcription

1 GPU-Based Real-Time Beating Heart Volume Rendering Using Dynamic 3D Texture Binding Qi Zhang a,b, Roy Eagleson a,b,c and Terry M. Peters a,b a Imaging Research Laboratories, Robarts Research Institute, London, ON CANADA; b Biomedical Engineering, University of Western Ontario, London, ON CANADA; c Department of Electrical and Computer Engineering, University of Western Ontario, London, ON CANADA ABSTRACT Simulation and real-time display of dynamic three-dimensional (3D) cardiac images has important applications in minimally invasive image-guided cardiac surgery and therapy. However, in practice, the high computational cost usually prohibits its application in a real-time medical environment, or else the low image quality does not satisfy the clinical requirements. Surface based models or orthogonal planes are often employed instead, but in the process important intra cardiac data are lost, and intuitive spatial anatomical relationships are eliminated. In this paper, we first take advantage of the programmability, parallelism and increased computational precision of modern graphics processing units (GPUs) to build a real-time 3D rendering engine based on ray-casting, directly running on the graphics vertex and fragment processors, in which the OpenGL Shading Language (GLSL) is utilized as a GPU programming API. This approach provides enhanced image quality similar to software-based implementations, but its rendering speed is competitive with the traditional but inferior quality slice based volume rendering approaches. Then, we propose a new dynamic volume texture binding scheme, and embedded it into our 3D rendering engine to permit real-time visualize the dynamic beating heart. Keywords: Dynamic binding, real-time volume rendering, ray-casting, GPU, OpenGL Shading Language (GLSL), 4D cardiac visualization 1. INTRODUCTION Cardiovascular diseases are the single most frequent cause of death in North America for both men and women among all racial and ethnic groups. Their early diagnosis and treatment is crucial in order to reduce mortality and to improve patients quality of life. Traditional open heart surgery involved a sternotomy and the use of a heartlung machine. Newer techniques have utilized minimally-invasive approaches, often supported by Robotics. 1, 2 However, a new technique that performs surgery on targets inside the beating heart by introducing tools into the chambers through the heart wall was introduced recently by Guiraudon et al.. 3 Under these conditions high quality visualization is required, and can be provided by integrating real-time intra-cardiac ultrasound with a registered pre-operatively acquired dynamic MR or CT volume. 4 High quality visualization of this dynamic environment is critical to the success of these new surgical procedures. Even with the high speed CPU processors available in today s computers, to achieve interactive visualization of a given medical data set, it is necessary to make use of additional graphics hardware support. 5 Often a surface-based approach is not an optimal visual solution for imaging of volumetric dynamic data since the intra anatomical structure cannot be visualized and many important details are lost. Volume rendering, which preserves such details, therefore is a preferred approach to visualize such data. 6, 7 However, volume visualization is computationally expensive, even with graphics hardware support, the high quality real-time dynamic cardiac visualization is still a challenge for current popular 3D rendering algorithms and computational environments. Further author information: (Send correspondence to Q. Z.) Q. Z.: qzhang@imaging.robarts.ca, Telephone: ext R. E.: eagleson@uwo.ca, Telephone: ext T. M. P.: tpeters@imaging.robarts.ca, Telephone: ext

2 In this paper, we describes our solution to these challenges. New generation graphics hardware provide us programmability, on which we can directly implement complicated volume rendering algorithms. We have developed a 3D rendering engine, which is based on an optimized ray-casting algorithm running directly on the vertex and fragment processors. The GPU contains multiple graphics processors working in parallel, and floating point precision computation is supported by the graphics vertex and fragment processors. The parallelism and increased computational precision allow our algorithm to render the cardiac data set with high image quality in real-time. In addition, we describe a new dynamic volume texture binding technique, which allows us to dynamically bind the MR cardiac volumes to our 3D rendering engine during dynamic cardiac visualization without degrading performance. 2. METHODS We first introduce the GPU programming pipeline, followed by a detailed description of our GPU-based raycasting. Then we present the approaches of our 4D MR data acquisition. Finally, we illustrate a new dynamic texture binding technique and its application in our real-time beating heart visualization Programmable GPUs Modern GPUs are designed to operate on large continuous streams of vertex and fragment data. Vertices are points in 3D space that define graphics primitives like triangles, polygons, rectangles, etc, which are used to build up the geometry of the scene to be displayed. Textures are images that can be mapped onto any of the graphics primitives to add details to a scene. The term fragment is used to describe the data element before they are output as pixels to the screen. Texture mapping follows the vertex stage in the graphics pipeline, during which the texture image is interrogated for the correct color to be added to the fragment before it is converted to a pixel or pixels. In older graphics hardware, the geometry sent to the GPUs was static, and the operations that could be performed on fragments were limited. The GPU functions were therefore restricted to certain fixed pipelines such as texturing and lighting. The new generation of graphics cards has evolved to a situation where the vertex and texture units are now user programmable. These elements are commonly referred to as vertex and fragment processors, which can be programmed using high-level programming languages such as the OpenGL Shading Language (GLSL), created by the OpenGL ARB (Architecture Review Board) for programming graphics processing units directly, permitting control of the graphics pipeline at the lowest level. Vertex shaders are designed to allow more control over vertex transformation on the GPU itself, and fragment shaders are introduced to allow more control of how textures are applied to the fragments. A further improvement in the new GPUs is the increase in pixel depth from 32 bits per pixel to 128 bits per pixel, which means that each red, green, blue, and alpha component can now have 32-bit floating point precision throughout the graphics pipeline. The increased data precision, combined with the enhanced programmability of the current GPUs, means that a complicated 3D rendering algorithm can now be implemented directly on GPUs with much greater efficiency and visual realism effects than ever before Ray-Casting Pipeline Ray-casting is based on a model that describes real world physical phenomena. The behavior of light interacting with translucent volume, which is illustrated by the optical model evaluation equation (1), is a popular technique for rendering scalar volumes. I(a, b) = b a g(s)e s a τ(x)dx ds (1) where I(a, b) is the intensity of one pixel, ds is the direction of the ray; g(s) is the source term describing the illumination model, and τ(x) is the extinction coefficient. The ray-casting procedure extends a ray from a specified camera position through each pixel on the screen viewport, and into the volume. These rays are then sampled at uniform or variable intervals, and for each sample point the volume is interpolated to acquire a scalar value in that point. Transfer functions are used to map the scalars to colors and opacities. For each ray, these

3 MR scanner ECG signal Data collection Data storage Volume texture loading Real-time dynamic 3D cardiac visualization system (CPU) ID: 1 ID: 19 ID: 20 Dynamically texture binding Dyn_ID = i ID = Dyn_ID Real-time volume Fragment ray casting } processors Pixel color Graphics Hardware (GPU) One cardiac cycle 20 volumetric MR images Texture ID Sending i (i = 1,,20) Dynamic 3D cardiac real-time visualization Figure 1. The process of cardiac dynamic real-time visualization. 20 MR images are acquired from a 1.5T GE CVi scanner with time information derived from ECG signal. Twenty MR volumes are loaded into graphics cards as a set of volume textures, and a dynamic texture binding technique is employed to real-timely bind different volume texture ID with our ray-casting based 3D rendering engine, which directly runs on the vertex and fragment processors. This 4D MR cardiac visualization process renders each of the volumes as a new frame in real-time. values are composed according to the ray-casting integral equation (1) and the intersected screen pixel is set to the resulting color. This process is repeated for each screen pixel and results in an image of the volume. Ray-casting has the advantage of flexibility and high rendered image quality. Unfortunately, the software based implementations are too slow to be suitable for real-time medical applications. However, modern GPUs provide us programmability and parallelism, which can be thought of as highly parallel Single Instruction Multiple Data (SIMD) type processors. Our ray-casting algorithm is implemented by GLSL vertex and fragment shaders, which runs directly on the graphics vertex and fragment processors. The floating point precision support on these graphics processors ensures high image quality. The rendering pipeline is described by the following sequence. 1. Load the volumetric raw cardiac data and color table to the graphics memory as two multi-textures, one 3D and the other 2D: uniform sampler3d volumetexture and uniform sampler2d colortable. Their texture coordinates are loaded to the vertex shader, and are transformed to two built-in varying variables, i.e., vertex coordinates. These coordinates are interpolated, then input to the fragment shader. 2. In the situation when the volumetric raw cardiac dataset is not a cube, we scale a normalized cube along each axis by using a set of scaling factors, which are derived by using each of the three side lengths (according to x, y and z directions) to divide the maximum side length of the volume dataset. 3. In the fragment shader, the interpolated coordinates are first scaled by the scaling factors derived from the step 2, and is then used as the point of entry for the casting ray. The algorithm then obtains the camera position from the model view matrix. The casting ray entry point and the camera are utilized to compute the direction of the casting ray, and then is scaled by the scaling factors, which are the same as the ones used to scale the interpolated coordinates. 4. The volume is sampled at each sampling point pos along the casting ray: texture3d(volumetexture, vec3(pos)), acquiring voxel values from the R, G, B and Alpha channels. The value in the alpha channel, in which the scale value of the volume dataset is stored, and the value from the alpha channel of the previous sampling step, are employed to sample the 2D texture based color table: texture2d(colortable, vec2(scalar)). 5. Alpha blending is utilized to assign the derived color value to the destination color. 6. If the opacity has exceed a preset opacity threshold, exit the loop; otherwise, go to the next step in the loop. If the casting ray has left the volume, exit the loop; otherwise, go to the next step in the loop.

4 Figure 2. GPU-based ray-casting results of volumetric cardiac images with different colors and volume classifications. 7. Alpha blend the derived destination color with the background color, and set the result as the output fragment color gl FragColor D MR Data Set of the Human Heart The dynamic 3D MR images of a volunteer were acquired in the coronal plane using a 1.5T GE CVi scanner (GE medical systems, Milwaukee). This in-vivo human heart was scanned in a sequence to obtain a series of 20 ECG-gated, 4D MR images, each depicting a snapshot of the heart anatomy at different time-point in the cardiac cycle. This 3D MR cardiac image sequence (CIS) represents the motion of the human heart throughout a cardiac cycle, and is utilized as the 4D data set of human heart in our dynamic cardiac real-time visualization system Cardiac Dynamic Visualization Fig. 1 describes the cardiac dynamic simulation process. The twenty MR volumetric images are first loaded into graphics card memory as a set of s in our dynamic volume visualization system, during which a unique volume texture ID is set to each of these MR cardiac volumes when these s are generated. During the real-time dynamic rendering process, our ray-casting based real-time 3D rendering engine runs directly on the GPU s vertex and fragment processors with rays being cast from every screen pixel through the texture volume to perform the pixel color computation. The actual texture volume through which the rays traverse is dynamically determined by the texture ID, which is sent by our C++ based dynamic cardiac visualization system using volume texture binding technique. This dynamic volume texture binding technique enables our GPU-based real-time 3D rendering engine to visualize different cardiac volume at different time point, without the necessity of physically reloading the MR cardiac volumes during the rendering process. In our system, we send the texture ID of the 20 MR volumetric images to our real-time ray-casting based 3D rendering engine in a loop sequence, so we can dynamically visualize the beating heart with high image quality. 3. EXPERIMENT RESULTS We have implemented our real-time 4D cardiac visualization on a PC equipped with an Nvidia GeForce 6800 CS GPU with 256MB graphics memory, a Pentium IV 3.2GHz CPU processor and 3GB DDR2 533 main memory. The application system is developed with C++, OpenGL and OpenGL Shading Language (GLSL). The running environment is Windows XP, and Nvidia driver version is Each of the 20 MR cardiac image volumes has a dimension of with a voxel size of mm Static Heart In our static visualization experiment, we select four volumetric cardiac images from our series of 4D MR cardiac image dataset, serial numbers 1, 6, 18 and 20 respectively. The viewport window size is For the perspective projection matrix used in our rendering system, the field of view angle is 60 0, the aspect ratio of

5 the viewport window s width to its height is 4/3, the near clipping plane is 0.1, and the far clipping plane is 4.0. Under these conditions we test the performance of our rendering engine measured by frame rate (frames per second). We find the rendering speed is almost uniform, does not have notisable variations with time. To demonstrate the rendering efficiency, we select continuous 10 seconds from our testing experiment and list the results in Table 1, from which we can see the uniformity of the rendering performance, and the approximate frames rates: minimum is 36, average is 37 and maximum is 42. Fig. 2 demonstrates the image quality of four rendered cardiac volumes using our 3D rendering engine, in which a transfer function is utilized to assign different colors, and to classify different regions of the heart. Based on the judgement of physicians, the image quality is superior and good enough for real-world clinical applications. Table 1. Performance of static heart volume rendering, measured by FPS (Frames Per Second). Time (second) Minimum FPS Average FPS Maximum FPS Beating Heart Our dynamic visualization testing environment is the same as for the above static cardiac dataset experiment. Table 2 illustrates our visualization system performance for continuous 10 seconds during our rendering efficiency test, from which we can see that the performance uniformity and frame rates are almost the same as the static heart rendering experiment. So we can conclude that with our dynamic volume texture binding technique, the volume change during the rendering process does not affect our our system s rendering speed. Fig. 3 shows four examples of the cardiac images during the dynamic visualization procedure, for images with the texture ID 1, 6, 18 and 20 respectively. The cardiac volumes are clipped to demonstrate the internal cardiac structure deformations. Table 2. Performance of beating heart volume rendering, measured by FPS (Frames Per Second). Time (second) Minimum FPS Average FPS Maximum FPS CONCLUSIONS AND FUTURE WORK Although the analysis of static volumetric heart images can yield information such as chamber volumes and morphology, the dynamic 3D image analysis and display provides more intuitive information on cardiac behavior and physiologic parameters. 8 Surface rendering cannot demonstrate the intuitive anatomical structure, and general texture mapping based volume rendering techniques usually cannot satisfy the image quality requirement for surgical visualization applications. Standard ray-casting algorithms create superior image quality, but in general the high computational cost makes them too slow to be applied in a real-time medical environment. In this paper, we have addressed these difficulties. Taking advantage of the programmability, increased computation precision and parallelism of modern GPUs, we have developed a volume rendering algorithm based on ray-casting that directly running on graphics vertex and fragment processors, in which an early ray termination acceleration technique is embedded. Our 3D engine has been utilized to demonstrate the real-time display of high quality MR cardiac images. In addition, we have implemented a new dynamic volume texture binding

6 Figure 3. Three MR images are snapped from a dynamic cardiac cycle, which are clipped to emphasize the heart deformations, and the serial numbers 1, 6, 18 and 20. technique, which has been embedded into our visualization system to render a series of 4D MR cardiac images in real-time, enabling us to dynamically change the texture volume without degrading the rendering efficiency. The next step will be to use our dynamic volume visualization system in a real-time multi-modality display of 4D cardiac images, that will incorporate the real-time cardiac registration results, in which 2D and 3D ultrasound will be dynamically visualized in the same rendering window as the dynamic 3D MR cardiac images. ACKNOWLEDGMENTS The authors acknowledge the financial support from the Canadian Institute of Health Research (CIHR), the Ontario Research & Development Challenge Fund (ORDCF), the Canada Foundation for Innovation (CFI), and the Ontario Innovation Trust (OIT). REFERENCES 1. G. Lehmann, D. Habets, D. W. Holdsworth, T. M. Peters, and M. Drangova, Simulation of intra-operative 3D coronary angiography for enhanced minimally invasive robotic cardiac intervention, in MICCAI (2), T. Dohi and R. Kikinis, eds., 2489, pp , T. Mäkelä, P. Clarysse, O. Sipilä, N. Pauna, Q. Pham, T. Katila, and I. E. Magnin, A review of cardiac image registration methods, IEEE Trans. Med. Imaging 21(9), pp , G. M. Guiraudon, D. L. Jones, A. C. Skanes, D. Bainbridge, C. M. Guiraudon, S. M. Jensen, X. Yuan, M. Drangova, and T. M. Peters, En bloc exclusion of the pulmonary vein region in the pig using off pump, beating, intra-cardiac surgery: A pilot study of minimally invasive surgery for atrial fibrillation, Ann Thorac Surg. 80, pp , X. Huang, N. A. Hill, J. Ren, G. Guiraudon, D. R. Boughner, and T. M. Peters, Dynamic 3D ultrasound and mr image registration of the beating heart, in MICCAI (2), T. Dohi and R. Kikinis, eds., 3750, pp , R. Westermann and T. Ertl, Efficiently using graphics hardware in volume rendering applications, in SIGGRAPH 98: Proceedings of the 25th annual conference on Computer graphics and interactive techniques, pp , ACM Press, (New York, NY, USA), S. Roettger, M. Kraus, and T. Ertl, Hardware-accelerated volume and isosurface rendering based on cellprojection, C. Rezk-Salama, K. Engel, M. Bauer, G. Greiner, and T. Ertl, Interactive volume on standard pc graphics hardware using multi-textures and multi-stage rasterization, in HWWS 00: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS workshop on Graphics hardware, pp , ACM Press, (New York, NY, USA), E. A. Zerhouni, D. M. Parish, W. J. Rogers, A. Yang, and E. P. Shapiro, Human heart: Tagging with mr imaging - a method for noninvasive assessment of myocardial motion, Radiology 169(1), pp ,

Real-time dynamic display of registered 4D cardiac MR and ultrasound images using a GPU

Real-time dynamic display of registered 4D cardiac MR and ultrasound images using a GPU Real-time dynamic display of registered 4D cardiac MR and ultrasound images using a GPU Q. Zhang a,b, X. Huang a, b,r.eagleson a,b,c, G. Guiraudon a,c, and T. M. Peters a,b a Imaging Research Laboratories,

More information

First Steps in Hardware Two-Level Volume Rendering

First Steps in Hardware Two-Level Volume Rendering First Steps in Hardware Two-Level Volume Rendering Markus Hadwiger, Helwig Hauser Abstract We describe first steps toward implementing two-level volume rendering (abbreviated as 2lVR) on consumer PC graphics

More information

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

An Efficient Approach for Emphasizing Regions of Interest in Ray-Casting based Volume Rendering An Efficient Approach for Emphasizing Regions of Interest in Ray-Casting based Volume Rendering T. Ropinski, F. Steinicke, K. Hinrichs Institut für Informatik, Westfälische Wilhelms-Universität Münster

More information

Volume Graphics Introduction

Volume Graphics Introduction High-Quality Volume Graphics on Consumer PC Hardware Volume Graphics Introduction Joe Kniss Gordon Kindlmann Markus Hadwiger Christof Rezk-Salama Rüdiger Westermann Motivation (1) Motivation (2) Scientific

More information

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

CS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST CS 380 - GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1 Markus Hadwiger, KAUST Reading Assignment #2 (until Feb. 17) Read (required): GLSL book, chapter 4 (The OpenGL Programmable

More information

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

Hardware Accelerated Volume Visualization. Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences Hardware Accelerated Volume Visualization Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences A Real-Time VR System Real-Time: 25-30 frames per second 4D visualization: real time input of

More information

Clipping. CSC 7443: Scientific Information Visualization

Clipping. CSC 7443: Scientific Information Visualization Clipping Clipping to See Inside Obscuring critical information contained in a volume data Contour displays show only exterior visible surfaces Isosurfaces can hide other isosurfaces Other displays can

More information

Applications of Explicit Early-Z Culling

Applications of Explicit Early-Z Culling Applications of Explicit Early-Z Culling Jason L. Mitchell ATI Research Pedro V. Sander ATI Research Introduction In past years, in the SIGGRAPH Real-Time Shading course, we have covered the details of

More information

CS 354R: Computer Game Technology

CS 354R: Computer Game Technology CS 354R: Computer Game Technology Texture and Environment Maps Fall 2018 Texture Mapping Problem: colors, normals, etc. are only specified at vertices How do we add detail between vertices without incurring

More information

Spring 2009 Prof. Hyesoon Kim

Spring 2009 Prof. Hyesoon Kim Spring 2009 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on

More information

Introduction to 3D Graphics

Introduction to 3D Graphics Graphics Without Polygons Volume Rendering May 11, 2010 So Far Volumetric Rendering Techniques Misc. So Far Extended the Fixed Function Pipeline with a Programmable Pipeline Programming the pipeline is

More information

3/29/2016. Applications: Geology. Appliations: Medicine. Applications: Archeology. Applications: Klaus Engel Markus Hadwiger Christof Rezk Salama

3/29/2016. Applications: Geology. Appliations: Medicine. Applications: Archeology. Applications: Klaus Engel Markus Hadwiger Christof Rezk Salama Tutorial 7 Real-Time Volume Graphics Real-Time Volume Graphics [01] Introduction and Theory Klaus Engel Markus Hadwiger Christof Rezk Salama Appliations: Medicine Applications: Geology Deformed Plasticine

More information

Spring 2011 Prof. Hyesoon Kim

Spring 2011 Prof. Hyesoon Kim Spring 2011 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on

More information

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11 Pipeline Operations CS 4620 Lecture 11 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives to pixels RASTERIZATION

More information

Rendering Objects. Need to transform all geometry then

Rendering Objects. Need to transform all geometry then Intro to OpenGL Rendering Objects Object has internal geometry (Model) Object relative to other objects (World) Object relative to camera (View) Object relative to screen (Projection) Need to transform

More information

CS451Real-time Rendering Pipeline

CS451Real-time Rendering Pipeline 1 CS451Real-time Rendering Pipeline JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY Based on Tomas Akenine-Möller s lecture note You say that you render a 3D 2 scene, but what does

More information

Graphics Hardware. Instructor Stephen J. Guy

Graphics Hardware. Instructor Stephen J. Guy Instructor Stephen J. Guy Overview What is a GPU Evolution of GPU GPU Design Modern Features Programmability! Programming Examples Overview What is a GPU Evolution of GPU GPU Design Modern Features Programmability!

More information

Scalar Data. Visualization Torsten Möller. Weiskopf/Machiraju/Möller

Scalar Data. Visualization Torsten Möller. Weiskopf/Machiraju/Möller Scalar Data Visualization Torsten Möller Weiskopf/Machiraju/Möller Overview Basic strategies Function plots and height fields Isolines Color coding Volume visualization (overview) Classification Segmentation

More information

Pipeline Operations. CS 4620 Lecture 14

Pipeline Operations. CS 4620 Lecture 14 Pipeline Operations CS 4620 Lecture 14 2014 Steve Marschner 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives

More information

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

Ray Casting on Programmable Graphics Hardware. Martin Kraus PURPL group, Purdue University Ray Casting on Programmable Graphics Hardware Martin Kraus PURPL group, Purdue University Overview Parallel volume rendering with a single GPU Implementing ray casting for a GPU Basics Optimizations Published

More information

Advanced GPU Raycasting

Advanced GPU Raycasting Advanced GPU Raycasting Henning Scharsach VRVis Research Center Vienna, Austria Abstract Modern GPUs offer a degree of programmability that opens up a wide field of applications far beyond processing millions

More information

Lecture 2. Shaders, GLSL and GPGPU

Lecture 2. Shaders, GLSL and GPGPU Lecture 2 Shaders, GLSL and GPGPU Is it interesting to do GPU computing with graphics APIs today? Lecture overview Why care about shaders for computing? Shaders for graphics GLSL Computing with shaders

More information

Scalar Data. CMPT 467/767 Visualization Torsten Möller. Weiskopf/Machiraju/Möller

Scalar Data. CMPT 467/767 Visualization Torsten Möller. Weiskopf/Machiraju/Möller Scalar Data CMPT 467/767 Visualization Torsten Möller Weiskopf/Machiraju/Möller Overview Basic strategies Function plots and height fields Isolines Color coding Volume visualization (overview) Classification

More information

The Rasterization Pipeline

The Rasterization Pipeline Lecture 5: The Rasterization Pipeline (and its implementation on GPUs) Computer Graphics CMU 15-462/15-662, Fall 2015 What you know how to do (at this point in the course) y y z x (w, h) z x Position objects

More information

CSE 167: Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

CSE 167: Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Homework project #2 due this Friday, October

More information

Computational Medical Imaging Analysis Chapter 4: Image Visualization

Computational Medical Imaging Analysis Chapter 4: Image Visualization Computational Medical Imaging Analysis Chapter 4: Image Visualization Jun Zhang Laboratory for Computational Medical Imaging & Data Analysis Department of Computer Science University of Kentucky Lexington,

More information

A Navigation System for Minimally Invasive Abdominal Intervention Surgery Robot

A Navigation System for Minimally Invasive Abdominal Intervention Surgery Robot A Navigation System for Minimally Invasive Abdominal Intervention Surgery Robot Weiming ZHAI, Yannan ZHAO and Peifa JIA State Key Laboratory of Intelligent Technology and Systems Tsinghua National Laboratory

More information

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

C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE. Mikhail Bessmeltsev C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE UGRAD.CS.UBC.C A/~CS314 Mikhail Bessmeltsev 1 WHAT IS RENDERING? Generating image from a 3D scene 2 WHAT IS RENDERING? Generating image

More information

GPU-accelerated Rendering for Medical Augmented Reality in Minimally-invasive Procedures

GPU-accelerated Rendering for Medical Augmented Reality in Minimally-invasive Procedures GPU-accelerated Rendering for Medical Augmented Reality in Minimally-invasive Procedures Matthias Wieczorek 1, André Aichert 1, Oliver Kutter 1, Christoph Bichlmeier 1, Jürgen Landes 2, Sandro Michael

More information

CHAPTER 1 Graphics Systems and Models 3

CHAPTER 1 Graphics Systems and Models 3 ?????? 1 CHAPTER 1 Graphics Systems and Models 3 1.1 Applications of Computer Graphics 4 1.1.1 Display of Information............. 4 1.1.2 Design.................... 5 1.1.3 Simulation and Animation...........

More information

2.11 Particle Systems

2.11 Particle Systems 2.11 Particle Systems 320491: Advanced Graphics - Chapter 2 152 Particle Systems Lagrangian method not mesh-based set of particles to model time-dependent phenomena such as snow fire smoke 320491: Advanced

More information

Rasterization Overview

Rasterization Overview Rendering Overview The process of generating an image given a virtual camera objects light sources Various techniques rasterization (topic of this course) raytracing (topic of the course Advanced Computer

More information

CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015

CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 Announcements Project 2 due tomorrow at 2pm Grading window

More information

Medical Image Processing: Image Reconstruction and 3D Renderings

Medical Image Processing: Image Reconstruction and 3D Renderings Medical Image Processing: Image Reconstruction and 3D Renderings 김보형 서울대학교컴퓨터공학부 Computer Graphics and Image Processing Lab. 2011. 3. 23 1 Computer Graphics & Image Processing Computer Graphics : Create,

More information

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T Copyright 2018 Sung-eui Yoon, KAIST freely available on the internet http://sglab.kaist.ac.kr/~sungeui/render

More information

Raycasting. Ronald Peikert SciVis Raycasting 3-1

Raycasting. Ronald Peikert SciVis Raycasting 3-1 Raycasting Ronald Peikert SciVis 2007 - Raycasting 3-1 Direct volume rendering Volume rendering (sometimes called direct volume rendering) stands for methods that generate images directly from 3D scalar

More information

Hardware-Assisted Relief Texture Mapping

Hardware-Assisted Relief Texture Mapping EUROGRAPHICS 0x / N.N. and N.N. Short Presentations Hardware-Assisted Relief Texture Mapping Masahiro Fujita and Takashi Kanai Keio University Shonan-Fujisawa Campus, Fujisawa, Kanagawa, Japan Abstract

More information

Fast Interactive Region of Interest Selection for Volume Visualization

Fast Interactive Region of Interest Selection for Volume Visualization Fast Interactive Region of Interest Selection for Volume Visualization Dominik Sibbing and Leif Kobbelt Lehrstuhl für Informatik 8, RWTH Aachen, 20 Aachen Email: {sibbing,kobbelt}@informatik.rwth-aachen.de

More information

Scanline Rendering 2 1/42

Scanline Rendering 2 1/42 Scanline Rendering 2 1/42 Review 1. Set up a Camera the viewing frustum has near and far clipping planes 2. Create some Geometry made out of triangles 3. Place the geometry in the scene using Transforms

More information

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker CMSC427 Advanced shading getting global illumination by local methods Credit: slides Prof. Zwicker Topics Shadows Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection

More information

Volume Rendering. Lecture 21

Volume Rendering. Lecture 21 Volume Rendering Lecture 21 Acknowledgements These slides are collected from many sources. A particularly valuable source is the IEEE Visualization conference tutorials. Sources from: Roger Crawfis, Klaus

More information

Visualization of the Marked Cells of Model Organism

Visualization of the Marked Cells of Model Organism Visualization of the Marked Cells of Model Organism Radek Kubíček Department of Computer Graphics and Multimedia Brno University of Technology Brno / Czech Republic Abstract We will present the current

More information

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

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane Rendering Pipeline Rendering Converting a 3D scene to a 2D image Rendering Light Camera 3D Model View Plane Rendering Converting a 3D scene to a 2D image Basic rendering tasks: Modeling: creating the world

More information

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using object-order processing primitives processed one-at-a-time

More information

Medical Image Analysis

Medical Image Analysis Computer assisted Image Analysis VT04 29 april 2004 Medical Image Analysis Lecture 10 (part 1) Xavier Tizon Medical Image Processing Medical imaging modalities XRay,, CT Ultrasound MRI PET, SPECT Generic

More information

Computer graphics 2: Graduate seminar in computational aesthetics

Computer graphics 2: Graduate seminar in computational aesthetics Computer graphics 2: Graduate seminar in computational aesthetics Angus Forbes evl.uic.edu/creativecoding/cs526 Homework 2 RJ ongoing... - Follow the suggestions in the Research Journal handout and find

More information

Computer Graphics Shadow Algorithms

Computer Graphics Shadow Algorithms Computer Graphics Shadow Algorithms Computer Graphics Computer Science Department University of Freiburg WS 11 Outline introduction projection shadows shadow maps shadow volumes conclusion Motivation shadows

More information

CS4620/5620: Lecture 14 Pipeline

CS4620/5620: Lecture 14 Pipeline CS4620/5620: Lecture 14 Pipeline 1 Rasterizing triangles Summary 1! evaluation of linear functions on pixel grid 2! functions defined by parameter values at vertices 3! using extra parameters to determine

More information

Today. Rendering pipeline. Rendering pipeline. Object vs. Image order. Rendering engine Rendering engine (jtrt) Computergrafik. Rendering pipeline

Today. Rendering pipeline. Rendering pipeline. Object vs. Image order. Rendering engine Rendering engine (jtrt) Computergrafik. Rendering pipeline Computergrafik Today Rendering pipeline s View volumes, clipping Viewport Matthias Zwicker Universität Bern Herbst 2008 Rendering pipeline Rendering pipeline Hardware & software that draws 3D scenes on

More information

Models and Architectures

Models and Architectures Models and Architectures Objectives Learn the basic design of a graphics system Introduce graphics pipeline architecture Examine software components for an interactive graphics system 1 Image Formation

More information

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL International Edition Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL Sixth Edition Edward Angel Dave Shreiner Interactive Computer Graphics: A Top-Down Approach with Shader-Based

More information

Tutorial on GPU Programming #2. Joong-Youn Lee Supercomputing Center, KISTI

Tutorial on GPU Programming #2. Joong-Youn Lee Supercomputing Center, KISTI Tutorial on GPU Programming #2 Joong-Youn Lee Supercomputing Center, KISTI Contents Graphics Pipeline Vertex Programming Fragment Programming Introduction to Cg Language Graphics Pipeline The process to

More information

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using object-order processing primitives processed one-at-a-time

More information

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

A Bandwidth Effective Rendering Scheme for 3D Texture-based Volume Visualization on GPU for 3D Texture-based Volume Visualization on GPU Won-Jong Lee, Tack-Don Han Media System Laboratory (http://msl.yonsei.ac.k) Dept. of Computer Science, Yonsei University, Seoul, Korea Contents Background

More information

Introduction to Computer Graphics with WebGL

Introduction to Computer Graphics with WebGL Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science Laboratory University of New Mexico Models and Architectures

More information

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

Real - Time Rendering. Graphics pipeline. Michal Červeňanský Juraj Starinský Real - Time Rendering Graphics pipeline Michal Červeňanský Juraj Starinský Overview History of Graphics HW Rendering pipeline Shaders Debugging 2 History of Graphics HW First generation Second generation

More information

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

X. GPU Programming. Jacobs University Visualization and Computer Graphics Lab : Advanced Graphics - Chapter X 1 X. GPU Programming 320491: Advanced Graphics - Chapter X 1 X.1 GPU Architecture 320491: Advanced Graphics - Chapter X 2 GPU Graphics Processing Unit Parallelized SIMD Architecture 112 processing cores

More information

A SURVEY ON 3D RENDERING METHODS FOR MRI IMAGES

A SURVEY ON 3D RENDERING METHODS FOR MRI IMAGES 178 A SURVEY ON 3D RENDERING METHODS FOR MRI IMAGES Harja Santana Purba, Daut Daman, Ghazali Bin Sulong Department of Computer Graphics & Multimedia, Faculty of Computer Science & Information Systems,

More information

Previously... contour or image rendering in 2D

Previously... contour or image rendering in 2D Volume Rendering Visualisation Lecture 10 Taku Komura Institute for Perception, Action & Behaviour School of Informatics Volume Rendering 1 Previously... contour or image rendering in 2D 2D Contour line

More information

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

B-KD Trees for Hardware Accelerated Ray Tracing of Dynamic Scenes B-KD rees for Hardware Accelerated Ray racing of Dynamic Scenes Sven Woop Gerd Marmitt Philipp Slusallek Saarland University, Germany Outline Previous Work B-KD ree as new Spatial Index Structure DynR

More information

4D Shape Registration for Dynamic Electrophysiological Cardiac Mapping

4D Shape Registration for Dynamic Electrophysiological Cardiac Mapping 4D Shape Registration for Dynamic Electrophysiological Cardiac Mapping Kevin Wilson 1,5, Gerard Guiraudon 4,5, Doug Jones 3,4, and Terry M. Peters 1,2,5 1 Biomedical Engineering Program 2 Department of

More information

CS427 Multicore Architecture and Parallel Computing

CS427 Multicore Architecture and Parallel Computing CS427 Multicore Architecture and Parallel Computing Lecture 6 GPU Architecture Li Jiang 2014/10/9 1 GPU Scaling A quiet revolution and potential build-up Calculation: 936 GFLOPS vs. 102 GFLOPS Memory Bandwidth:

More information

Volume Rendering. Computer Animation and Visualisation Lecture 9. Taku Komura. Institute for Perception, Action & Behaviour School of Informatics

Volume Rendering. Computer Animation and Visualisation Lecture 9. Taku Komura. Institute for Perception, Action & Behaviour School of Informatics Volume Rendering Computer Animation and Visualisation Lecture 9 Taku Komura Institute for Perception, Action & Behaviour School of Informatics Volume Rendering 1 Volume Data Usually, a data uniformly distributed

More information

Programmable GPUs. Real Time Graphics 11/13/2013. Nalu 2004 (NVIDIA Corporation) GeForce 6. Virtua Fighter 1995 (SEGA Corporation) NV1

Programmable GPUs. Real Time Graphics 11/13/2013. Nalu 2004 (NVIDIA Corporation) GeForce 6. Virtua Fighter 1995 (SEGA Corporation) NV1 Programmable GPUs Real Time Graphics Virtua Fighter 1995 (SEGA Corporation) NV1 Dead or Alive 3 2001 (Tecmo Corporation) Xbox (NV2A) Nalu 2004 (NVIDIA Corporation) GeForce 6 Human Head 2006 (NVIDIA Corporation)

More information

Abstract. Introduction. Kevin Todisco

Abstract. Introduction. Kevin Todisco - Kevin Todisco Figure 1: A large scale example of the simulation. The leftmost image shows the beginning of the test case, and shows how the fluid refracts the environment around it. The middle image

More information

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

Applications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research Applications of Explicit Early-Z Z Culling Jason Mitchell ATI Research Outline Architecture Hardware depth culling Applications Volume Ray Casting Skin Shading Fluid Flow Deferred Shading Early-Z In past

More information

3D Polygon Rendering. Many applications use rendering of 3D polygons with direct illumination

3D Polygon Rendering. Many applications use rendering of 3D polygons with direct illumination Rendering Pipeline 3D Polygon Rendering Many applications use rendering of 3D polygons with direct illumination 3D Polygon Rendering What steps are necessary to utilize spatial coherence while drawing

More information

Computer-Aided Diagnosis in Abdominal and Cardiac Radiology Using Neural Networks

Computer-Aided Diagnosis in Abdominal and Cardiac Radiology Using Neural Networks Computer-Aided Diagnosis in Abdominal and Cardiac Radiology Using Neural Networks Du-Yih Tsai, Masaru Sekiya and Yongbum Lee Department of Radiological Technology, School of Health Sciences, Faculty of

More information

CS 130 Final. Fall 2015

CS 130 Final. Fall 2015 CS 130 Final Fall 2015 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying

More information

High-Quality Pre-Integrated Volume Rendering Using Hardware-Accelerated Pixel Shading

High-Quality Pre-Integrated Volume Rendering Using Hardware-Accelerated Pixel Shading High-Quality Pre-Integrated Volume Rendering Using Hardware-Accelerated Pixel Shading Klaus Engel, Martin Kraus, Thomas Ertl Visualization and Interactive Systems Group, University of Stuttgart, Germany

More information

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

GPU-based Volume Rendering. Michal Červeňanský GPU-based Volume Rendering Michal Červeňanský Outline Volume Data Volume Rendering GPU rendering Classification Speed-up techniques Other techniques 2 Volume Data Describe interior structures Liquids,

More information

Graphics Hardware. Graphics Processing Unit (GPU) is a Subsidiary hardware. With massively multi-threaded many-core. Dedicated to 2D and 3D graphics

Graphics Hardware. Graphics Processing Unit (GPU) is a Subsidiary hardware. With massively multi-threaded many-core. Dedicated to 2D and 3D graphics Why GPU? Chapter 1 Graphics Hardware Graphics Processing Unit (GPU) is a Subsidiary hardware With massively multi-threaded many-core Dedicated to 2D and 3D graphics Special purpose low functionality, high

More information

Practical Shadow Mapping

Practical Shadow Mapping Practical Shadow Mapping Stefan Brabec Thomas Annen Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken, Germany Abstract In this paper we propose several methods that can greatly improve

More information

The Traditional Graphics Pipeline

The Traditional Graphics Pipeline Last Time? The Traditional Graphics Pipeline Participating Media Measuring BRDFs 3D Digitizing & Scattering BSSRDFs Monte Carlo Simulation Dipole Approximation Today Ray Casting / Tracing Advantages? Ray

More information

CS 464 Review. Review of Computer Graphics for Final Exam

CS 464 Review. Review of Computer Graphics for Final Exam CS 464 Review Review of Computer Graphics for Final Exam Goal: Draw 3D Scenes on Display Device 3D Scene Abstract Model Framebuffer Matrix of Screen Pixels In Computer Graphics: If it looks right then

More information

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T Copyright 2018 Sung-eui Yoon, KAIST freely available on the internet http://sglab.kaist.ac.kr/~sungeui/render

More information

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer Real-Time Rendering (Echtzeitgraphik) Michael Wimmer wimmer@cg.tuwien.ac.at Walking down the graphics pipeline Application Geometry Rasterizer What for? Understanding the rendering pipeline is the key

More information

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

Display. Introduction page 67 2D Images page 68. All Orientations page 69 Single Image page 70 3D Images page 71 Display Introduction page 67 2D Images page 68 All Orientations page 69 Single Image page 70 3D Images page 71 Intersecting Sections page 71 Cube Sections page 72 Render page 73 1. Tissue Maps page 77

More information

A Survey of Volumetric Visualization Techniques for Medical Images

A Survey of Volumetric Visualization Techniques for Medical Images International Journal of Research Studies in Computer Science and Engineering (IJRSCSE) Volume 2, Issue 4, April 2015, PP 34-39 ISSN 2349-4840 (Print) & ISSN 2349-4859 (Online) www.arcjournals.org A Survey

More information

Graphics Processing Unit Architecture (GPU Arch)

Graphics Processing Unit Architecture (GPU Arch) Graphics Processing Unit Architecture (GPU Arch) With a focus on NVIDIA GeForce 6800 GPU 1 What is a GPU From Wikipedia : A specialized processor efficient at manipulating and displaying computer graphics

More information

A Study of Medical Image Analysis System

A Study of Medical Image Analysis System Indian Journal of Science and Technology, Vol 8(25), DOI: 10.17485/ijst/2015/v8i25/80492, October 2015 ISSN (Print) : 0974-6846 ISSN (Online) : 0974-5645 A Study of Medical Image Analysis System Kim Tae-Eun

More information

Emissive Clip Planes for Volume Rendering Supplement.

Emissive Clip Planes for Volume Rendering Supplement. Emissive Clip Planes for Volume Rendering Supplement. More material than fit on the one page version for the SIGGRAPH 2003 Sketch by Jan Hardenbergh & Yin Wu of TeraRecon, Inc. Left Image: The clipped

More information

Direct Rendering of Trimmed NURBS Surfaces

Direct Rendering of Trimmed NURBS Surfaces Direct Rendering of Trimmed NURBS Surfaces Hardware Graphics Pipeline 2/ 81 Hardware Graphics Pipeline GPU Video Memory CPU Vertex Processor Raster Unit Fragment Processor Render Target Screen Extended

More information

A COMPARISON OF GPU BOX-PLANE INTERSECTION ALGORITHMS FOR DIRECT VOLUME RENDERING

A COMPARISON OF GPU BOX-PLANE INTERSECTION ALGORITHMS FOR DIRECT VOLUME RENDERING Proceedings of the IASTED International Conference Computer Graphics and Imaging (CGIM 2013) February 12-14, 2013 Innsbruck, Austria A COMPARISON OF GPU BOX-PLANE INTERSECTION ALGORITHMS FOR DIRECT VOLUME

More information

CS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside

CS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside CS230 : Computer Graphics Lecture 4 Tamar Shinar Computer Science & Engineering UC Riverside Shadows Shadows for each pixel do compute viewing ray if ( ray hits an object with t in [0, inf] ) then compute

More information

Overview. By end of the week:

Overview. By end of the week: Overview By end of the week: - Know the basics of git - Make sure we can all compile and run a C++/ OpenGL program - Understand the OpenGL rendering pipeline - Understand how matrices are used for geometric

More information

The Traditional Graphics Pipeline

The Traditional Graphics Pipeline Last Time? The Traditional Graphics Pipeline Reading for Today A Practical Model for Subsurface Light Transport, Jensen, Marschner, Levoy, & Hanrahan, SIGGRAPH 2001 Participating Media Measuring BRDFs

More information

Multipass GPU Surface Rendering in 4D Ultrasound

Multipass GPU Surface Rendering in 4D Ultrasound 2012 Cairo International Biomedical Engineering Conference (CIBEC) Cairo, Egypt, December 20-21, 2012 Multipass GPU Surface Rendering in 4D Ultrasound Ahmed F. Elnokrashy 1,2, Marwan Hassan 1, Tamer Hosny

More information

2 Michael E. Leventon and Sarah F. F. Gibson a b c d Fig. 1. (a, b) Two MR scans of a person's knee. Both images have high resolution in-plane, but ha

2 Michael E. Leventon and Sarah F. F. Gibson a b c d Fig. 1. (a, b) Two MR scans of a person's knee. Both images have high resolution in-plane, but ha Model Generation from Multiple Volumes using Constrained Elastic SurfaceNets Michael E. Leventon and Sarah F. F. Gibson 1 MIT Artificial Intelligence Laboratory, Cambridge, MA 02139, USA leventon@ai.mit.edu

More information

OPENGL RENDERING PIPELINE

OPENGL RENDERING PIPELINE CPSC 314 03 SHADERS, OPENGL, & JS UGRAD.CS.UBC.CA/~CS314 Textbook: Appendix A* (helpful, but different version of OpenGL) Alla Sheffer Sep 2016 OPENGL RENDERING PIPELINE 1 OPENGL RENDERING PIPELINE Javascript

More information

Comparison of High-Speed Ray Casting on GPU

Comparison of High-Speed Ray Casting on GPU Comparison of High-Speed Ray Casting on GPU using CUDA and OpenGL November 8, 2008 NVIDIA 1,2, Andreas Weinlich 1, Holger Scherl 2, Markus Kowarschik 2 and Joachim Hornegger 1 1 Chair of Pattern Recognition

More information

Evolution of GPUs Chris Seitz

Evolution of GPUs Chris Seitz Evolution of GPUs Chris Seitz Overview Concepts: Real-time rendering Hardware graphics pipeline Evolution of the PC hardware graphics pipeline: 1995-1998: Texture mapping and z-buffer 1998: Multitexturing

More information

CSE 167: Lecture #4: Vertex Transformation. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

CSE 167: Lecture #4: Vertex Transformation. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 CSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Project 2 due Friday, October 12

More information

Lecture overview. Visualisatie BMT. Transparency. Transparency. Transparency. Transparency. Transparency Volume rendering Assignment

Lecture overview. Visualisatie BMT. Transparency. Transparency. Transparency. Transparency. Transparency Volume rendering Assignment Visualisatie BMT Lecture overview Assignment Arjan Kok a.j.f.kok@tue.nl 1 Makes it possible to see inside or behind objects Complement of transparency is opacity Opacity defined by alpha value with range

More information

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

CS452/552; EE465/505. Clipping & Scan Conversion CS452/552; EE465/505 Clipping & Scan Conversion 3-31 15 Outline! From Geometry to Pixels: Overview Clipping (continued) Scan conversion Read: Angel, Chapter 8, 8.1-8.9 Project#1 due: this week Lab4 due:

More information

The Graphics Pipeline and OpenGL I: Transformations!

The Graphics Pipeline and OpenGL I: Transformations! ! The Graphics Pipeline and OpenGL I: Transformations! Gordon Wetzstein! Stanford University! EE 267 Virtual Reality! Lecture 2! stanford.edu/class/ee267/!! Albrecht Dürer, Underweysung der Messung mit

More information

Graphics Pipeline. CS535 Fall Daniel G. Aliaga Department of Computer Science Purdue University

Graphics Pipeline. CS535 Fall Daniel G. Aliaga Department of Computer Science Purdue University Graphics Pipeline CS535 Fall 2016 Daniel G. Aliaga Department of Computer Science Purdue University Ray-tracing Inverse mapping for every pixel construct a ray from the eye for every object in the scene

More information

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016 Computergrafik Matthias Zwicker Universität Bern Herbst 2016 2 Today Basic shader for texture mapping Texture coordinate assignment Antialiasing Fancy textures 3 Texture mapping Glue textures (images)

More information

Interactive Methods in Scientific Visualization

Interactive Methods in Scientific Visualization Interactive Methods in Scientific Visualization GPU Volume Raycasting Christof Rezk-Salama University of Siegen, Germany Volume Rendering in a Nutshell Image Plane Eye Data Set Back-to-front iteration

More information

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

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 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 the viewport of the current application window. A pixel

More information