Assignment 4 Modeling Solution

$30.00

Description

Overview

Write a program for the interactive modeling and rendering of pottery. Assume that the pottery is a surface of revolution.

Basic features

  • The generating curve (i.e., the curve being revolved) is a subdivision curve or a parametric curve. The user should be able to edit this curve by inserting, deleting, and moving control points.

  • You may use different viewports to edit the generating curve and display the pottery.

  • The pottery should be rendered with Phong shading.

Bonus features

If you have implemented all basic features, you may choose one or more options from the list below. Each feature (1,2,3, 4a,b,c) is worth 1% of the class mark (max)).

  1. Implement both a parametric and subdivision method to define the generating curves; make it possible for the user to select the method (interactively or by specifying a command-line option.

  1. Use a single viewport to both display the model and manipulate it.

  1. Load and save the models (it is up to you to choose or devine the input/output format(s).

  1. Improve the rendering using

    1. texture mapping (the texture should be seamless),

    2. procedural textures (e.g., Perlin noise),

    3. ray tracing (using the ray-tracer you developed in Assignment 3).

Notes

  1. All your source code must be written in C/C++. Your source code must compile on the lab machines in MS 239 without any special modifications. Your source code must be clear and well commented.

1

  1. You are allowed to reuse source code that: (a) has been provided by your CPSC 453 TA for use in the course, (b) has been written by you for another assignment, or (c) you have received permission to use from your TA prior to handing-in your assignment.

Other sources are not acceptable for reusing. You are not allowed to share your code. Any instances of code reuse by you for this assignment must be explicitly mentioned within the README.pdf file.

2