zacytuję przedpremierowy fragment mojej pracy inżynierskiej:
Przede wszystkim są nam potrzebne dwa pliki glm.h, glm.cpp, które należy dołączyć do naszego
projektu. W plikach tych są zawarte funkcje które przetwarzają informacje zawarte w obiekcie OBJ.
W pliku OpenGla trzeba wkleić następującą funkcję:
void LoadModel (char *objmodel){
glFrontFace(GL_CCW); // sposób wyświetlania ścianek GL_CW lub GL_CCW
if (!objmodel_ptr)
{
objmodel_ptr = glmReadOBJ(objmodel);
if (!objmodel_ptr)
exit(0);
glmUnitize(objmodel_ptr);
glmFacetNormals(objmodel_ptr);
glmVertexNormals(objmodel_ptr, 90.0);
}
glmDraw(objmodel_ptr , GLM_SMOOTH | GLM_MATERIAL | GLM_TEXTURE );
/* w zależności jaki sposób mapowania tekstur wybieramy, komentujemy tę linię
albo następną */
// glmLinearTexture(objmodel_ptr);
glmSpheremapTexture(objmodel_ptr);
}
Poprzez wywołanie funkcji w postaci:
LoadModel("obj/NazwaObiektu.obj");
wyświetlamy model. Funkcja ta nie powinna być wywoływana w funkcji Display w głównym
programie. W zmiennych globalnych trzeba jeszcze dodać: GLMmodel* objmodel_ptr;
Te dwa pliki biblioteczne zawierają również funkcję czytająca i wyświetlająca bitmapę w formacie
PPM. Wywołuje się ja w taki sposob:
Texture = glmReadPPM("tex/NazwaTekstury.ppm", &width, &height);
Więcej można przeczytać na stronie i z tej strony z jakiegoś przykładu scignij sobie glm.h, glm.cpp: http://www.xmission.com/~nate/