deepstone
diff src/scene.c @ 19:c10f62b2bd56
foo
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Wed, 30 Nov 2011 07:17:09 +0200 |
parents | 1e9f0b3616fa |
children |
line diff
1.1 --- a/src/scene.c Wed Nov 30 00:06:28 2011 +0200 1.2 +++ b/src/scene.c Wed Nov 30 07:17:09 2011 +0200 1.3 @@ -3,6 +3,7 @@ 1.4 #include <string.h> 1.5 #include <ctype.h> 1.6 #include <errno.h> 1.7 +#include <assert.h> 1.8 #include "scene.h" 1.9 #include "cvec.h" 1.10 #include "palman.h" 1.11 @@ -159,11 +160,12 @@ 1.12 vnarr = cvec_append(vnarr, &v); 1.13 1.14 } else if(strcmp(tok, "vt") == 0) { 1.15 - vec3_t v; 1.16 + vec2_t v; 1.17 1.18 - if(!rest || sscanf(rest, "%f %f %f\n", &v.x, &v.y, &v.z) != 3) { 1.19 + if(!rest || sscanf(rest, "%f %f\n", &v.x, &v.y) != 2) { 1.20 continue; 1.21 } 1.22 + v.y = 1.0 - v.y; 1.23 vtarr = cvec_append(vtarr, &v); 1.24 1.25 } else if(strcmp(tok, "f") == 0) { 1.26 @@ -338,6 +340,45 @@ 1.27 mesh_draw(m); 1.28 m = m->next; 1.29 } 1.30 + 1.31 +#if 0 1.32 + { 1.33 + int i; 1.34 + struct palm_color *pal = palm_palette(); 1.35 + float dx = 1.8 / 256; 1.36 + struct material *mtl = scn->matlist; 1.37 + 1.38 + glMatrixMode(GL_MODELVIEW); 1.39 + glPushMatrix(); 1.40 + glLoadIdentity(); 1.41 + glMatrixMode(GL_PROJECTION); 1.42 + glPushMatrix(); 1.43 + glLoadIdentity(); 1.44 + 1.45 + glPushAttrib(GL_ENABLE_BIT); 1.46 + glDisable(GL_LIGHTING); 1.47 + glDisable(GL_DEPTH_TEST); 1.48 + 1.49 + glBegin(GL_QUADS); 1.50 + for(i=0; i<255; i++) { 1.51 + float x = i * dx - 0.9; 1.52 + glColor3ub(pal[i].r, pal[i].g, pal[i].b); 1.53 + glVertex2f(x, 0.98); 1.54 + glVertex2f(x, 0.9); 1.55 + glColor3ub(pal[i + 1].r, pal[i + 1].g, pal[i + 1].b); 1.56 + glVertex2f(x + dx, 0.9); 1.57 + glVertex2f(x + dx, 0.98); 1.58 + } 1.59 + glEnd(); 1.60 + 1.61 + glPopAttrib(); 1.62 + 1.63 + glMatrixMode(GL_PROJECTION); 1.64 + glPopMatrix(); 1.65 + glMatrixMode(GL_MODELVIEW); 1.66 + glPopMatrix(); 1.67 + } 1.68 +#endif 1.69 } 1.70 1.71 /* --- material --- */ 1.72 @@ -421,6 +462,7 @@ 1.73 1.74 #ifdef USE_GL 1.75 if(mtl->tex) { 1.76 + assert(mtl->tex->pixels); 1.77 glEnable(GL_TEXTURE_2D); 1.78 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); 1.79 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); 1.80 @@ -443,7 +485,7 @@ 1.81 } 1.82 #else 1.83 if(mtl->tex) { 1.84 - /*mgl_enable(MGL_TEXTURE_2D);*/ 1.85 + mgl_enable(MGL_TEXTURE_2D); 1.86 mgl_teximage(mtl->tex->width, mtl->tex->height, mtl->tex->pixels); 1.87 } else { 1.88 mgl_index(mtl->kd_base);