From a5aa4b54e23d0793793384a6794cc543ea48ad34 Mon Sep 17 00:00:00 2001 From: neoraider Date: Mon, 14 May 2007 17:38:01 +0000 Subject: libzoom: XML level loader implemented. zoom: Converted old test level to XML. --- render.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'render.c') diff --git a/render.c b/render.c index 7500281..ba57e2a 100644 --- a/render.c +++ b/render.c @@ -10,7 +10,7 @@ extern PLAYER player; -extern LEVEL level; +extern LEVEL *level; extern GLuint sphere; extern int nLights; extern LIGHT *lights; @@ -47,7 +47,7 @@ void Render() { glTranslatef(-player.pos.x, -player.pos.y, -player.pos.z); - room = DrawRoom(&level, player.room); + room = DrawRoom(level, player.room); qsort(room->polygons, room->nPolygons, sizeof(POLYGON), SortByTex); glDepthMask(GL_TRUE); @@ -118,14 +118,14 @@ void Render() { c = VectorMul(lights[i].diffuse, 1.0/(d*d)); glColor3fv((GLfloat*)&c); - p = VectorAdd(lights[i].pos, VectorMul(room->polygons[j].normal, d)); - v1 = VectorNormalize(VectorSub(room->polygons[j].vertices[0], room->polygons[j].vertices[1])); - v2 = VectorCross(v1, room->polygons[j].normal); for(k = 0; k < 3; k++) { + p = VectorAdd(lights[i].pos, VectorMul(room->polygons[j].normals[k], d)); v = VectorSub(room->polygons[j].vertices[k], p); + v2 = VectorCross(v1, room->polygons[j].normals[k]); + glMultiTexCoord2f(0, VectorDot(v, v1)*0.04 / d + 0.5, VectorDot(v, v2)*0.04 / d + 0.5); glMultiTexCoord2fv(1, (GLfloat*)&room->polygons[j].texcoords[k]); glVertex3fv((GLfloat*)&room->polygons[j].vertices[k]); -- cgit v1.2.3