First
assignment: | Write a
program for rendering ply files using
OpenGL. Your program should provide for correct
lighting based on the normal vectors defined for
each vertex (not per polygon). Some ply files do
not contain normal vectors requiring you to
compute these yourself. The program should fully
utilize the 3D capabilities provided by the
systems in Russ 315. You can base your code on
this framework for Windows or Linux. For reading
the ply files you can use these updated files, which can read
ASCII and binary ply files. For testing, you can
use the following sample files:
|
Second
assignment: | Create a
virtual environment of the Wright State
campus. A model of the campus is already available for Windows and
Linux. Extend this
software so that you can roam around in this
virtual environment using gamepads and Wii
controllers available in Russ 315. Example code is provided for
accessing joysticks and Wiimotes if necessary.
|
Third
assignment: | Design a
visualization software for vector data
sets. Your software should be able to read VTK
structured grid data sets, for example this one or this one, using
stream tubes. Your software should allow a user
to interactivly place starting points for the
stream tubes using any one of the input devices
available in Russ 315. The user should be able
to add an infinite number of stream tubes to
visualize the data set. In order to compute the
streamlines you can use the code provided on this
web page.
|
Final
project: | Implement a
volume renderer based on the 3D texture rendering
capabilities provided by the graphics
hardware. To adjust the accuracy of the
rendering, your software should allow for some
form of adjustment of the number of planes used
during run-time. Your software should also
provide a user interface for adjusting the
transfer functions for color and opacity. For
this, create a widget that plots the histogram
overlaid with the curve representing the
transfer function similar to this image
as provided by KWWidgets.
Students taking this class at the 600-level
should implement correct lighting based on the
Phong illumination model using the image
gradient as normal vector.
|