CyRay: Real-Time Ray Tracing on the PlayStation3 CprE491: MAY08-38 Brendan Campbell, Sean Godinez, Daniel Risse, Aaron Westphal 12 December 2007 DISCLAIMER:

Slides:



Advertisements
Similar presentations
Parallel Processing with PlayStation3 Lawrence Kalisz.
Advertisements

Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
Exploration of bump, parallax, relief and displacement mapping
Graphics Pipeline.
3D Graphics Rendering and Terrain Modeling
 Engineering Graphics & Introductory Design 3D Graphics and Rendering REU Modeling Course – June 13 th 2014.
1. What is Lighting? 2 Example 1. Find the cubic polynomial or that passes through the four points and satisfies 1.As a photon Metal Insulator.
Illumination Model & Surface-rendering Method 박 경 와.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Programming with CUDA, WS09 Waqar Saleem, Jens Müller Programming with CUDA and Parallel Algorithms Waqar Saleem Jens Müller.
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Object-Order vs. Screen-Order Rendering April 24, 2003.
Development of a Ray Casting Application for the Cell Broadband Engine Architecture Shuo Wang University of Minnesota Twin Cities Matthew Broten Institute.
(conventional Cartesian reference system)
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
Status – Week 277 Victor Moya.
Global Illumination May 7, Global Effects translucent surface shadow multiple reflection.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
Computer Graphics Inf4/MSc Computer Graphics Lecture 11 Texture Mapping.
MULTIMEDIA TECHNOLOGY SMM 3001 MEDIA - GRAPHICS. In this chapter how the computer creates, stores, and displays graphic images how the computer creates,
May CyRay: Real Time Ray-Tracing for Cell On a PlayStation3 30 April 2008 Brendan Campbell, Sean Godinez, Daniel Risse, Aaron Westphal Client and.
Ray Tracing Primer Ref: SIGGRAPH HyperGraphHyperGraph.
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
Ray Tracing and Photon Mapping on GPUs Tim PurcellStanford / NVIDIA.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Grafis 3D. What is 3D?  3D Image x, y, z Tell a story, more information  2D Image x, y Communicate something simple (ie. cheat)
1 Computer Graphics Week3 –Graphics & Image Processing.
Introducing To 3D Modeling George Atanasov Telerik Corporation
Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data.
Chris Kerkhoff Matthew Sullivan 10/16/2009.  Shaders are simple programs that describe the traits of either a vertex or a pixel.  Shaders replace a.
-Global Illumination Techniques
Project Raytracing. Content Goals Idea of Raytracing Ray Casting – Therory – Practice Raytracing – Theory – Light model – Practice Output images Conclusion.
Ray Tracing Chapter CAP4730: Computational Structures in Computer Graphics.
CS447/ Realistic Rendering -- Radiosity Methods-- Introduction to 2D and 3D Computer Graphics.
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
Group May Bryan McCoy Kinit Patel Tyson Williams Advisor/Client: Zhao Zhang.
Rendering Overview CSE 3541 Matt Boggus. Rendering Algorithmically generating a 2D image from 3D models Raster graphics.
Gene Au-yeung, Daniel Quach, Jeffrey Su, Albert Wang, Jessica Wang, David Woo.
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
1 by: Ilya Melamed Supervised by: Eyal Sarfati High Speed Digital Systems Lab.
09/16/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Environment mapping Light mapping Project Goals for Stage 1.
A Few Things about Graphics Jian Huang Computer Science University of Tennessee.
Course Introduction to virtual engineering Óbuda University John von Neumann Faculty of Informatics Institute of Applied Mathematics Lecture and laboratory.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Surface Rendering Methods 고려대학교 컴퓨터 그래픽스 연구실.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
Bounding Volume Hierarchy. The space within the scene is divided into a grid. When a ray travels through a scene, it only passes a few boxes within the.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
CSE 681 Introduction to Ray Tracing. CSE 681 Ray Tracing Shoot a ray through each pixel; Find first object intersected by ray. Image plane Eye Compute.
Computer Graphics Ken-Yi Lee National Taiwan University (the slides are adapted from Bing-Yi Chen and Yung-Yu Chuang)
1© 2009 Autodesk Hardware Shade – Presenting Your Designs Hardware and Software Shading HW Shade Workflow Tessellation Quality Settings Lighting Settings.
Applications and Rendering pipeline
GPU Architecture and Its Application
Photorealistic Rendering vs. Interactive 3D Graphics
Ray Tracing Dr. Scott Schaefer.
3D Graphics Rendering PPT By Ricardo Veguilla.
The Graphics Rendering Pipeline
© University of Wisconsin, CS559 Fall 2004
Lockheed Martin Challenge
CS5500 Computer Graphics May 29, 2006
Computer Graphics 4Practical Lesson
CSCE 441: Computer Graphics Ray Tracing
Texture Mapping 고려대학교 컴퓨터 그래픽스 연구실.
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Introduction to Ray Tracing
Presentation transcript:

