WSU 2-color logo

Welcome to

CEG4500/CEG6500 - Computer Graphics



First assignment: Please implement a computer program that is capable of rendering a scene that consists entirely of polygons using the direct drawing method of OpenGL. Your software should be able to generate three images of the scene defined by the PLY file showing a top, side, and front view. The full description is available here. For testing, the following sample files are available:

For reading ply files, you can use these following sources. (Note: Do not use the file test.ply for any testing if you are not on a Windows platform!)

Sample solutions are available for Unix and Windows.

Second assignment: Extend the software from the first assignment to include the capability to rotate. Put three sliders in the remaining quarter of your window. By moving the sliders, the objects of the scene should rotate by 360 degree around the x-, y-, or z-axis, respectively. The objects should be displayed in the center of the images in order to ensure that they do not rotate out of the window. The full description is available here.

Sample solutions are available for Unix and Windows.

Third project: Design and implement a program to display a volumetric image using a cloud of points. Draw an image entry (x,y,z) that has a value larger than or equal to a provided threshold value by a 3-D point at (x,y,z) in the view volume. Let the RGB values of the point be the intensity at entry (x,y,z). This will display the volumetric image in intensity form. Provide a means to rotate the volumetric object about the x, y, and z axis by desired amounts using three sliders. Also, provide the means to scale up and down the object using another slider. The full description is available here. The following files can be used for testing your program.

Sample solutions are available for here.

Fourth project: Generate an image of a scene using the ray-casting method. The full description is available here. This image shows how the results could look like.
Final project: Render a scene of an architectural model. Your renderer should include the ability to render reflective parts, such as mirrors, and also generate appropriate shadows as generated by the items within the scene. As the basis, you can use this room. There are two frames on the wall represented by mesh242 and mesh243 which you can turn into mirrors using a multi-stage rendering approach. You can find an example for shadow maps here. These shaders should be expanded to retain proper lighting by incorporating Phong shading. Results of the shadow map could look like this or this.
Last modified Monday November 16, 2020