Computer Graphics, Fall 2023

Michael Kazhdan


File Description


Filename Assignment(s) Description
Assignment1.vcxproj 1 The Visual Studios project file for compiling the Assignment1 executable under Windows
Assignment2.vcxproj 2 The Visual Studios project file for compiling the Assignment2 executable under Windows
Assignment3.vcxproj 3 The Visual Studios project file for compiling the Assignment3 executable under Windows
Assignment4.vcxproj 4 The Visual Studios project file for compiling the Assignment4 executable under Windows
GLEW.vcxproj 3 and 4 The Visual Studios project file for compiling the GLEW (OpenGL Wrangler) library under Windows
Image.vcxproj 1, 2, 3, and 4 The Visual Studios project file for compiling the Image library under Windows
JPEG.vcxproj 1, 2, 3, and 4 The Visual Studios project file for compiling the JPEG library under Windows
Assignments.sln 1, 2, 3, and 4 Workspace file for Visual Studios
glut32.lib 3 and 4 GLUT library for Windows (x64)
glut64.dll 3 and 4 GLUT dynamically linked library for Windows (x64)
main1.cpp 1 Code for parsing the command line and calling the appropriate image processing functions
main2.cpp 2 Code for parsing the command line and performing and ray-tracing
main3.cpp 3 Code for parsing the command line and performing OpenGL rendering of a static scene
main4.cpp 4 Code for parsing the command line and performing OpenGL rendering of an animating scene
Makefile1 1 The makefile for compiling the Assignment1 executable under Unix/Mac
Makefile2 2 The makefile for compiling the Assignment2 executable under Unix/Mac
Makefile3 3 The makefile for compiling the Assignment3 executable under Unix/Mac
Makefile4 4 The makefile for compiling the Assignment4 executable under Unix/Mac
GL/*.[cpp/h] 2, 3, and 4 Code and declarations for OpenGL rendering
Image/bmp.[cpp/h] 1, 2, 3, and 4 Code to read and write 24-bit BMP images
Image/jpeg.[cpp/h] 1, 2, 3, and 4 Code to read and write JPEG images
Image/image.[cpp/h] 1, 2, 3, and 4 Code for image processing
Image/image.todo.cpp 1, 2, 3, and 4 Code stub for image processing
Image/lineSegments.[cpp/h] 1 Code for manipulating line segments describing a warp
Image/lineSegments.todo.cpp 1 Code stub for manipulating line segments describing a warp
JPEG/*.[cpp/h] 1, 2, 3, and 4 Code for the back end of jpeg file reading and writing
Ray/box.[cpp/h] 2, 3, and 4 Code for rendering a box
Ray/box.todo.cpp 2, 3, and 4 Code stub for rendering a box
Ray/camera.[cpp/h] 2, 3, and 4 Code for rendering and transforming a camera
Ray/camera.todo.cpp 2, 3, and 4 Code stub for rendering and transforming a camera
Ray/cone.[cpp/h] 2, 3, and 4 Code for rendering a cone
Ray/cone.todo.cpp 2, 3, and 4 Code stub for rendering a cone
Ray/cylinder.[cpp/h] 2, 3, and 4 Code for rendering a cylinder
Ray/cylinder.todo.cpp 2, 3, and 4 Code stub for rendering a cylinder
Ray/directionalLight.[cpp/h] 2, 3, and 4 Code for rendering a directional light source
Ray/directionalLight.todo.cpp 2, 3, and 4 Code stub for rendering a directional light source
Ray/fileInstance.[cpp/h] 2, 3, and 4 Code for rendering an instance of a .ray file within a scene graph
Ray/GLSLProgram.[cpp/h] 2, 3, and 4 Code for managing vertex and fragment shaders
Ray/keyframes.[inl/h] 4 Code for performing key frame animation
Ray/light.h 4 Code for rendering generic lights in a scene
Ray/mouse.[cpp/h] 3 and 4 Code for managing mouse events
Ray/pointLight.[cpp/h] 2, 3, and 4 Code for rendering a point light source
Ray/pointLight.todo.cpp 2, 3, and 4 Code stub for rendering a point light source
Ray/scene.[cpp/inl/h] 2, 3, and 4 Code for parsing a scene graph
Ray/scene.todo.cpp 2, 3, and 4 Code stub for rendering a scene graph
Ray/shape.h 4 Code for rendering generic shapes in a scene
Ray/shapelist.[cpp/h] 4 Code for rendering groups, unions, intersections, and differences of shapes
Ray/shapelist.todo.cpp 4 Code stub for rendering groups, unions, intersections, and differences of shapes
Ray/sphere.[cpp/h] 2, 3, and 4 Code for rendering a sphere
Ray/sphere.todo.cpp 2, 3, and 4 Code stub for rendering a sphere
Ray/sphereLight.[cpp/h] 2, 3, and 4 Code for rendering a spherical light source
Ray/sphereLight.todo.cpp 2, 3, and 4 Code stub for rendering a spherical light source
Ray/spotLight.[cpp/h] 2, 3, and 4 Code for rendering a spot light source
Ray/spotLight.todo.cpp 2, 3, and 4 Code stub for rendering a spot light source
Ray/torus.[cpp/h] 2, 3, and 4 Code for rendering a torus
Ray/torus.todo.cpp 2, 3, and 4 Code stub for rendering a torus
Ray/triangle.[cpp/h] 2, 3, and 4 Code for rendering a triangle
Ray/triangle.todo.cpp 2, 3, and 4 Code stub for rendering a triangle
Ray/window.[cpp/h] 4 Code for displaying an OpenGL
SVD/MatrixMNTC.[inl/h] 4 Code for representing matrices
SVD/SVD*.[inl/h] 4 Code for computing the Singular Value Decomposition (SVD) of a matrix
Util/algebra.h 1, 2, 3, and 4 Code for filling in the arithmetic operators for different algebraic objects
Util/cmdLineParser.[inl/h] 1, 2, 3, and 4 Code for processing command line arguments
Util/exceptions.h 1, 2, 3, and 4 Code for throwing exceptions, printing out warnings, and exiting with an error
Util/factory.h 2, 3, and 4 Code for implementing factories producing derived classes of a base class
Util/geometry.[cpp/inl/h] 1, 2, 3, and 4 Code for representing geometric quantities like points, planes, rays, etc. as well as matrices acting on them
Util/geometry.todo.[cpp/inl] 2 and 4 Code stubs for manipulating geometric quantities
Util/interpolation.[cpp/h] 4 Code for performing different types of interpolation
Util/interpolation.todo.inl 4 Code stub for performing different types of interpolation
Util/poly32.[cpp/h] 2 Code for finding the roots of a low-degree polynomial
Util/polynomial.[inl/h] 2 Code for representing polynomials in different dimensions and different degrees
Util/ProgressBar.[inl/h] 2 Code for displaying a progress bar on the command line
Util/threads.[cpp/h] 2 Code for supporting multithreading
Util/timer.h 2, 3, and 4 Code for measuring elapsed time