AN ACCELERATION OF FPGA-BASED RAY TRACER

Similar documents
Real-Time Ray Tracing Using Nvidia Optix Holger Ludvigsen & Anne C. Elster 2010

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

Rendering: Reality. Eye acts as pinhole camera. Photons from light hit objects

Effects needed for Realism. Computer Graphics (Fall 2008) Ray Tracing. Ray Tracing: History. Outline

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

Siggraph Asia December 2011

Accelerating Realism with the (NVIDIA Scene Graph)

Computing on GPUs. Prof. Dr. Uli Göhner. DYNAmore GmbH. Stuttgart, Germany

Ray Tracing. Kjetil Babington

Computer graphics and visualization

Part IV. Review of hardware-trends for real-time ray tracing

GPU Ray Tracing at the Desktop and in the Cloud. Phillip Miller, NVIDIA Ludwig von Reiche, mental images

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015

Effects needed for Realism. Ray Tracing. Ray Tracing: History. Outline. Foundations of Computer Graphics (Spring 2012)

For Intuition about Scene Lighting. Today. Limitations of Planar Shadows. Cast Shadows on Planar Surfaces. Shadow/View Duality.

Fast Stereoscopic Rendering on Mobile Ray Tracing GPU for Virtual Reality Applications

Building a Fast Ray Tracer

Abstract. Introduction. Kevin Todisco

and Parallel Algorithms Programming with CUDA, WS09 Waqar Saleem, Jens Müller

Enabling immersive gaming experiences Intro to Ray Tracing

Real-Time Shadows. Computer Graphics. MIT EECS Durand 1

Review for Ray-tracing Algorithm and Hardware

NVIDIA Case Studies:

Last Time. Why are Shadows Important? Today. Graphics Pipeline. Clipping. Rasterization. Why are Shadows Important?

Realtime Ray Tracing and its use for Interactive Global Illumination

Real-Time Shadows. Last Time? Today. Why are Shadows Important? Shadows as a Depth Cue. For Intuition about Scene Lighting

Motivation. Sampling and Reconstruction of Visual Appearance. Effects needed for Realism. Ray Tracing. Outline

Intro to Ray-Tracing & Ray-Surface Acceleration

Scalable multi-gpu cloud raytracing with OpenGL

Real-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today!

Computer Graphics. Lecture 13. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura

Sung-Eui Yoon ( 윤성의 )

Multi-View Soft Shadows. Louis Bavoil

Ray tracing. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/19/07 1

Real-Time Shadows. MIT EECS 6.837, Durand and Cutler

Recursion and Data Structures in Computer Graphics. Ray Tracing

Last Time. Reading for Today: Graphics Pipeline. Clipping. Rasterization

Digital 3D technologies

Hello, Thanks for the introduction

INFOMAGR Advanced Graphics. Jacco Bikker - February April Welcome!

To Do. Real-Time High Quality Rendering. Motivation for Lecture. Monte Carlo Path Tracing. Monte Carlo Path Tracing. Monte Carlo Path Tracing

PANEL MMEDIA Challenges in Multimedia

SUMMARY. CS380: Introduction to Computer Graphics Ray tracing Chapter 20. Min H. Kim KAIST School of Computing 18/05/29. Modeling

Real-Time Shadows. Last Time? Schedule. Questions? Today. Why are Shadows Important?

Ray Tracing. Cornell CS4620/5620 Fall 2012 Lecture Kavita Bala 1 (with previous instructors James/Marschner)

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

Computer Graphics. Lecture 10. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura 12/03/15

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

Metal for Ray Tracing Acceleration

Lecture 17: Recursive Ray Tracing. Where is the way where light dwelleth? Job 38:19

Practical 2: Ray Tracing

PantaRay: Fast Ray-traced Occlusion Caching of Massive Scenes J. Pantaleoni, L. Fascione, M. Hill, T. Aila

High Performance Visibility Testing with Screen Segmentation

Parallel Computer Architecture and Programming Final Project

RAY TRACING: TODAY, TOMORROW AND BEYOND

Lecture 18: Primer on Ray Tracing Techniques

INFOGR Computer Graphics. J. Bikker - April-July Lecture 10: Ground Truth. Welcome!

CS 325 Computer Graphics

Photorealistic 3D Rendering for VW in Mobile Devices

CS427 Multicore Architecture and Parallel Computing

Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker

CS580: Ray Tracing. Sung-Eui Yoon ( 윤성의 ) Course URL:

CS354 Computer Graphics Ray Tracing. Qixing Huang Januray 24th 2017

Computer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Lighting and Shading

