·Does
not compile with Visual Studio2008: This problem is fixed and all tutorials are re-released. Simply
re-download all the tutorials. The new-releases compile with both 2005 and
2008. Fixed
on-line (10/3/2008).

The highlighted lines should be: dcW and
dcH. Notice this is a bug in the actual source code in all of the libraries
after Lib10. This function (WorldToDevice()) is included for completeness and is not actually called from anywhere
in any of the tutorials.

Bugs in the Library (all
versions):

Lib 12 and above (Tutorial 11.7 and
after):

UWB_BoundingBox
UWB_SceneNode::GetBounds(…) const

Bug: This function can potentially return a
wrong bounding box if mPrimitive is
empty (null pointer).

Fix: Perform the operations of lines 121 to 146 only
if mPrimitive is defined:

m_xform.SetUpModelStack(helper);

If (null !=
mPrimitive) { // The FIX

//Draw the box for debugging

if(bDraw)

box.Draw(&helper);

vec3 minPt =
box.GetMin();

vec3 maxPt =
box.GetMax();

vec3 pt1(minPt.x,
minPt.y, minPt.z);

vec3 pt2(maxPt.x,
minPt.y, minPt.z);

…

vec3 pt8(minPt.x,
maxPt.y, maxPt.z);

helper.TransformPoint( pt1 );

helper.TransformPoint( pt2 );

…

helper.TransformPoint( pt8 );

box.MakeInvalid();

box.Add(
UWB_BoundingBox(pt1, pt2) );

…

box.Add( UWB_BoundingBox(pt7, pt8) );

} // End of fix

This material is based upon work supported
by the National Science Foundation under Grant No. 0442420. Any
opinions, findings, and conclusions or recommendations expressed in this
material are those of the author(s) and do not necessarily reflect the views
of the Nation Science Foundation.

The refinement of this course material is
supported by a grant from Microsoft Research under the Computer Gaming
Curriculum in Computer Science RFP, Award Number 15871.