Skip to content

A collection of project I worked on for CSCI4611: Interactive Computer Graphics and Games

Notifications You must be signed in to change notification settings

apknusel/CSCI4611-Interactive-Graphics-and-Games

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

CSCI4611-Interactive-Graphics-and-Games

A collection of project I worked on for CSCI4611: Interactive Computer Graphics and Games

Assignment 1

This assignment involves creating a simple, fun game using 2D graphics. You will learn to:

  • Use TypeScript and GopherGfx for some serious programming
  • Work with 2D graphics coordinate systems and vectors
  • Implement game update loops and event handlers
  • Animate computer graphics based on user input

Assignment 2

This program covers a number of important computer graphics concepts. Specifically, you will learn to:

  • Use TypeScript and GopherGfx to build a 3D graphics program
  • Draw simple 3D geometric objects
  • Work effectively with 3D points, vectors, and geometric transformations
  • Balance the tradeoffs between realism and effective gameplay by simulating physics in a plausible but not necessarily realistic way
  • Successfully program your first interactive 3D graphics game!

Assignment 3

In this assignment, you will learn to:

  • Visualize real-world geographical data on a 3D textured globe.
  • Apply textures to 3D objects.
  • Algorithmically create a deforming 3D mesh and display it using vertex buffers.
  • Define normal vectors and texture coordinates for a sphere.
  • Convert from spherical coordinates (latitude and longitude) to 3D Cartesian coordinates.

Assignment 4

In completing this assignment, your goal should be to learn:

  • How transformations can be composed in a hierarchy to create a scene graph and/or, in this case, an animated character within a scene.
  • How transformations can be used to scale, rotate, and translate basic shapes (unit cubes, spheres, cylinders, and cones) into more complex scenes and characters.
  • How mocap data can be used and manipulated in multiple ways to create different types of animations. For example:
  • How to create a looping animation that smoothly interpolates between the beginning of the motion clip and the end to avoid any discontinuities.
  • How to overlay new motion clips onto a character at runtime, for example, making your character jump in a game when you press a button, or in our case, perform one of a series of cool ballet moves.
  • How to read and extend some fairly sophisticated computer graphics code.

Assignment 5

In this assignment, you will learn:

  • How to calculate artistic per-pixel lighting in real-time.
  • How to modify geometry on the fly to create viewpoint-dependent effects such as silhouette outlines.
  • How to manipulate per-pixel normals to create the illusion of more complex surfaces.
  • How to implement and use your own shader programs!

Assignment 6

In this assignment, you will learn:

  • How to perform 3D mesh editing operations in response to user input.
  • How to use pick rays and intersection tests to convert 2D screen space coordinates (e.g., the mouse position, a 2D curve onto the screen) into a 3D virtual world.
  • How to implement a computer graphics algorithm described in a research paper.

About

A collection of project I worked on for CSCI4611: Interactive Computer Graphics and Games

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published