I'm a bit puzzled by the semantics of the .spec files: Given the 9
possible combinations of directions (in, out, in/out) and transfer
types (value, reference, array), what do they mean exactly? E.g.
what are the exact differences between
param foo BarPointer in value
param foo Bar in reference
param foo Bar in array [<whatever>]
Looking into gl.spec and glu.spec, these seem to be arbitrarily mixed.
Regarding "in/out": There is some confusion in the scripts and their
comments whether it should read "in/out" or "inout", but neither of it
is used in the .spec files, so this distinction is only academic and we
could leave it out of the current discussion.
Another point is the "retained" attribute, which probably means: "The
location of this buffer is remembered across the current call" (vertex
arrays, feedback buffers, etc.) and makes only sense for reference and
array. Is this correct?
So we are basically left with
2 (in,out) * 3 (value,reference,array) * 2 (optionally retained) = 12
possible combinations. A translation of these into e.g. DCE IDL or its
close relative Microsoft IDL would be very helpful.
Looking for enlightenment,
Sven Panne Fon: +49/89/99567000 Fax: +49/89/99567461
BetaResearch GmbH, Betastr. 1, D-85774 Unterfoehring