CyRay: Real-Time Ray Tracing on the PlayStation3 CprE491: MAY08-38 Brendan Campbell, Sean Godinez, Daniel Risse, Aaron Westphal 12 December 2007 DISCLAIMER: This document was developed as part of the requirements of an electrical and computer engineering course at Iowa State University, Ames, Iowa. The document does not constitute a professional engineering design or a professional land surveying document. Although the information is intended to be accurate, the associated students, faculty, and Iowa State University make no claims, promises, or guarantees about the accuracy, completeness, quality, or adequacy of the information. Document users shall ensure that any such use does not violate any laws with regard to professional licensing and certification requirements. Such use includes any work resulting from this student-prepared document that is required to be under the responsible charge of a licensed engineer or surveyor. This document is copyrighted by the students who produced the document and the associated faculty advisors. No part may be reproduced without the written permission of the senior design course coordinator.

Overview End Goal To produce realistic looking scenes using the most impressive set of features capable of running interactively in real time (20 fps or faster) on the PlayStation3. T asks Implement a multi-threaded ray tracing program that utilizes the Cell Broadband Engine’s SPEs. Expand functionality, optimize throughput, and test repeatedly. Spread the workload over multiple PS3s (Future Project). Users Those interested in achieving real-time ray tracing using IBM’s Cell Processor.

Definitions Cell Broadband Engine (CBE) A processor developed by IBM that is the CPU of Sony’s Playstation3 console, also referred to as the Cell Processor. Single Instruction, Multiple Data (SIMD) Performing the same instruction in parallel over multiple blocks of data. Power Processing Element (PPE) This is the main core of the Cell Processor. Synergistic Processing Element (SPE) This is a co-processor that specializes in SIMD instructions and is a supplemental part of the Cell Processor. Anti-Aliasing This is a technique that gets rid of jagged edges on objects. The image is constrained to being rendered on pixels, but anti-aliasing can dampen the effects of pixelation.

Definitions (cont’d) Bump Mapping This is a technique that perturbs the surface normals of the object's texture, varying the results of surface shading. Diffuse Shading Shading is calculated based on the angle at which a light source hits a surface. The more directly the surface is hit, the more intensely the surface is lit. Phong Shading This is a model for shading and interpolation that creates smooth surfaces that have realistic glossiness and coloration. Specular Shading Shading is calculated like a reflection. This determines how a camera sees a light source as a reflection. kd-Tree K-dimensional tree. This is a space partitioning data structure.

The Concept

System Block Diagram

Operating Environment System Interface: Linux OS and PS3 Linux Fedora Core 7 OS operates on the PS3 Ray Tracing Program operates within the Linux OS Hardware Interface: Display screen provides visual output IBM’s Cell Processor runs the ray tracing application USB keyboard controls movement in scene PS3 Controller also shall permit movement through scene

User Interface Display of rendered scene through PS3 video outputs to compatible monitor Interactivity via USB keyboard Linux on PS3 supports keyboard usage Controls allow manipulation of camera May also map PS3 controller to input

