Graphics Team - End of Quarter Document
Project Team:
Mike Faff
Cameron Perkins
The old viewer web page
Accomplishments Last Quarter
Gaining an understanding of the code.
Fixed Bounding-box (somewhat, see problems encountered section)
Fixed unexpected bugs encountered in the code. (missing vertex,
and material/fopen problem -- see problems encounterd section)
Created models that better approximated the VR environment.
Problems Encountered Last Quarter
Bounding-box code was broken
fixed some parts of it.
- clipping at a given distance
- clipping behind the viewer
- clipping to the sides and top works at the cost of
it sometimes causes an object that you are inside,
to disappear.
awaiting help on algorithm from professors
- this will help fix the errors in the sides/top/bottom
clipping.
The code in glm lost a vertex from each object when reading in the
metafiles. This was a known problem for many quarters. We have
fixed it.
The code that read in the materials had many calls to fopen, but no
calls to fclose. This caused crases for larger metafiles. This
has been fixed.
Accomplishments This Quarter
Got texture-mapping working.
Excessive idle redisplay of the viewer window was removed:
- Removed the call to redisplay in the idle callback.
- Ensured redisplays were performed every time the scene was updated.
Less intensive models are substituted for far-away objects:
- Modified code to draw an agent's bounding box to work with scene
objects. This was non-trivial as the scene objects used a
different, undocumented bounding box format.
- Added documentation to the scene object bounding box format in
world3d.h (an ascii picture of the box showing where each point is
located).
- Added code to calculate which objects are distant (as a percentage
of the distance to the far-clip plane).
- Replaced standard draw function to choose between drawing the
object normally and drawing the bounding box.
Tested and gathered data on server-client errors.
Problems Encountered This Quarter
There are still some client-server communications issues. The
communication appears to be timing out rather quickly when you run
multiple clients, causing the clients to just hang. The symptoms seem
to be most noticeable when all the processes are being run off the
same machine, especially on an O2.
The code for default colors and textures is shaky at best. As a
result, some objects show up with unexpected colors when texture
mapping is turned off and on. All objects should have a texture and
color -- the current meta files don't do this. The color for textured
objects is important for the low-quality far-away model.