Courses‎ > ‎Computer Graphics‎ > ‎Konstantinovich‎ > ‎

2019-05-28 Final Projects

posted May 28, 2019, 10:10 AM by Konstantinovich Samuel   [ updated May 31, 2019, 12:07 PM ]
Goal: Final Project  

Can work in groups of at most two people. 
Your purpose is to add new functionality. Priority is new features, not more elegant old features or restructuring the scripting language to be nicer to use.
Due: June 14th. This is a hard deadline because of senior grade deadlines. 

  • Create a GitHub repository for your project.
  • In the README.md file put
    • Your Name(s) at the top
    • Your Team Name
    • List of features you plan to implement.
  • NO LATER THAN 8am Monday morning (6/3)
Submit your group/Repo here:

Possible Final Project Additions: 

MDL Commands:
  • LIGHT
    • Add a light to the symbol table
    • When calculating diffuse and specular: loop through all the lights.
  • MESH
    • Use an external .obj file for polygons
    • Read up on the obj format here.
    • Find example files here.
    • Make sure you deal with .obj files that list quadrilateral faces instead of triangles.

  • SET
    • Assign a value to a knob
  • SAVEKNOBS
    • Save current knob values to a list
  • TWEEN
    • Produce an animation going between two knob lists
  • SHADING
    • Use different shading techniques / calculating I more or less frequently.
    • As discussed in class, a hash table structure can be very helpful for dealing with vertex normals. If you are woking in c, check out uthash
  • SAVE COORDINATE SYSTEM
    • Save a copy of the top of the stack to the symbol table
    • use this coordinate system when drawing shapes (extra argument required)
Additions to MDL that require changes to the language:
  • New primitive shapes
  • Change the behavior of vary
    • add a parameter to change how it calculates the change over time
    • Linear , Exponential, Logarithmic, Arbitrary equation, etc. 
  • Anti-aliasing / Super-sampling 
    • Reduce pixelated edges by calculating a higher resolution version of the image then reducing it to the intended size
  • Texture Mapping
  • Using vary to move the light position / color
Comments