1.1 --- a/src/pvr2/rendcore.c Thu Jan 25 08:18:03 2007 +0000
1.2 +++ b/src/pvr2/rendcore.c Sat Jan 27 12:03:53 2007 +0000
1.5 - * $Id: rendcore.c,v 1.13 2007-01-25 08:18:03 nkeynes Exp $
1.6 + * $Id: rendcore.c,v 1.14 2007-01-26 01:37:39 nkeynes Exp $
1.8 * PVR2 renderer core.
1.11 (unpacked[3].y - unpacked[1].y) * diff1.x) / detxy;
1.12 float s = ((unpacked[3].y - unpacked[1].y) * diff0.x -
1.13 (unpacked[3].x - unpacked[1].x) * diff0.y) / detxy;
1.14 - diff0.z = unpacked[0].z - unpacked[1].z;
1.15 - diff1.z = unpacked[2].z - unpacked[1].z;
1.16 - unpacked[3].z = unpacked[1].z + (t*diff0.z) + (s*diff1.z);
1.17 + diff0.z = (1/unpacked[0].z) - (1/unpacked[1].z);
1.18 + diff1.z = (1/unpacked[2].z) - (1/unpacked[1].z);
1.19 + unpacked[3].z = 1/((1/unpacked[1].z) + (t*diff0.z) + (s*diff1.z));
1.21 diff0.u = unpacked[0].u - unpacked[1].u;
1.22 diff0.v = unpacked[0].v - unpacked[1].v;
1.24 vertexes[i]->offset_rgba[1],
1.25 vertexes[i]->offset_rgba[2] );
1.27 - glVertex3f( vertexes[i]->x, vertexes[i]->y, vertexes[i]->z );
1.28 + glVertex3f( vertexes[i]->x, vertexes[i]->y, 1/vertexes[i]->z );
1.33 glSecondaryColor3ubEXT( (GLubyte)(spec >> 16), (GLubyte)(spec >> 8),
1.36 - glVertex3f( vertexf[0], vertexf[1], vertexf[2] );
1.37 + glVertex3f( vertexf[0], vertexf[1], 1/vertexf[2] );
1.38 vertexes += vertex_size;
1.43 } while( ((segment++)->control & SEGMENT_END) == 0 );
1.46 + return 1/maximumz;