程序代写代做代考 graph go GPU game CS-396 Fall 2020 Final Project

CS-396 Fall 2020 Final Project
The final project will be of your own design but it must be fully 3D and include the following:
• Animation which is at least semi-independent of user interaction
• Mouse and/or Keyboard Events
• Geometry, Transformations, and Projection (either perspective or orthographic)
• Lighting/Shading
• Textures
It must also include at least one of the following topics:
• Complex models loaded from OBJ files
• Reflection/Environment Maps
• Bump Maps
• Translucent Materials
• Off-Screen Rendering (for use with picking, reflection maps, …)
Based on the type of project you choose, it must also follow these requirements:
• Games: must have at least 3 levels or difficulties
• Models/Simulation: mouse/keyboard don’t just change view but interact with the system
• Data Visualization: must be able to import data to be displayed
You may not cover a topic trivially (e.g. just doing exactly what was done in class).
Additionally, the project must make good use of buffers, drawing, and uniforms, not send large amounts of data to the GPU on a regular basis, or have any unnecessary code run during a render.
It is extra credit if you incorporate one feature of JS/WebGL not discussed in class. Some ideas are:
• Playing/recording audio (e.g. AudioContext)
• Client-Server communication (e.g. WebSocket)
• Background processing threads (e.g. Web Workers)
You must submit an idea for your project by Monday Nov 16 via Canvas. I will reply by the following Wednesday if they are approved or need adjustments. Make sure the description of the project says how all of the above aspects will be covered.
Your project will be turned in via Gitkeeper by Thursday Dec 10 10:15am. You will present your work during the final exam period on Thursday Dec 10 from 10:15-12:15. Your presentation will be 10 minutes. You must demo the program, explain how to interact with it, describe any special features you have added, and talk about at least 2 challenging programming aspects that you had to go through while making the program. You may choose to use slides in addition to your demo program but this is not required. 10% of your participation points for the course will be based on you asking questions of other groups after their presentations.

GRADING
There are 100 pts and they are broken down as follows:
• 10 pts each for use of animation, mouse/keyboard, geometry/transformations/projection,
lighting/shading, and textures
• 10 pts for the advanced topic used
• 15 pts for appropriate GPU usage and good code quality
• 15 pts for polish including your page informing the user how to use the program/interact with it
• 10 pts for your presentation
Use of non-discussed features is eligible for up to 10 extra credit points.
PROJECT IDEAS
All of these ideas are just starting points and will need more details.
Simulations
• Water
• Fire
• Smoke/Steam
• Floating Soap Bubbles
• Cloth
• Solar System
• Sky (day/night, sun/stars/moon, phases of the moon, selectable items tell you what they are)
• Fish Tank
Games
• Rubik’s Cube
• Flying program (with HUD, shadow, constantly moving forward, larger/infinite range of terrain)
• Billiards
• Car Racing
• Maze/Puzzle (with POV of being in the maze, has challenges in parts of the maze to get through)
• Board Game Pack (checkers, chess, …)
• 3D Snake (but unlike the one online the current direction could be anything)