Project4S16

From Immersive Visualization Lab Wiki
Revision as of 07:18, 7 May 2016 by Jschulze (Talk | contribs)

Jump to: navigation, search

Contents

Project 4: Roller Coaster

In this project, you need to create a track editor for a simple roller coaster. The roller coaster will have just one car, which will be the pod from project 3. The editor should work like the one in the video shown in class.

Start with your sky box from project 3, along with the code to manipulate the camera with keyboard and/or mouse. We recommend that you use and further develop your scene graph engine from project 3. However, if you prefer not to that is acceptable.

1. Track

Just like in the Bezier curve video, create eight connected Bezier curves. Ensure C1 continuity by forcing the tangents of the two curves in the connecting points to be parallel. Draw the Bezier curves by approximating them with about 100 straight OpenGL line segments each, for a total of about 800 line segments. Make them wider than the default by using OpenGL command glLineWidth, so that they are more easily visible.

2. Control Handles

interaction with control points; selection buffer for selection of points or ray casting or or 3D input device - discussion goes over selection algorithms

3. Environment mapping

Load the pod from project 3. It will be the roller coaster car. We want to make its surface a polished metal, so we need to use environment mapping with it.

cube map tutorial of learnopengl has env map - point to it

4. Physics

make it look like in the video; potential energy equation: conversion from potential to kinetic energy; reset button: start pod at highest point

5. Optional (10 Points)

either one gives 10 points a) extend bezier curve to band with 1st order polynomial added b) real time calculated environment map to include the track