VRweb is correct. The transformation are applied "backwards", starting
from the object; the transformation nearest to the object is applied to
it first, followed by the next-nearest one, and so on.
Think of it in terms of matrices: imagine that each transform node produces
a matrix, and that you just multiply them in the order they appear.
Since transforming a vertex is essentially a special case of a matrix
multiply (where one of the matrices happens to be a row vector), it's all
consistent.
In other words,
transformed_vertex = Translation * Rotation * untransformed_vertex
which is the order the nodes appear in the VRML file.
Of course, this really ought to be explicitly stated in the VRML spec.
-- Bernie Roehl University of Waterloo Dept of Electrical and Computer Engineering Mail:[email protected] Voice: (519) 888-4567 x 2607 [work] URL:http://sunee.uwaterloo.ca/~broehl