void Floor::render() { GLfloat floor_amb[4] = {0.1f, 0.1f, 0.1f, 1.0f}; GLfloat floor_dif[4] = {0.5f, 0.5f, 0.5f, 1.0f}; GLfloat floor_spe[4] = {0.2f, 0.2f, 0.2f, 1.0f}; GLfloat floor_shi = 0.5f; GLfloat floor_emi[4] = {0.0f, 0.0f, 0.0f, 1.0f}; glMaterialfv(GL_FRONT, GL_AMBIENT, floor_amb); glMaterialfv(GL_FRONT, GL_DIFFUSE, floor_dif); glMaterialfv(GL_FRONT, GL_SPECULAR, floor_spe); glMaterialf(GL_FRONT, GL_SHININESS, floor_shi); glMaterialfv(GL_FRONT, GL_EMISSION, floor_emi); glPushMatrix(); glScalef(gfxScaleWidth + cRenderObjs::GFX_FLOOR_QUEUE_SCALE_WIDTH, 0.1f, 2.0f); glCallList(cRenderObjs::OBJ_CUBE); glPopMatrix(); /* Render Arrow */ { glPushMatrix(); glTranslatef(-gfxScaleWidth + 0.8f, 1.1f, 0.2f); glScalef(0.25f, 0.25f, 0.25f); if(signalingUp) { GLfloat arrow_dif[4] = {0.9f, 0.0f, 0.0f, 1.0f}; glMaterialfv(GL_FRONT, GL_DIFFUSE, arrow_dif); } else { GLfloat arrow_dif[4] = {0.1f, 0.1f, 0.1f, 1.0f}; glMaterialfv(GL_FRONT, GL_DIFFUSE, arrow_dif); } glBegin(GL_TRIANGLES); glNormal3f(0.0, 1.0f, 1.0f); glVertex3f(1.0, 0.0, 0.0); glVertex3f( -1.0, 0.0, 0.0); glVertex3f( 0.0, 1.73f, 0.0); glEnd(); glPopMatrix(); glPushMatrix(); glTranslatef(-gfxScaleWidth+0.8, 0.9f, 0.2f); glScalef(0.25f, 0.25f, 0.25f); if(signalingDown) { GLfloat arrow_dif[4] = {0.0f, 0.9f, 0.0f, 1.0f}; glMaterialfv(GL_FRONT, GL_DIFFUSE, arrow_dif); } else { GLfloat arrow_dif[4] = {0.1f, 0.1f, 0.1f, 1.0f}; glMaterialfv(GL_FRONT, GL_DIFFUSE, arrow_dif); } glBegin(GL_TRIANGLES); glNormal3f(0.0, 1.0f, 1.0f); glVertex3f( -1.0, 0.0, 0.0); glVertex3f(1.0, 0.0, 0.0); glVertex3f( 0.0, -1.73f, 0.0); glEnd(); glPopMatrix(); } glPushMatrix(); glTranslatef(-gfxScaleWidth-0.5f, 1.0f, 0.f); cRenderObjs::renderOccupants(numPeopleContained(), 50); glPopMatrix(); }
void Elevator::render() { glCallList(cRenderObjs::OBJ_ELEVATOR); cRenderObjs::renderOccupants(numPeopleContained(), maxOccupants, false); }