The version printed in the SGP 08 proceedings has the following errors,
which HAVE BEEN CORRECTED in the downloadable version on this webpage.
----------
On page 5, bottom right column, the formula (13) for v is specialized to the
case with no blending (i.e. all blend ratios being 2/3), in which case v is
the Catmull-Clark limit point.
In order to use blending via (14) correctly, one needs instead to use the
following formula
v := 1/(n(n+5)) * sum ( 9 f_j + (n-4) p_* )
(the sum is for j in {0,...,n-1})
This formula reduces to the Catmull-Clark limit formula when the local blend
ratios are 2/3.
----------
On page 6, the bottom of first column, the paper says that for case m=3:
b112^0 = b004 + 1/2 (b004 - b103^2) <-- wrong!
Instead, it should be
b112^0 = b004 + 1/2 (b004 - b202^2)
= 3/2 b004 - 1/24 (2 b300^2 + (b210^2 + b120^1) + 4 (b211^2 + b121^1))
(can get the expansion via equation 6).
The expanded-out formula can also be seen in the posted source code:
const uint num_sides = 3;
...
for (k = 0; k < num_sides; ++k) {
const uint km = (k+(num_sides-1)) % num_sides;
const uint kp = (k+1) % num_sides;
pat[k].b112 =
(3.0/2.0 ) * b004
- (1.0/12.0) * pat[km].b300
- (1.0/24.0) * ( pat[km].b210 + pat[kp].b120 )
- (1.0/6.0 ) * ( pat[km].b211 + pat[kp].b121 );
}
----------