I had some problems with blending but eventually I got this to work (though it probably can be done much more efficiently)
Source;
'
' GLENZE VECTOR WITH OPENGL
' By Shockwave.
'===============================================================================
OPTION STATIC
OPTION EXPLICIT
#INCLUDE "GL/GL.BI"
#INCLUDE "GL/GLU.BI"
#INCLUDE "WINDOWS.BI"
DIM SHARED AS INTEGER MOUSE
'===============================================================================
' OPEN A SCREEN 1024 * 768;
'===============================================================================
SCREEN 20,,,3
'===============================================================================
' SET UP OPENGL;
'===============================================================================
GLVIEWPORT 0, 0, 1024, 768 '' Reset The Current Viewport
GLMATRIXMODE GL_PROJECTION '' Select The Projection Matrix
GLLOADIDENTITY
GLUPERSPECTIVE 50.0, 1024.0/768.0, 0.1, 100.0 '' Calculate The Aspect Ratio Of The Window
GLMATRIXMODE GL_MODELVIEW '' Select The Modelview Matrix
GLLOADIDENTITY '' Reset The Modelview Matrix
GLSHADEMODEL GL_SMOOTH '' Enable Smooth Shading
GLCLEARCOLOR 0.01, 0.01, 0.05, 0.00 '' Black Background
GLCLEARDEPTH 1.0 '' Depth Buffer Setup
GLENABLE GL_DEPTH_TEST '' Enables Depth Testing
GLDEPTHFUNC GL_LEQUAL '' The Type Of Depth Testing To Do
GLHINT GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST '' Really Nice Perspective Calculations
dim shared LightAmbient(0 to 3) as single => {0.01, 0.01, 0.01,0.1} '' Ambient Light is 20% white
dim shared LightDiffuse(0 to 3) as single => {0.5, 0.5, 0.5,0.5} '' Diffuse Light is white
dim shared LightPosition(0 to 2) as single =>{0.0, 0.0, 15.0 } '' Position is somewhat in front of screen
glLightfv( GL_LIGHT1, GL_AMBIENT, @LightAmbient(0)) '' Load Light-Parameters Into GL_LIGHT1
glLightfv( GL_LIGHT1, GL_DIFFUSE, @LightDiffuse(0))
glLightfv( GL_LIGHT1, GL_POSITION, @LightPosition(0))
glEnable(GL_LIGHTING)
glEnable(GL_LIGHT1)
GLSHADEMODEL (GL_SMOOTH)
'===============================================================================
' SUBROUTINES;
'===============================================================================
DECLARE SUB DRAWGLENZE()
'===============================================================================
' SETUP;
'===============================================================================
' MATERIALS;
DIM SHARED FACE1(0 to 3) AS SINGLE => {1.0, 0.0, 0.0,0.45} :' RED FACES
DIM SHARED FACE2(0 to 3) AS SINGLE => {0.9, 0.9, 0.9,0.45} :' WHITE FACES
DIM SHARED FACE3(0 to 3) AS SINGLE => {0.0, 1.0, 0.0,0.45} :' GREEN FACES
DIM SHARED FACE4(0 to 3) AS SINGLE => {0.0, 0.0, 1.0,0.45} :' BLUE FACES
' ROTATIONS;
DIM SHARED XR AS SINGLE : ' X ROTATION
DIM SHARED YR AS SINGLE : ' Y ROTATION
DIM SHARED ZR AS SINGLE : ' Z ROTATION
' HIDE MOUSE POINTER;
MOUSE=SHOWCURSOR(0)
GLENABLE(GL_BLEND)
GLBLENDFUNC(GL_ONE_MINUS_CONSTANT_ALPHA,GL_SRC_ALPHA)
GLENABLE (GL_CULL_FACE)
'===============================================================================
WHILE((GETASYNCKEYSTATE(VK_ESCAPE)<> -32767) )
GLFLUSH()
GLCLEAR GL_COLOR_BUFFER_BIT OR GL_DEPTH_BUFFER_BIT
GLLOADIDENTITY
glTranslatef(0, 0, -3)
glRotatef(xr, 1.0, 0.0, 0.0)
glRotatef(yr, 0.0, 1.0, 0.0)
glRotatef(zr, 0.0, 0.0, 1.0)
GLCULLFACE(GL_FRONT)
DRAWGLENZE()
GLCULLFACE(GL_BACK)
DRAWGLENZE()
xr = xr + 0.11
yr = yr + 0.06
zr = zr + 0.15
FLIP
WEND
END
SUB DRAWGLENZE()
GLBEGIN GL_TRIANGLES
'---------------------------------------------------------------------------
' TOP FACE
'---------------------------------------------------------------------------
GLCOLOR3F 1.0,0.0,0.0
GLMATERIALFV (GL_FRONT,GL_AMBIENT_AND_DIFFUSE,@FACE1(0))
GLNORMAL3F 0,1,0
GLVERTEX3F 1, 1, 1
GLVERTEX3F 0, 1, 0
GLVERTEX3F -1, 1, 1
GLVERTEX3F 0, 1, 0
GLVERTEX3F 1, 1, -1
GLVERTEX3F -1, 1, -1
GLMATERIALFV (GL_FRONT,GL_AMBIENT_AND_DIFFUSE,@FACE2(0))
GLVERTEX3F -1,1,1
GLVERTEX3F 0,1,0
GLVERTEX3F -1,1,-1
GLVERTEX3F 0,1,0
GLVERTEX3F 1,1,1
GLVERTEX3F 1,1,-1
'---------------------------------------------------------------------------
' BOTTOM FACE
'---------------------------------------------------------------------------
GLMATERIALFV (GL_FRONT,GL_AMBIENT_AND_DIFFUSE,@FACE1(0))
GLNORMAL3F 0,-1,0
GLVERTEX3F 0, -1, 0
GLVERTEX3F 1, -1, 1
GLVERTEX3F -1, -1, 1
GLVERTEX3F 0, -1, 0
GLVERTEX3F -1, -1, -1
GLVERTEX3F 1, -1, -1
GLMATERIALFV (GL_FRONT,GL_AMBIENT_AND_DIFFUSE,@FACE2(0))
GLVERTEX3F -1,-1,1
GLVERTEX3F -1,-1,-1
GLVERTEX3F 0,-1,0
GLVERTEX3F 1,-1,1
GLVERTEX3F 0,-1,0
GLVERTEX3F 1,-1,-1
'---------------------------------------------------------------------------
' LEFT FACE
'---------------------------------------------------------------------------
GLMATERIALFV (GL_FRONT,GL_AMBIENT_AND_DIFFUSE,@FACE2(0))
GLNORMAL3F -1, 0,0
GLVERTEX3F -1,-1, 1
GLVERTEX3F -1, 1, 1
GLVERTEX3F -1, 0, 0
GLVERTEX3F -1,-1,-1
GLVERTEX3F -1, 0, 0
GLVERTEX3F -1, 1,-1
GLMATERIALFV (GL_FRONT,GL_AMBIENT_AND_DIFFUSE,@FACE3(0))
GLVERTEX3F -1, 0, 0
GLVERTEX3F -1, 1, 1
GLVERTEX3F -1, 1,-1
GLVERTEX3F -1, -1,-1
GLVERTEX3F -1, -1, 1
GLVERTEX3F -1, 0, 0
'---------------------------------------------------------------------------
' RIGHT FACE
'---------------------------------------------------------------------------
GLMATERIALFV (GL_FRONT,GL_AMBIENT_AND_DIFFUSE,@FACE2(0))
GLNORMAL3F 1 ,0,0
GLVERTEX3F 1, 0, 0
GLVERTEX3F 1, 1, 1
GLVERTEX3F 1,-1, 1
GLVERTEX3F 1, 1,-1
GLVERTEX3F 1, 0, 0
GLVERTEX3F 1,-1,-1
GLMATERIALFV (GL_FRONT,GL_AMBIENT_AND_DIFFUSE,@FACE3(0))
GLVERTEX3F 1, 1,-1
GLVERTEX3F 1, 1, 1
GLVERTEX3F 1, 0, 0
GLVERTEX3F 1, 0, 0
GLVERTEX3F 1, -1, 1
GLVERTEX3F 1, -1,-1
'---------------------------------------------------------------------------
' FRONT FACE
'---------------------------------------------------------------------------
GLMATERIALFV (GL_FRONT,GL_AMBIENT_AND_DIFFUSE,@FACE4(0))
GLNORMAL3F 0,0,1
GLVERTEX3F -1,-1, 1
GLVERTEX3F 0, 0, 1
GLVERTEX3F -1, 1, 1
GLVERTEX3F 0, 0, 1
GLVERTEX3F 1,-1, 1
GLVERTEX3F 1, 1, 1
GLMATERIALFV (GL_FRONT,GL_AMBIENT_AND_DIFFUSE,@FACE2(0))
GLVERTEX3F -1,-1, 1
GLVERTEX3F 1,-1, 1
GLVERTEX3F 0, 0, 1
GLVERTEX3F 0, 0, 1
GLVERTEX3F 1, 1, 1
GLVERTEX3F -1, 1, 1
'---------------------------------------------------------------------------
' BACK FACE
'---------------------------------------------------------------------------
GLMATERIALFV (GL_FRONT,GL_AMBIENT_AND_DIFFUSE,@FACE4(0))
GLNORMAL3F 0, 0, -1
GLVERTEX3F 0, 0, -1
GLVERTEX3F -1,-1, -1
GLVERTEX3F -1, 1, -1
GLVERTEX3F 1,-1, -1
GLVERTEX3F 0, 0, -1
GLVERTEX3F 1, 1, -1
GLMATERIALFV (GL_FRONT,GL_AMBIENT_AND_DIFFUSE,@FACE2(0))
GLVERTEX3F 1,-1, -1
GLVERTEX3F -1,-1, -1
GLVERTEX3F 0, 0, -1
GLVERTEX3F 1, 1, -1
GLVERTEX3F 0, 0, -1
GLVERTEX3F -1, 1, -1
GLEND
END SUB
and exe attached.