DOC PREVIEW
MIT 6 111 - Real-Time Raytracer

This preview shows page 1-2-19-20 out of 20 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Real-Time RaytracerAbstractOverviewThe RaytracerDesign DecisionsNumber representationVector Normalization & DivisionI/O Buses to the Raytracing UnitsModule Description / ImplementationMaster Controller (MC)Vector ProjectionVector NormalizerSRAM ControllerVGA ControllerRaytracing Unit (RTU)IntersectorDividerShaderLights, Shapes, MaterialsSimulation & TestingResultsFuture WorkAcknowledgementsLererReal-Time Raytracer6.111 Final ProjectAdam Lerer, Sam Gross5/20/2007AbstractRaytracing is a 3D graphics algorithm used to generate extremely photorealistic images. This paper describes a highly parallelized implementation of a raytracing algorithm implemented in hardware on an FPGA. The system allows for rendering of planes and spheres, and is able to render shadows and reflections. Objects are shaded using the Phong shading model, which combines ambient, diffuse, and specular shading. Scenes can include simple animation, and users are able to navigate in scenes by translation and rotation.1LererREAL-TIME RAYTRACER.....................................................................................1Abstract...........................................................................................................................................................1Overview..........................................................................................................................................................3The Raytracer.................................................................................................................................................4Design Decisions..............................................................................................................................................5Number representation.................................................................................................................................5Vector Normalization & Division................................................................................................................6I/O Buses to the Raytracing Units...............................................................................................................7Module Description / Implementation.......................................................................................................10Master Controller (MC).............................................................................................................................10Vector Projection........................................................................................................................................11Vector Normalizer......................................................................................................................................11SRAM Controller.......................................................................................................................................12VGA Controller.........................................................................................................................................12Raytracing Unit (RTU)..............................................................................................................................12Intersector..................................................................................................................................................13Divider.......................................................................................................................................................15Shader........................................................................................................................................................15Lights, Shapes, Materials...........................................................................................................................16Simulation & Testing....................................................................................................................................17Results............................................................................................................................................................18Future Work..................................................................................................................................................18Acknowledgements.......................................................................................................................................192LererOverviewFigure 1: Raytraced Image of Three Spheres on a PlaneRaytracing is a 3D graphics algorithm used to generate extremely photorealistic images. At each pixel of the screen, the raytracing algorithm finds the ray that goes from the viewer’s eye through that pixel, and determines which objects in the scene that ray intersects with. A color for the pixel is determined by properties of the closest intersected object and the relationship between the intersection and the lights in the scene. To calculate reflections, the algorithm adds the color of a ray reflected off the intersection point to the color of the pixel. Raytracing is a very time-consuming algorithm to compute in software, because the calculation of each pixel is independent and calculation of several intersection tests. 3LererFigure 2: The Principle of Raytracing (Wikipedia)Each intersection test is also expensive, requiring several multiplications and often expensive operations such as division or square-root. Therefore, real-time raytracing in software is not yet realizable for complex scenes. However, the independence of each pixel allows for easy parallelization, which makes it ideally suited for custom hardware.The RaytracerThis paper describes a custom digital system that performs raytracing, designed inVerilog and synthesized on the Virtex2-6000 FPGA. The system is made up of several independent raytracing units (RTUs), all controlled by a single master controller. A raytracing unit is given a ray as input and returns the rendered color for that ray. The raytracing unit determines the intersection of the ray with the objects in the scene, and foreach light assigns a color to the point based on Phong shading. The raytracing unit also computes reflected rays in order to calculate colors caused by reflection.The master controller is responsible for calculating initial rays for each pixel on the screen and assigning them to raytracing units. The master controller also synchronizesthe


View Full Document

MIT 6 111 - Real-Time Raytracer

Documents in this Course
Verilog

Verilog

21 pages

Video

Video

28 pages

Bass Hero

Bass Hero

17 pages

Deep 3D

Deep 3D

12 pages

SERPENT

SERPENT

8 pages

Vertex

Vertex

92 pages

Vertex

Vertex

4 pages

Snapshot

Snapshot

15 pages

Memories

Memories

42 pages

Deep3D

Deep3D

60 pages

Design

Design

2 pages

Frogger

Frogger

11 pages

SkiFree

SkiFree

81 pages

Vertex

Vertex

10 pages

EXPRESS

EXPRESS

2 pages

Labyrinth

Labyrinth

81 pages

Load more
Download Real-Time Raytracer
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Real-Time Raytracer and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Real-Time Raytracer 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?