Пример #1
0
void SGModels::DrawModel(Id id)
{
    int slices = 100;
    if(id <= Id::ModelsEnd  &&  id >= Id::ModelsStart){
        switch(id){

            case Id::ModelPlane:
                TPlane().Draw(slices);
                break;
            case Id::ModelTorus:
                TTorus().Draw(slices);
                break;

            case Id::ModelSphere:
                TSphere().Draw(slices);
                break;

            case Id::ModelConic:
                TConic().Draw(slices);
                break;

            case Id::ModelTrefoil:
                TTrefoil().Draw(slices);
                break;

            case Id::ModelKlein:
                TKlein().Draw(slices);
                break;

            default:
                break;
        }
    }
}
Пример #2
0
void drawKlein()
{
	static int init = 0;
	static GLuint kleinListID;

	if(!init)
	{
		init = 1;
		kleinListID = glGenLists(1);
		glNewList(kleinListID, GL_COMPILE);
		TKlein().Draw(35);
		glEndList();
	}

	glCallList(kleinListID);
}