- glClear(GL_DEPTH_BUFFER_BIT or GL_COLOR_BUFFER_BIT);
- glLoadIdentity;
- glPushMatrix;
- glTranslatef(tileeditor.openglview.x,tileeditor.openglview.y,tileeditor.openglview.z);
- glScalef(tileeditor.openglview.zoom,tileeditor.openglview.zoom,tileeditor.openglview.zoom);
- glRotatef(tileeditor.openglview.ry,0,1,0);
- //...
- glColor3f(1,1,1);
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
- glEnable(GL_TEXTURE_2D);
- //Groups durchlaufen
- for j := 0 to tileeditor.groups.count-1 do
- for i := 0 to length(TGroup(tileeditor.groups.items[j]^).faces)-1 do
- begin
- with TileEditor do
- begin
- if TGroup(tileeditor.groups.items[j]^).material > -1 then
- begin
- glEnable(GL_TEXTURE_2D);
- glBindTexture(GL_TEXTURE_2D,texture); //die zeile hab ich geändert, weil wär sonst zu lang ;)
- end
- else glDisable(GL_TEXTURE_2D);
- glBegin(GL_TRIANGLES);
- tempface := Faces.Items[Face_IdToList(TGroup(tileeditor.groups.items[j]^).faces[i])];
- glTexCoord2f(tempface.t_u[1],tempface.t_v[1]);
- glNormal3f(tempface.normals[1,1],
- tempface.normals[1,2],
- tempface.normals[1,3]);
- glVertex3f(TVertex(Vertices.Items[Vert_IDtoList(tempface.vertices[1])]^).x,
- TVertex(Vertices.Items[Vert_IDtoList(tempface.vertices[1])]^).y,
- TVertex(Vertices.Items[Vert_IDtoList(tempface.vertices[1])]^).z);
- glTexCoord2f(tempface.t_u[2],tempface.t_v[2]);
- glNormal3f(tempface.normals[2,1],
- tempface.normals[2,2],
- tempface.normals[2,3]);
- glVertex3f(TVertex(Vertices.Items[Vert_IDtoList(tempface.vertices[2])]^).x,
- TVertex(Vertices.Items[Vert_IDtoList(tempface.vertices[2])]^).y,
- TVertex(Vertices.Items[Vert_IDtoList(tempface.vertices[2])]^).z);
- glTexCoord2f(tempface.t_u[3],tempface.t_v[3]);
- glNormal3f(tempface.normals[3,1],
- tempface.normals[3,2],
- tempface.normals[3,3]);
- glVertex3f(TVertex(Vertices.Items[Vert_IDtoList(tempface.vertices[3])]^).x,
- TVertex(Vertices.Items[Vert_IDtoList(tempface.vertices[3])]^).y,
- TVertex(Vertices.Items[Vert_IDtoList(tempface.vertices[3])]^).z);
- glEnd;
- end;
- end;
- glPopMatrix;