Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

1 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.

2 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.

3 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.

4 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.

5 The Concept

6 System Block Diagram

7 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

8 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

9 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

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

11 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

12 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

13 Deliverables Source Code Executable Documentation Testing Outputs Benchmarks

14 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

15 Design Method Development Model : Incremental Development / Rework strategy

16 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

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

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

19 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

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

21 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

22 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.

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

24 Detailed Design Data Flow Diagram Class Diagram

25

26

27 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.

28 References ISU Senior Design Homepage http://seniord.ece.iastate.edu/ Wikipedia: KD-Tree, Bump Mapping. http://en.wikipedia.org/wiki/ Real-Time Ray Tracing on the PS3 http://seniord.ece.iastate.edu/may0838/index.html


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

Similar presentations


Ads by Google