void drawOpenGLO{
telIMaterialsGLO: glPushMatrix(): glMultMatrixf(transf.m): glutSolidTorus(0.2.1.0.10.12): //if(doEdges) glutwireTorus(0.2.1.0.10.12): glPopMatrixO:}
}:
//@$@$@$@$@$@$@$@$@$@ Teapot class @$@$@$@$@$@$@$@$@$
class Teapot: public Shape{
public-void draw0penGLO{ tellMaterialsaO: glPushMatrixO: glMultMatrixf(transf.m): glutSolidTeapot(1.0): glPopMatrixC):}
}:
//@QQQ№№№<m DefUnit & DefUnitStack classes №№№№№
II used in Scene to read SDL files
// используется классом Scene для чтения SDL-файлов
class DefUm't{
// developed by Steve Morin
// разработан Стивом Морином
public:
string name, stuff:
Defl)nit(string n, string s) {stuff - s;name - n:}
ШиД9Уение В. Некоторые^ полезные классы и служебные подпрограммы
}:
class DefUnltStack { public:
DefUnltStackO {stack - NULL:}
void push(str1ng n. string s);
void printO;
int search(string s):
string contents(string s):
void releaseO: private:
struct D4S {
DefUnit *current:
struct IMS *next: } d4s: D4S *stack: }:
// end of DefUnltStack class // конец класса DefUnitStack
enura mTokenType {IDENT. LIGHT. ROTATE. TRANSLATE.
SCALE. PUSH. POP. IDENTITYAFFINE.
GLOBALAMBIENT. BACKGROUND. MINREFLECTIVITY.
MINTRANSPARENCY. MAXRECURSIONDEPTH. CUBE. SPHERE. TORUS. PLANE.
SQUARE. CYLINDER. CONE. TAPEREDCYLINDER,TETRAHEORON. OCTAHEDRON.
DODECAHEDRON. ICOSAHEDRON.BUCKYBALL. TEAPOT.
DIAMOND.UNION.INTERSECTION. DIFFERENCEa. MAKEPIXMAP.
MESH. DEFAULTMATERIALS, AMBIENT. DIFFUSE.SPECULAR.
SPECULARFRACTION. SURFACEROUGHNESS.EMISSIVE. SPECULAREXPONENT.
SPEEDOFLIGHT. TRANSPARENCY.REFLECTIVITY. PARAMETERS. TEXTURE.
FTCURLY. RGHTCURLY. DEF. USE. T_NULL. F_EOF. UNKNOWN }:
//mmemm scene class mmmmm&m
class Scene{ public:
Light *Hght: // attach linked 11st of lights here // здесь прикрепляем связанный список источников света
GeomObj * obj: // attach the object list here // здесь прикрепляем список объектов
Color3 background, ambient;
1nt maxRecurslonDepth; // must linclude RGBpixmap.h to have following texture fields // должна быть команда linclude RGBpixmap.h для // следующих полей текстуры //RGBpixmap pixmap[8]; // list of attached plxmaps // список прикрепленных пиксельных карт