Låter som ett typiskt "normalproblem". Dvs. att golvet och takets normal pekar "utåt".
Jag precis börjat leka lite med OpenGL och använder mig av NeHe's tutorials. Nu har jag kommit till lektion 10 där man ska göra ett rum med tak, golv och väggar. När jag gör detta i Windows så fungerar det perfekt men när jag gör det för min Dreamcast med gcc och KOS (KGL) så försvinner taket och golvet när jag är inne i rummet, men om jag går ut och tittar på rummet utifrån så ser jag taket och golvet
Såhär ser rit koden ut.
int DrawGLScene(GLvoid)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
GLfloat x_m, y_m, z_m, u_m, v_m;
GLfloat xtrans = -xpos;
GLfloat ztrans = -zpos;
GLfloat ytrans = -walkbias-0.25f;
GLfloat sceneroty = 360.0f - yrot;
int numtriangles;
glRotatef(lookupdown,1.0f,0,0);
glRotatef(sceneroty,0,1.0f,0);
glTranslatef(xtrans, ytrans, ztrans);
numtriangles = sector1.numtriangles;
glBindTexture(GL_TEXTURE_2D, texture[0]);
for (int loop_m = 0; loop_m < numtriangles; loop_m++)
{
glBegin(GL_TRIANGLES);
glNormal3f( 0.0f, 0.0f, 1.0f);
x_m = sector1.triangle[loop_m].vertex[0].x;
y_m = sector1.triangle[loop_m].vertex[0].y;
z_m = sector1.triangle[loop_m].vertex[0].z;
u_m = sector1.triangle[loop_m].vertex[0].u;
v_m = sector1.triangle[loop_m].vertex[0].v;
glTexCoord2f(u_m,v_m);
glVertex3f(x_m,y_m,z_m);
x_m = sector1.triangle[loop_m].vertex[1].x;
y_m = sector1.triangle[loop_m].vertex[1].y;
z_m = sector1.triangle[loop_m].vertex[1].z;
u_m = sector1.triangle[loop_m].vertex[1].u;
v_m = sector1.triangle[loop_m].vertex[1].v;
glTexCoord2f(u_m,v_m);
glVertex3f(x_m,y_m,z_m);
x_m = sector1.triangle[loop_m].vertex[2].x;
y_m = sector1.triangle[loop_m].vertex[2].y;
z_m = sector1.triangle[loop_m].vertex[2].z;
u_m = sector1.triangle[loop_m].vertex[2].u;
v_m = sector1.triangle[loop_m].vertex[2].v;
glTexCoord2f(u_m,v_m);
glVertex3f(x_m,y_m,z_m);
glEnd();
}
return(0);
}
och init kod
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0f,640.0f/480.0f,0.1f,100.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glEnable(GL_TEXTURE_2D);
glShadeModel(GL_SMOOTH);
glClearColor(0.0f, 0.0f, 0.0f, 0.5f);
glClearDepth(1.0f);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LEQUAL);
glColor4f(1.0f, 1.0f, 1.0f, 0.5);
glBlendFunc(GL_SRC_ALPHA,GL_ONE);
(hela koden finns: http://w1.877.telia.com/~u87727362/dc_lesson10.zip)
Någon som har någon ide om varför tak och golv försvinner så fort jag går in i rummer??
/Viktor
