// рисуем одну ось единичного переключателя - вытянутую сферу

glPushMatrixO:

glScaled(0.2.0.2.1.0):

g 1 utSol1dSphereC1.15.15):

glPopMatrixO:

glPushMatrixO:

glTranslated(0.0.1.2): // ball on one end // шарик на одном конце

g!utSolidSphere(0.2.15.15):

glTranslated(0.0. -2.4):

glutSolidSphere(Q.2.15.15)://ball on the other end gl PopMatrixO:

}

5.6. Рисование трехмерных сцен с применением OpenGL

//«««««<«««« jack »»»»»»»»»»

void jackO

{

// draw a unit jack out of spheroids // рисуем единичный переключатель из сфероидов • glPushMatrixC):

jackPartO:

glRotated(90.0. 0. 1. 0): jackPartO:

glRotatedOO.O, 1.0.0); jackPartO: glPopMatrixO;

}

//«««<«««««««« table »»»»»»»»»»

void table(double topWid. double topThick. double legThick. double legLen)

{

// draw the table - a top and four legs // рисуем стол - столешницу и четыре ножки glPushMatrixC);

// draw the table top // рисуем столешницу

glTranslatedCO. legLen. 0):

glScaledCtopwid. topThick. topWid):

glutSolidCube(l.O):

glPopMatrixO:

double dist = 0.95 * topWid/2.0 - legThick / 2.0:

glPushMatrixC):

glTranslatedCdist. 0. dist):

tableLegdegThick. legLen);

glTranslatedCO. 0. -2 * dist);

tableLegdegThick, legLen);

glTranslated(-2 * dist. 0. 2*dist):

tableLegdegThick. legLen):

glTranslatedCO. 0. -2*dist):

tableLegdegThick. legLen);

glPopMatrixO;

}

//«««««««««<« displaySolid »»»»»»»»»»»

void displaySolid(void)

{

// set properties of the surface material // задаем свойства материала поверхности

GLfloat mat_ambient[] = {0.7f,0.7f,0.7f,1.0f}:

// gray // серый

GLfloat mat_diffuse[] = {0.6f.0.6f,0.6f.l.0f}:

GLfloat mat_specular[] = {1.Of.1.Of.1.Of.1.Of}:

GLfloat mat_shininess[] = {50.Of};

glMateri alfv(GLJRONT.GL_AMBIENT.mat_ambi ent):


⇐ Предыдущая| |Следующая ⇒