Ray tracing based fast refraction method for an object seen through a cylindrical glass

Lighting. To do. Course Outline. This Lecture. Continue to work on ray programming assignment Start thinking about final project

Beyond Programmable Shading. Scheduling the Graphics Pipeline

Using Intel Streaming SIMD Extensions for 3D Geometry Processing

Rendering Part I (Basics & Ray tracing) Lecture 25 December 1, 2015

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

521493S Computer Graphics. Exercise 3

Parallelism. Parallel Hardware. Introduction to Computer Systems

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

! Readings! ! Room-level, on-chip! vs.!

Parallel Processing of Ray Tracing on GPU with Dynamic Pipelining

CS354R: Computer Game Technology

Ray Tracing with Multi-Core/Shared Memory Systems. Abe Stephens

Computer Graphics. Lecture 02 Graphics Pipeline. Edirlei Soares de Lima.

SIGGRAPH 2013 Shaping the Future of Visual Computing

The Traditional Graphics Pipeline

Current Trends in Computer Graphics Hardware

Ray Tracing. CPSC 453 Fall 2018 Sonny Chan

CS8803SC Software and Hardware Cooperative Computing GPGPU. Prof. Hyesoon Kim School of Computer Science Georgia Institute of Technology

Assignment 6: Ray Tracing

Texture Mapping II. Light maps Environment Maps Projective Textures Bump Maps Displacement Maps Solid Textures Mipmaps Shadows 1. 7.

DEFERRED RENDERING STEFAN MÜLLER ARISONA, ETH ZURICH SMA/

Ray Tracing. Outline. Ray Tracing: History

Today. Rendering algorithms. Rendering algorithms. Images. Images. Rendering Algorithms. Course overview Organization Introduction to ray tracing

Real-Time Graphics Architecture. Kurt Akeley Pat Hanrahan. Ray Tracing.

There are many kinds of surface shaders, from those that affect basic surface color, to ones that apply bitmap textures and displacement.

CSE 591: GPU Programming. Introduction. Entertainment Graphics: Virtual Realism for the Masses. Computer games need to have: Klaus Mueller

Rendering Grass with Instancing in DirectX* 10

Massive Model Visualization using Real-time Ray Tracing

Using Graphics Chips for General Purpose Computation

Evaluation and Improvement of GPU Ray Tracing with a Thread Migration Technique

Me Again! Peter Chapman. if it s important / time-sensitive

Efficient Rendering of Glossy Reflection Using Graphics Hardware

Assignment 2 Ray Tracing

Cloth Simulation on the GPU. Cyril Zeller NVIDIA Corporation

Transcription:

AN ACCELERATION OF FPGA-BASED RAY TRACER Raisa Malcheva, PhD Mohammad Yunis, MA Donetsk National Technical University, Ukraine Abstract The Hardware implementations of the Ray Tracing algorithm are analyzed. A possibility of not all pixels tracing is discussed. The structure of Modified FPGA-based system is proposed. A productivity of Modified Ray Tracing algorithm is researched. Keywords: Ray Tracing, FPGA, pixel, interpolation, productivity Introduction Ray tracing is one of the numerous techniques that exist to render images with computers. Ray tracing has been used in production environment for off-line rendering for a few decades now. That is rendering that doesn't need to have finished the whole scene in less than a few milliseconds. Real-time ray tracing is a very active field right now, as it's been seen as the next big thing that 3D accelerators need to be accelerating. Ray Tracer is really liked in areas where the quality of reflections is important. A lot of effects that seem hard to achieve with other techniques are very natural using a Ray Tracer. Reflection, refraction, depth of field, high quality shadows. Of course that doesn't necessarily mean they are fast. Graphics card on the other hand they generate the majority of images these days but are very limited at ray tracing. The main specialty of ray tracing algorithm - an action is done for every pixel on the screen, so this could take a long time for complex scenes. Increasing features of ray tracing can be done by a dramatic increase in time spent with calculations. Not only must the program find all the intersections with the primary rays (as in ray casting), but it must also find all the intersections for each secondary and shadow ray. Actually from 75 percent to over 95 percent of a ray tracer s time is spent with such calculations [1]. That is decreasing of number of the tracing pixels without the changing of the final image is an actual research task. Main Text Analyzes of ray tracing algorithm shows that an increasing features of ray tracing can be done by a dramatic increase in time spent with calculations. Not only must the program find all the intersections with the primary rays, but it must also find all the intersections for each secondary and shadow. Quality, in this case, is not cheap, and it only gets more expensive, as you will see in the following section. In nowadays the new technology from CUDA NVIDIA and FPGA acceleration engines can be applied for ray tracing algorithm implementation. NVIDIA acceleration engines NVIDIA, the leader in GPU computing, today introduced the NVIDIA OptiX ray tracing engine, part of a suite of application acceleration engines for software developers. NVIDIA acceleration engines make it easy to incorporate valuable, high-performance capabilities into applications, while simultaneously reducing development time. NVIDIA application acceleration engines [2] include: 186

