Для проекта с 3d моделью мне дали файл Autocad.Я импортировал файл в 3ds max и экспортировал его как файл .obj.Все идет нормально.Но когда я загружаю этот файл в свое приложение Jogl, у меня возникает странная проблема с цветным материалом.Точнее, посмотрите на изображения ниже.Первый - это скриншот из моего приложения, а второй - скриншот точно такого же файла, загруженного в программное обеспечение для 3D-манипуляций.
Как это выглядит:
Как это должно выглядеть:
Для простоты, в моем коде я использую треугольники, и для каждого из них у меня есть вершина, нормальная,координата текстуры.Итак, вопрос в том, чего не хватает?
gl.glNewList(1, gl.GL_COMPILE);
for (int i = 0; i < len; i=i+3) {
gl.glBegin(GL.GL_TRIANGLES);
gl.glTexCoord2f(body.body_textCoords[i][0], body.body_textCoords[i][1]);
gl.glNormal3f(body.body_normal[i][0], body.body_normal[i][1], body.body_normal[i][2]);
gl.glVertex3f(body.body_vertex[i][0], body.body_vertex[i][1], body.body_vertex[i][2]);
gl.glTexCoord2f(body.body_textCoords[i+1][0], body.body_textCoords[i+1][1]);
gl.glNormal3f(body.body_normal[i+1][0], body.body_normal[i+1][1], body.body_normal[i+1][2]);
gl.glVertex3f(body.body_vertex[i+1][0], body.body_vertex[i+1][1], body.body_vertex[i+1][2]);
gl.glTexCoord2f(body.body_textCoords[i+2][0], body.body_textCoords[i+2][1]);
gl.glNormal3f(body.body_normal[i+2][0], body.body_normal[i+2][1], body.body_normal[i+2][2]);
gl.glVertex3f(body.body_vertex[i+2][0], body.body_vertex[i+2][1], body.body_vertex[i+2][2]);
gl.glEnd();
}
gl.glEndList();