
I don't know what's wrong. Can be some mistake in the code ? Please help, thanks
[source lang="cpp"]// MAIN.cpp - MAIN PROGRAM#include <math.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sstream>#include <iostream>#include "Lib\GL\headers\glut.h"#include "Lib\GL\glm\glm.h"using namespace std;// Variablesfloat x=-26, y=-26, z=-500, deg_z=0, deg_y=0;int displayList=0;static int w=800,h=600;GLfloat lightPos[4] = {50.0, 30.0 ,0.0, 0.0};GLfloat lightAmb[3] = {0.1, 0.1, 0.1};GLfloat lightDiff[3] = {1.0, 1.0, 1.0};GLMmodel* car = NULL;GLMmodel* car2 = NULL;void initmodel(void) { car = glmReadOBJ("Models/audi-tt.obj"); if (!car) exit(0); glmFacetNormals(car); glmVertexNormals(car, 90.0); car2 = glmReadOBJ("Models/audi-tt.obj"); if (!car2) exit(0); glmFacetNormals(car2); glmVertexNormals(car2, 90.0);}void setCamera() { if(h == 0) h = 1; float ratio = 1.0 * w / h; glMatrixMode(GL_PROJECTION); glLoadIdentity(); glViewport(0, 0, w, h); gluPerspective(30, ratio, 0.1, 10000); glMatrixMode(GL_MODELVIEW); glLoadIdentity();}void display(void) { setCamera(); glClearColor(0.3f, 0.5f, 0.9f, 0.0f); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glPushAttrib(GL_ALL_ATTRIB_BITS); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glLightfv(GL_LIGHT0, GL_AMBIENT, lightPos); glLightfv(GL_LIGHT0, GL_AMBIENT, lightAmb); glLightfv(GL_LIGHT0, GL_DIFFUSE, lightDiff); //glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); glPushMatrix(); // load first obj glPushMatrix(); glTranslatef(x,y,z); glRotatef(deg_z, 1.0, 0.0, 0.0); glRotatef(deg_y, 0.0, 1.0, 0.0); glmDraw(car, GLM_SMOOTH | GLM_MATERIAL); glPopMatrix(); // load second obj glPushMatrix(); glTranslatef(x+200,y,z); glRotatef(deg_z, 1.0, 0.0, 0.0); glRotatef(deg_y, 0.0, 1.0, 0.0); glmDraw(car2, GLM_SMOOTH | GLM_MATERIAL); glPopMatrix(); glPopMatrix(); glPopAttrib(); glFlush(); glutSwapBuffers();}void Keyboard(unsigned char key, int xx, int yy) { glutPostRedisplay(); switch(key) { case 'a' : x-=2; break; // Move left for X pos case 'd' : x+=2; break; // Move right for X pos case 's' : z+=2; break; // Move down for Z pos case 'w' : z-=2; break; // Move up for Z pos case '.' : y-=2; break; // Move up for Y pos case ',' : y+=2; break; // Move down for Y pos case 'k' : deg_z-=2.0; break; // Rotate up case 'i' : deg_z+=2.0; break; // Rotate down case 'j' : deg_y+=2.0; break; // Rotate left case 'l' : deg_y-=2.0; break; // Rotate right case 27 : exit(0); // Stop program }}void Resize(int w, int h) { if(h == 0) h = 1; float ratio = 1.0 * w / h; glMatrixMode(GL_PROJECTION); glLoadIdentity(); glViewport(0, 0, w, h); gluPerspective(30, ratio, 0.1, 1000); glMatrixMode(GL_MODELVIEW);}int main(int argc, char **argv) { initmodel(); glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH); glutInitWindowSize(800,600); glutCreateWindow(argv[0]); glutKeyboardFunc(Keyboard); glutDisplayFunc(display); glutMainLoop(); return 0;}[/source]