Requirements Functional: Program shall have a fast frame rate to simulate real-time Program shall have low latency to reacting to user inputs Program shall avoid branching functions due to frame-rate loss on cell processor Program shall implement color User shall be able to modify camera positioning Non-Functional: Should run at an approximate rate of 20 fps Shall be able to store all required memory in available cell processor memory Should be capable of being run across multiple machines Shall not be cross-compatible with other OS or processor types

Features to Implement: Shadows Reflection Refraction Material Effects Diffuse Shading Specular Shading Texture Mapping Anti-aliasing Requirements (cont’d)

Market and Literature Survey Desirable features of Interactive Ray Tracer High frame rate (20+ fps at 1280x720 resolution) Low latency for user input Fully rendered color (24 bits) Diffuse and Specular shading Shadows Reflection and Refraction Anti-aliasing Textures and Bump-mapping

Solution Strategies Means to Achieve Features Hierarchies (spatial sub-division of objects for intersection testing) Task Grouping (based on data dependency) Iterative vs. Recursive design

Deliverables Source Code Executable Documentation Testing Outputs Benchmarks

Project Plan Work Breakdown Several iterative stages Distributed evenly at each stage Budget: Estimated “$7680” $10/hr per member over two semesters Project Schedule Risks Implementation Complications

Design Method Development Model : Incremental Development / Rework strategy

Design Expected Features and Timeline 1. Simple Ray Tracer that runs on the PS3 2. Simple Ray Tracer utilizing Cell SPEs and kd-tree scene 3. Specular Shading 4. Shadows 5. Phong Interpolation 6. Reflections 7. Refractive Transparency 8. Textures 9. Bump Mapping 10. Anti-Aliasing & Ambient Occlusion

Design (cont’d) The transition to more and more features: No shading Diffuse Specular Shadows Reflections

Design (cont’d) General Ray Tracing Strategy Making the Collision Search More Efficient Lighting Model Ambient Color Diffuse Specular Reflectiveness Transmissiveness Index of Refraction

Design (cont’d) Interpolation Model Phong Shading – Linear interpolation of vertex normals for a point on a polygon to get better resolution of specular and diffuse shading, as well as reflections Parallel Ray Tracing Strategy Initial Distribution- Dividing responsibility amongst SPEs Ray Task Deferral- Work on other tasks until ray data is ready Ray Task Grouping – Group rays with similar data dependencies

Specifications Input Scene Description File Keyboard PS3 Controller Output LCD Monitor Currently configured at 576x384 pixels Maybe increased later, such as to 1280x720

Specifications (cont’d) Hardware Sony PlayStation 3 Console Cell Broadband Engine Power Processing Element Synergistic Processing Elements Relevent Peripherals PS3 Power Cord LCD Monitor HDMI to DVI Adaptor Cable USB Keyboard PlayStation 3 Controller

Specifications (cont’d) Software Use Case: The user utilizes an input device to produce a camera movement command. The system translates the command into a coordinate change for the active camera. This change takes effect before for the next frame that has yet to start rendering. The system renders the scene using the new camera coordinates.

Specifications (cont’d) Testing Feature-wise Appearance Frame Rate Latency General Behavior

Detailed Design Data Flow Diagram Class Diagram

Class Design SceneSet Contains all the objects in the scene, essentially the root node of the ObjectTree. Geometries, Lights, and a Camera can be added to this object which will be added to the ObjectTree. All objects can be referenced through this object. Ray Tracing requests are called through this object. This object is also responsible for subdividing the object tree into easier-to-work-with parts for the SPEs FrameBuffer Contains a front and back buffer for displaying the scene. Each pixel will be represented by 24-bit r,g,b values, and stored in a 32-bit slot for alignment purposes. All pixel updates will take place on the back buffer. The frames will ip with VSYNC. ObjectTree This is a kd-tree containing the objects within the scene. This tree is an ecient way to reference only parts of the scene that are needed. Object This object an interface to many types of primitives, such as spheres and triangles. This object contains a Material object.

References ISU Senior Design Homepage Wikipedia: KD-Tree, Bump Mapping. Real-Time Ray Tracing on the PS3