ORIGIN 'opengl' -- lib:attributes -- (* small patterns, for pretty use of repetitions as vectors *) Vector3d: (# data:[3]@real; copy:(# exit (data[1],data[2],data[3]) #); enter (data[1],data[2],data[3]) exit @@data[1] #); Vector4d: (# data:[4]@real; copy:(# exit (data[1],data[2],data[3],data[4]) #); enter (data[1],data[2],data[3],data[4]) exit @@data[1] #); Vector3i: (# data:[4]@integer; copy:(# exit (data[1],data[2],data[3],data[4]) #); enter (data[1],data[2],data[3],data[4]) exit @@data[1] #); Vector4i: (# data:[4]@integer; copy:(# exit (data[1],data[2],data[3],data[4]) #); enter (data[1],data[2],data[3],data[4]) exit @@data[1] #); glBWireCube: (* Not very usefull, does not generate any normals/texture coords *) (# size:@real; enter size do GL_LINE_LOOP->glBegin; (0,0,0)->glVertex3i; (size,0,0)->glVertex3d; (size,0,-size)->glVertex3d; (0,0,-size)->glVertex3d; glEnd; GL_LINE_LOOP->glBegin; (0,size,0)->glVertex3d; (size,size,0)->glVertex3d; (size,size,-size)->glVertex3d; (0,size,-size)->glVertex3d; glEnd; GL_LINES->glBegin; (0,0,0)->glVertex3i; (0,size,0)->glVertex3d; (size,0,0)->glVertex3d; (size,size,0)->glVertex3d; (size,0,-size)->glVertex3d; (size,size,-size)->glVertex3d; (0,0,-size)->glVertex3d; (0,size,-size)->glVertex3d; glEnd; #); glBSolidCube: (*NB does not compute vertex normals *) (# size:@real; enter size do GL_POLYGON->glBegin; (* bottom *) (0,0,0)->glVertex3i; (0,0,size)->glVertex3d; (size,0,size)->glVertex3d; (size,0,0)->glVertex3d; glEnd; GL_POLYGON->glBegin; (* top *) (0,size,0)->glVertex3d; (0,size,size)->glVertex3d; (size,size,size)->glVertex3d; (size,size,0)->glVertex3d; glEnd; GL_POLYGON->glBegin; (* front *) (0,0,size)->glVertex3d; (size,0,size)->glVertex3d; (size,size,size)->glVertex3d; (0,size,size)->glVertex3d; glEnd; GL_POLYGON->glBegin; (* back *) (0,0,0)->glVertex3d; (size,0,0)->glVertex3d; (size,size,0)->glVertex3d; (0,size,0)->glVertex3d; glEnd; GL_POLYGON->glBegin; (* left *) (0,0,0)->glVertex3i; (0,0,size)->glVertex3d; (0,size,size)->glVertex3d; (0,size,0)->glVertex3d; glEnd; GL_POLYGON->glBegin; (* right *) (size,0,0)->glVertex3d; (size,0,size)->glVertex3d; (size,size,size)->glVertex3d; (size,size,0)->glVertex3d; glEnd; #)
23.2 Glb Interface | © 1994-2004 Mjølner Informatics |
[Modified: Wednesday September 20th 2000 at 13:07]
|