Home Page > > Details

CSE 287 Project One Spring 2017.doc

CSE287- Page 1 of 7

Project One

Description: Your ray tracing work will conclude with this project. The project will require

you to implement shadow feelers to create shadows, trace reflection vectors to create

mirror-like inter-object reflections, and add additional types of shapes to a scene. Your

starting point for this lab is your completed lab four.

Your grade on this project will depend not only on successful implementation of

additional aspects of ray tracing, but also on quality of the scene that is rendered by

your project.

Simple Polygon Surfaces

Simple polygons are described by three or more vertices in same plane, are convex,

and have no sides which cross one another. The front face of the polygon is normally

defined as the face on which the vertices appear in counter clockwise order. The

surface normal for the polygon should point out of the front face.

Implement a sub-class of the Plane class that represents a simple polygon. The

constructor among other things should have an input parameter that is a vector of

vec3 objects which specify the vertex locations for the polygon in counter-clockwise

order.

The sub-class should use the findClosestIntersetion method of Plane class to

determine if the plane in which the polygon lies is intersected. It can then use the

method described in the notes to determine if the intersection is inside the polygon

CSE 287 Project One Spring 2017.doc

CSE287- Page 2 of 7

described by the vertices passed to the constructor. You should be able to account for

intersections with both the front and back side of the polygon. Both sides of the polygon

should be rendered with correct lighting.

Quadric Surfaces

Implement at least one specialized sub-class of the QuadricSurface class. Your

specialization should enable the rendering of a quadric surface such as a cylinder,

cone, ellipsoid, paraboloid, hyperbolic paraboloid, etc. Shapes such as the cone or

cylinder should not be infinite. It should be possible to render them in any position within

the scene. In your sub-class, use the findClosestIntersetion of the

QuadricSurface class to do the heavy lifting of intersection testing. In the sub-class

findClosestIntersetion method, you can then check the point of intersection to see

if it is in the more limited shape you are creating. Both sides of the surface should be

rendered with correct lighting.

Function to Look for Ray Intersections

Ray tracing is all about finding intersections between rays and surfaces in a scene. You

have already written code that carries out this task. You will need the functionality that

carries out this task to create shadows and reflections.

You will find the declaration of a function (not a method) called findIntersection. in

Lights.h (I left in in the lab code by mistake). It is defined it in Lights.cpp

#include "Lights.h"

HitRecord findIntersection( const glm::vec3 &e, const glm::vec3 &d,

std::vector

Contact Us(Ghostwriter Service)

- QQ：99515681
- WeChat：codinghelp2
- Email：99515681@qq.com
- Work Time：8:00-23:00

- Scie1000 Assignmenthelp With ,Python P... 2020-06-02
- Ghostwriter Comp9017 Assignment,Data C... 2020-06-02
- Program Course Assignmenthelp With ,Py... 2020-06-01
- Help With Stats762 Assignment,Ghostwri... 2020-06-01
- Cosc 2666 Assignmentghostwriter ,C++ P... 2020-06-01
- Stats 731 Assignmentghostwriter ,Help ... 2020-06-01
- Etf5952 Course Assignmentghostwriter ,... 2020-06-01
- 41889 Assignmenthelp With ,Ghostwriter... 2020-06-01
- Sta2202 Assignmenthelp With ,Ghostwrit... 2020-06-01
- You Have Implemented A Simple Web Serv... 2020-05-31
- Stat 5511 Homework 4 2020-05-31
- Lab 7 2020-05-31
- Ghostwriter Cosc 363 Assignment,Help W... 2020-05-31
- Eie111 Course Assignmentghostwriter ,C... 2020-05-31
- Math502 Assignmenthelp With ,Mathemati... 2020-05-31
- Ghostwriter Sit114 Course Assignment,H... 2020-05-31
- Envx3002 Assignmentghostwriter ,R Prog... 2020-05-31
- Ee6435 Programming Homework 2020-05-30
- Computer Architecture Homework 3 2020-05-30
- Infs7450 Assignmenthelp With ,Media An... 2020-05-29

Contact Us - Email：99515681@qq.com WeChat：codinghelp2

© 2014 www.asgnhelp.com

Programming Assignment Help！