- NVIDIA OptiX engine for real-time ray tracing; - NVIDIA SceniX engine for managing 3D data and scenes; - NVIDIA CompleX engine for scaling performance across multiple GPUs; - NVIDIA PhysX 64-bit engine for real-time, hyper-realistic physical and environmental effects. As the world s first interactive ray tracing engine to leverage the GPU, the NVIDIA OptiX engine is a programmable ray tracing pipeline enabling software developers to easily bring new levels of realism to their applications using traditional C programming. By tapping into the massively parallel computing power of NVIDIA Quadro Processors, the OptiX engine greatly accelerates the ray tracing used across a spectrum of disciplines, including: photorealistic rendering, automotive styling, acoustical design, optics simulation, volume calculations and radiation research. Application developers are utilizing the OptiX engine to redefine what s possible for designers, engineers and researchers. FPGA acceleration engines Performance of existing software implementations is still severely limited by modern processors that require many processors to achieve real-time performance. Therefore, in Saarland University (Germany) a structure of ray tracing hardware implementation on FPGA is developed [3]. Operating at a frequency of 90 MHz, the hardware implementation of ray tracing algorithm achieves real-time rate of 20 to 60 frames per second at a wide range of 3D scenes to support texturing, multiple light sources and multiple levels of reflection or transparency. A feature of this system is reuse of a transformation unit for tasks decision that include effective search of an intersection of rays with triangles. Despite the additional support for dynamic scenes this approach reduces the overall cost of the hardware part at 68%. Also to accelerate ray tracing algorithm the mathematical core on FPGA can be used. It shows more speed operations, the operands are represented by 64-bit numbers. These cores include Xilinx Floating-Point Operator Core. This core provides developers with tools to perform hardware for data processing in floating point format on FPGAs. This kernel supports multiplication, addition, subtraction, division, square root, comparison operations. Performance kernel provided by the fact that transactions are conducted on FPGA DSP cores, whose frequency is 300 MHz. This system allows to generate imagers with 320 240 and 512 480 resolutions. Interpixel interpolation To increase the size of images a modifined algorithm with an interpixel interpolation ia proposed. It based on the assumption that adjacent pixels of traced images have roughly the same (or very similar) color options. The main idea of algorithm is to trace pixels in any steps (horizontal and vertical) and than to apply an interpolation to determine the color components for untraced pixels. To realize this actions the Interpixel interpolation block is aded to the FPGA-based system (fig.1). 187

Fig.1. Structure of the modified FPGA-based system. The ray tracing algorithm with interpixel interpolation is developed and simulated using Message Passing Interface for.net. technology (cluster NeClus, DonNTU, fig.2). Fig.2. Configuration of NeClus. NeClus uses an operative system ScientificLinux 5.4; packets Torque PBS and Maui to control the resources and tools for parallel programming MPI: openmpi-1.2.4, mpichch_p4-gcc-1.2.7, lam-7.1.4. A scene for the algorithm testing and reseaching is shown on fig.3. A coefficient of color differences is used to estimate an image and to perform adjustment of an interpolation step [4]. Results of researches are shown on fig.4. 188

Fig.3. Scene for the algorithms testing. Fig.4. Results of researches. 189

Conclusion Analysis of results shows that the modifided ray tracing algorithms with the interpixel interpolation reduces the time of an image generation on 12,5-15%. To selected a step of tracing and interpolation a coefficient of differences in color is used. Future directions are to check a block interpolation and to extend the number of processor units. References: Foley, James D. Computer Graphics: Principles and Practice. Reading, Mass.: Addison- Wesley, 1990. Danny Shapiro. NVIDIA OptiX Engine Joins Groundbreaking Suite of Application Acceleration Engines, SIGGRAPH 2009, NEW ORLEANS Aug. 4, 2009. Schmittler Jörg. Realtime Ray Tracing of Dynamic Scenes on an FPGA Chip, Computer Science, Saarland University, Germany, 2004, pp.8. R.V. Malcheva, M. Younis. Research of effect of step of ray tracing and coeefficient of difference in color components on the time of an image generation, Proceedings of Donetsk National technical university, vol. 14(188), Donetsk, 2011, pp. 195-201. 190