OpenGL doesn't have tables of stored definitions; you can't define lighting models, material, textures, line styles, or patterns as separate objects as you can in IRIS GL. Thus OpenGL has no direct equivalents to the following IRIS GL functions:
You can use OpenGL display lists to mimic the IRIS GL def/bind mechanism. For example, here is a material definition in IRIS GL:
float mat() = {
AMBIENT, .1, .1, .1,
DIFFUSE, 0, .369, .165,
SPECULAR, .5, .5, .5,
SHININESS, 10,
LMNULL
};
lmdef(DEFMATERIAL, 1, 0, mat);
lmbind(MATERIAL, 1);
The following OpenGL code sample defines the same material in a display list that is referred to by the list number defined by MYMATERIAL.
#define MYMATERIAL 10
GLfloat mat_amb[] = {.1, .1, .1, 1.0};
GLfloat mat_dif[] = {0, .369, .165, 1.0};
GLfloat mat_spec[] = {.5, .5, .5, 1.0};
glNewList(MYMATERIAL, GL_COMPILE);
glMaterialfv(GL_FRONT, GL_AMBIENT, mat_amb);
glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_dif);
glMaterialfv(GL_FRONT, GL_SHININESS, 10);
glEndList();
glCallList( MYMATERIAL );