// класс Shapes и сопутствующие классы

//тототтш Material class №№QQmm

class Material{
public:
Color3 ambient, diffuse, specular, emissive:

int numParams: // for textures // для текстур

float params[10]: // for textures 11 для текстур

int textureType: // 0 for none, neg for solids, pos for images // 0. если нет. отрицательное для объемных. // положительное для изображений

float specularExponent. reflectivity, transparency. speedOfLight:
float specularFraction. surfaceRoughness:
void setDefaultO;
void set(Material& m):
}:
// end of Material

// конец класса Material

ИШШтштШШ GeomObj class тШФШШШ

class GeomObj{ public:

//IntRect scrnExtnt: GeomObj * next: GeomObjО: next(NULL){} virtual void loadStuff(){} virtual void drawOpenGL(){} virtual void tellMaterlalsGLO{}

//emmmmmm Boolean mmmmtmm
class Boolean: public GeomObj{ public:
GeomObj *left. *right:
Boolean():left(NULL),right(NULL){}
virtual void drawOpenGLO
{

// just draw its children // теперь рисуем его потомков

i f(1eft)1eft-[greaterIdrawOpenGL():
if(right)right-[greater]drawOpenGL():
}

ВЗ. Класс SCENE и сопутствующие классы

//те&тттшт итопвооі тттетш

class UnlonBool : public Boolean{ public:

UnionBool(){Boolean();} // constructor // конструктор }:

//mmomtmomm IntersectionBool mQ№№№№
class IntersectionBool : public Boolean{
public:
Intersecti onBool(){Boolean():}
}:
//ommmmm&m DifferenceBooi emmmmm
class DifferenceBooi : public Boolean{ public:
Di fferenceBool(){Boolean():}
}:
//om&mmmm shape mmmmmmm
class Shape: public GeomObj{ public:
Material mtrl:

Affine4 transf.invTransf: // virtual СоїогЗ texture(HitInfo& h. int whichTexture):

Shape(){mtrl.textureType - 0: mtrl.numParams - 0:}
void setMaterial(Materials mt){mtrl.set(mt):}
void tellMaterialsGLO:
virtual void drawOpenGLOO
}:

// end: Shape class // конец класса Shape

//@$@$@$@$@$@$@$@$@ Cube class $@$@$&@$@$@$@$@$@$@ class Cube: public Shape{ public: Cube(){}
void drawOpenGLO {
tel 1 Materi alsGLO: gl PushMatri x():

glMultMatrixf(transf.m): // load affine // загружаем аффинное

glEnable(GL_NORMALIZE):

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