}

// Shape methods // методы Shape

void Shape :: tellMaterialsGLO {
float amb[4].diff[4].spec[4]. emiss[4]: float zero[] - {0.0.0.1}:

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

mtrl.ambient.build4tuple(amb): // fill the array // заполняем массив

mtrl.diffuse.build4tuple(diff):
mtrl.specular.build4tuple(spec):
mtrl.emissive.build4tuple(emiss):
glMateri alfv(GL_FRONT/*_AND_BACK*/.GL_AMBIENT.amb):
glMaterialfv(GL_FRONT/*_AND_BACK*/.GL_DIFFUSE.diff):
glMaterial fv(GL_FRONT/*_AND_BACK*/ .GLJPECULAR.spec);
gl Materi a 1 f v (GL_FRONT/*_AND_BACK*/. GLJMISS ION. emi ss); glMaterialf(GL_FRONT/*_AND BACK*/.GL SHININESS.mtrl.specularExponent): }

// Mesh methods // методы Mesh Mesh :: Mesh(){

numVerts - numFaces » numNorms - 0: pt - NULL: norm - NULL: face - NULL: lastVertUsed - lastNormUsed - lastFaceUsed - -1;
}
void Mesh :: freeMeshO {
// free up memory used by this mesh.

// освобождаем память, используемую этой сеткой

delete [] pt; // release whole vertex list // освобождаем весь список вершин

delete [] norm:

for(int f - 0: f < numFaces: f++) delete[] face[f].vert: // delete the vert[] array of this face // удаляем массив vert[] этой грани

delete [] face:
}
int Mesh :: isEmptyO {
return (numVerts ==0) || (numFaces - 0) || (numNorms - 0):
}
void Mesh :: makeEmptyO {
numVerts - numFaces - numNorms - 0:
}
void Mesh :: drawOpenGLO {
tel 1 Materi alsGL(): glPushMatrix(): glMultMatrixf(transf.m): drawMesh():
// if(doEdges) drawEdgesO: glPopMatrixO:
}
Mesh :: Mesh(string fname){
// read this file to build mesh

// читаем этот файл для построения сетки

numVerts - numFaces - numNorms - 0;

Приложение В. Некоторые полезные классы и служебные подпрограммы

pt - NULL; norm - NULL: face - NULL:
1astVertUsed - lastNormUsed - lastFaceUsed - -1:
readMesh(fname):
}
Vector3 Mesh :: newel!4(int indx[]) {
/* return the normalized normal to face with vertices
pt[indx[0]].....pt[indx[3]]. i.e. indx[] contains the four indices

into the vertex list to be used in the Newell calculation */ /* возвращаем нормированную нормаль на грань с вершинами


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