programme pour le récupérer :
- include < stdio.h>
- include < stdlib.h>
- include < math.h>
- include < gl\glut.h>
- include < string.h>
struct face {
float pointx1;
float pointy1;
float pointz1;
float pointx2;
float pointy2;
float pointz2;
float pointx3;
float pointy3;
float pointz3;
}faces[1000000];
int index = 0;
int nombrepoint;
float pointx[1000000];
float pointy[1000000];
float pointz[1000000];
float coordtexx[1000000];
float coordtexy[1000000];
float pointxtex[1000000];
float pointytex[1000000];
float pointztex[1000000];
int main(){
char NomDuFichier [255];
printf("nom du fichier a convertir : " );
scanf("%s",NomDuFichier);
printf("\n enregistrer sous : " );
FILE *fichierTXT = fopen(NomDuFichier, " r");
char nomfichier [255];
scanf("%s",nomfichier);
FILE *nouveaufichier = fopen(nomfichier,"w");
fprintf(nouveaufichier,"glBegin(GL_TRIANGLES);\n")
;
if(!fichierTXT)
{
printf("erreur");
return false;
}
char Mot[255];
while(!feof(fichierTXT))
{
fscanf(fichierTXT, " %s", &);
if(!strcmp(Mot, " Nombre_de_points:"))
{
fscanf(fichierTXT, " %i",&);
}
else if(!strcmp(Mot, " Points:")){
fscanf(fichierTXT, " %i", &);
fscanf(fichierTXT, " %f %f %f", &[index],
&[index],
&[index]);
}
else if(!strcmp(Mot, " Faces:")){
index = 0;
int face[2];
fscanf(fichierTXT, " %i", &);
fscanf(fichierTXT, " %i %i %i", &[0],&[1],&[2]);
faces[index].pointx1 = pointx[face[0]]/1000;
faces[index].pointy1 = pointz[face[0]]/1000;
faces[index].pointz1 = pointy[face[0]]/1000;
faces[index].pointx2 = pointx[face[1]]/1000;
faces[index].pointy2 = pointz[face[1]]/1000;
faces[index].pointz2 = pointy[face[1]]/1000;
faces[index].pointx3 = pointx[face[2]]/1000;
faces[index].pointy3 = pointz[face[2]]/1000;
faces[index].pointz3 = pointy[face[2]]/1000;
}
else if(!strcmp(Mot, " Textures:")){
int index = 0;
float coordtexz;
fscanf(fichierTXT, " %i", &);
fscanf(fichierTXT, " %f %f %f", &[index],
&[index],
&);
}
else if(!strcmp(Mot, " FaceTextures:")){
index = 0;
int tex[2];
fscanf(fichierTXT, " %i", &);
fscanf(fichierTXT, " %i %i %i", &[0],&[1],&[2]);
fprintf(nouveaufichier, " glTexCoord2f(%f,%f);
glVertex3f(%f,%f,%f);\n",coordtexx[tex[0]],coordte
xy[tex[0]],faces[index].pointx1,faces[index].point
y1,faces[index].pointz1);
fprintf(nouveaufichier, " glTexCoord2f(%f,%f);
glVertex3f(%f,%f,%f);\n",coordtexx[tex[1]],coordte
xy[tex[1]],faces[index].pointx2,faces[index].point
y2,faces[index].pointz2);
fprintf(nouveaufichier, " glTexCoord2f(%f,%f);
glVertex3f(%f,%f,%f);\n",coordtexx[tex[2]],coordte
xy[tex[2]],faces[index].pointx3,faces[index].point
y3,faces[index].pointz3);
}
else if(!strcmp(Mot, " Normal:")){
}
else {
fprintf(nouveaufichier, " //%s\n", Mot);
}
}
fclose(fichierTXT);
fprintf(nouveaufichier,"glEnd();");
fclose(nouveaufichier);
system("PAUSE");
return 0;
}