I would like to know if we can do a matrix that give a frustum volume with a triangular base
Triangular cant be done but you can approximate it with a trapezoidal projection.
What you need to do is establish a scale matrix to scale one of the coordinates (y in this case), along one of the axis (y axis in this case)
Something like this should do:
glLoadIdentity()
glFrustum(0, value, 0, value, 1.0, far);
glScalef(1.0, y, 1.0);
where y is some large positive value.
V-man
[This message has been edited by V-man (edited 05-02-2002).]