From: Carsten W. <ca...@us...> - 2005-07-16 18:22:46
|
Update of /cvsroot/jake2/jake2/src/jake2/render/lwjgl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10102/src/jake2/render/lwjgl Modified Files: Tag: render-refactoring Main.java Draw.java Warp.java Light.java Misc.java Surf.java LWJGLBase.java Mesh.java Image.java Base.java Log Message: gl call delegation Index: Base.java =================================================================== RCS file: /cvsroot/jake2/jake2/src/jake2/render/lwjgl/Base.java,v retrieving revision 1.4.4.1 retrieving revision 1.4.4.2 diff -C2 -d -r1.4.4.1 -r1.4.4.2 *** Base.java 10 Jul 2005 17:55:51 -0000 1.4.4.1 --- Base.java 16 Jul 2005 18:22:37 -0000 1.4.4.2 *************** *** 28,32 **** import jake2.client.viddef_t; import jake2.game.cvar_t; ! import jake2.render.QGL; import java.awt.Dimension; --- 28,32 ---- import jake2.client.viddef_t; import jake2.game.cvar_t; ! import jake2.render.*; import java.awt.Dimension; *************** *** 37,41 **** * @author dsanders/cwei */ ! public abstract class Base extends QGL { static final int GL_COLOR_INDEX8_EXT = GL_COLOR_INDEX; --- 37,41 ---- * @author dsanders/cwei */ ! public abstract class Base implements QGLConst { static final int GL_COLOR_INDEX8_EXT = GL_COLOR_INDEX; *************** *** 164,167 **** --- 164,169 ---- protected cvar_t vid_fullscreen; + + protected QGL gl = LwjglGL.getInstance(); //DummyGL.getInstance(); // enum rserr_t Index: Image.java =================================================================== RCS file: /cvsroot/jake2/jake2/src/jake2/render/lwjgl/Image.java,v retrieving revision 1.3.6.1 retrieving revision 1.3.6.2 diff -C2 -d -r1.3.6.1 -r1.3.6.2 *** Image.java 10 Jul 2005 17:55:51 -0000 1.3.6.1 --- Image.java 16 Jul 2005 18:22:37 -0000 1.3.6.2 *************** *** 100,104 **** } ! glColorTable(GL_SHARED_TEXTURE_PALETTE_EXT, GL_RGB, 256, GL_RGB, GL_UNSIGNED_BYTE, temptable); } } --- 100,104 ---- } ! gl.glColorTable(GL_SHARED_TEXTURE_PALETTE_EXT, GL_RGB, 256, GL_RGB, GL_UNSIGNED_BYTE, temptable); } } *************** *** 107,116 **** if (enable) { GL_SelectTexture(TEXTURE1); ! glEnable(GL_TEXTURE_2D); GL_TexEnv(GL_REPLACE); } else { GL_SelectTexture(TEXTURE1); ! glDisable(GL_TEXTURE_2D); GL_TexEnv(GL_REPLACE); } --- 107,116 ---- if (enable) { GL_SelectTexture(TEXTURE1); ! gl.glEnable(GL_TEXTURE_2D); GL_TexEnv(GL_REPLACE); } else { GL_SelectTexture(TEXTURE1); ! gl.glDisable(GL_TEXTURE_2D); GL_TexEnv(GL_REPLACE); } *************** *** 130,135 **** gl_state.currenttmu = tmu; ! glActiveTextureARB(texture); ! glClientActiveTextureARB(texture); } --- 130,135 ---- gl_state.currenttmu = tmu; ! gl.glActiveTextureARB(texture); ! gl.glClientActiveTextureARB(texture); } *************** *** 140,144 **** if (mode != lastmodes[gl_state.currenttmu]) { ! glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, mode); lastmodes[gl_state.currenttmu] = mode; } --- 140,144 ---- if (mode != lastmodes[gl_state.currenttmu]) { ! gl.glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, mode); lastmodes[gl_state.currenttmu] = mode; } *************** *** 155,159 **** gl_state.currenttextures[gl_state.currenttmu] = texnum; ! glBindTexture(GL_TEXTURE_2D, texnum); } --- 155,159 ---- gl_state.currenttextures[gl_state.currenttmu] = texnum; ! gl.glBindTexture(GL_TEXTURE_2D, texnum); } *************** *** 225,231 **** new gltmode_t("GL_RGB4", GL_RGB4), new gltmode_t("GL_R3_G3_B2", GL_R3_G3_B2), - // #ifdef GL_RGB2_EXT - //new gltmode_t("GL_RGB2", GL.GL_RGB2_EXT) - // #endif }; --- 225,228 ---- *************** *** 260,265 **** if (glt.type != it_pic && glt.type != it_sky) { GL_Bind(glt.texnum); ! glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, gl_filter_min); ! glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, gl_filter_max); } } --- 257,262 ---- if (glt.type != it_pic && glt.type != it_sky) { GL_Bind(glt.texnum); ! gl.glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, gl_filter_min); ! gl.glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, gl_filter_max); } } *************** *** 1124,1128 **** uploaded_paletted = true; GL_BuildPalettedTexture(paletted_texture, data, scaled_width, scaled_height); ! glTexImage2D( GL_TEXTURE_2D, 0, --- 1121,1125 ---- uploaded_paletted = true; GL_BuildPalettedTexture(paletted_texture, data, scaled_width, scaled_height); ! gl.glTexImage2D( GL_TEXTURE_2D, 0, *************** *** 1137,1141 **** else { tex.rewind(); tex.put(data); tex.rewind(); ! glTexImage2D( GL_TEXTURE_2D, 0, --- 1134,1138 ---- else { tex.rewind(); tex.put(data); tex.rewind(); ! gl.glTexImage2D( GL_TEXTURE_2D, 0, *************** *** 1162,1166 **** uploaded_paletted = true; GL_BuildPalettedTexture(paletted_texture, scaled, scaled_width, scaled_height); ! glTexImage2D( GL_TEXTURE_2D, 0, --- 1159,1163 ---- uploaded_paletted = true; GL_BuildPalettedTexture(paletted_texture, scaled, scaled_width, scaled_height); ! gl.glTexImage2D( GL_TEXTURE_2D, 0, *************** *** 1175,1179 **** else { tex.rewind(); tex.put(scaled); tex.rewind(); ! glTexImage2D(GL_TEXTURE_2D, 0, comp, scaled_width, scaled_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, tex); } --- 1172,1176 ---- else { tex.rewind(); tex.put(scaled); tex.rewind(); ! gl.glTexImage2D(GL_TEXTURE_2D, 0, comp, scaled_width, scaled_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, tex); } *************** *** 1194,1198 **** uploaded_paletted = true; GL_BuildPalettedTexture(paletted_texture, scaled, scaled_width, scaled_height); ! glTexImage2D( GL_TEXTURE_2D, miplevel, --- 1191,1195 ---- uploaded_paletted = true; GL_BuildPalettedTexture(paletted_texture, scaled, scaled_width, scaled_height); ! gl.glTexImage2D( GL_TEXTURE_2D, miplevel, *************** *** 1207,1211 **** else { tex.rewind(); tex.put(scaled); tex.rewind(); ! glTexImage2D( GL_TEXTURE_2D, miplevel, --- 1204,1208 ---- else { tex.rewind(); tex.put(scaled); tex.rewind(); ! gl.glTexImage2D( GL_TEXTURE_2D, miplevel, *************** *** 1227,1236 **** if (mipmap) { ! glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, gl_filter_min); ! glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, gl_filter_max); } else { ! glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, gl_filter_max); ! glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, gl_filter_max); } --- 1224,1233 ---- if (mipmap) { ! gl.glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, gl_filter_min); ! gl.glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, gl_filter_max); } else { ! gl.glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, gl_filter_max); ! gl.glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, gl_filter_max); } *************** *** 1258,1265 **** if (qglColorTableEXT && gl_ext_palettedtexture.value != 0.0f && is_sky) { ! glTexImage2D(GL_TEXTURE_2D, 0, GL_COLOR_INDEX8_EXT, width, height, 0, GL_COLOR_INDEX, GL_UNSIGNED_BYTE, ByteBuffer.wrap(data)); ! glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, gl_filter_max); ! glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, gl_filter_max); // TODO check this --- 1255,1262 ---- if (qglColorTableEXT && gl_ext_palettedtexture.value != 0.0f && is_sky) { ! gl.glTexImage2D(GL_TEXTURE_2D, 0, GL_COLOR_INDEX8_EXT, width, height, 0, GL_COLOR_INDEX, GL_UNSIGNED_BYTE, ByteBuffer.wrap(data)); ! gl.glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, gl_filter_max); ! gl.glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, gl_filter_max); // TODO check this *************** *** 1570,1574 **** texnumBuffer.clear(); texnumBuffer.put(0,image.texnum); ! glDeleteTextures(texnumBuffer); image.clear(); } --- 1567,1571 ---- texnumBuffer.clear(); texnumBuffer.put(0,image.texnum); ! gl.glDeleteTextures(texnumBuffer); image.clear(); } *************** *** 1680,1684 **** texnumBuffer.clear(); texnumBuffer.put(0,image.texnum); ! glDeleteTextures(texnumBuffer); image.clear(); } --- 1677,1681 ---- texnumBuffer.clear(); texnumBuffer.put(0,image.texnum); ! gl.glDeleteTextures(texnumBuffer); image.clear(); } Index: Main.java =================================================================== RCS file: /cvsroot/jake2/jake2/src/jake2/render/lwjgl/Main.java,v retrieving revision 1.7.6.1 retrieving revision 1.7.6.2 diff -C2 -d -r1.7.6.1 -r1.7.6.2 *** Main.java 10 Jul 2005 17:55:50 -0000 1.7.6.1 --- Main.java 16 Jul 2005 18:22:36 -0000 1.7.6.2 *************** *** 241,249 **** */ final void R_RotateForEntity(entity_t e) { ! glTranslatef(e.origin[0], e.origin[1], e.origin[2]); ! glRotatef(e.angles[1], 0, 0, 1); ! glRotatef(-e.angles[0], 0, 1, 0); ! glRotatef(-e.angles[2], 1, 0, 0); } --- 241,249 ---- */ final void R_RotateForEntity(entity_t e) { ! gl.glTranslatef(e.origin[0], e.origin[1], e.origin[2]); ! gl.glRotatef(e.angles[1], 0, 0, 1); ! gl.glRotatef(-e.angles[0], 0, 1, 0); ! gl.glRotatef(-e.angles[2], 1, 0, 0); } *************** *** 280,286 **** if (alpha != 1.0F) ! glEnable(GL_BLEND); ! glColor4f(1, 1, 1, alpha); GL_Bind(currentmodel.skins[e.frame].texnum); --- 280,286 ---- if (alpha != 1.0F) ! gl.glEnable(GL_BLEND); ! gl.glColor4f(1, 1, 1, alpha); GL_Bind(currentmodel.skins[e.frame].texnum); *************** *** 289,327 **** if (alpha == 1.0) ! glEnable(GL_ALPHA_TEST); else ! glDisable(GL_ALPHA_TEST); ! glBegin(GL_QUADS); ! glTexCoord2f(0, 1); Math3D.VectorMA(e.origin, -frame.origin_y, vup, point); Math3D.VectorMA(point, -frame.origin_x, vright, point); ! glVertex3f(point[0], point[1], point[2]); ! glTexCoord2f(0, 0); Math3D.VectorMA(e.origin, frame.height - frame.origin_y, vup, point); Math3D.VectorMA(point, -frame.origin_x, vright, point); ! glVertex3f(point[0], point[1], point[2]); ! glTexCoord2f(1, 0); Math3D.VectorMA(e.origin, frame.height - frame.origin_y, vup, point); Math3D.VectorMA(point, frame.width - frame.origin_x, vright, point); ! glVertex3f(point[0], point[1], point[2]); ! glTexCoord2f(1, 1); Math3D.VectorMA(e.origin, -frame.origin_y, vup, point); Math3D.VectorMA(point, frame.width - frame.origin_x, vright, point); ! glVertex3f(point[0], point[1], point[2]); ! glEnd(); ! glDisable(GL_ALPHA_TEST); GL_TexEnv(GL_REPLACE); if (alpha != 1.0F) ! glDisable(GL_BLEND); ! glColor4f(1, 1, 1, 1); } --- 289,327 ---- if (alpha == 1.0) ! gl.glEnable(GL_ALPHA_TEST); else ! gl.glDisable(GL_ALPHA_TEST); ! gl.glBegin(GL_QUADS); ! gl.glTexCoord2f(0, 1); Math3D.VectorMA(e.origin, -frame.origin_y, vup, point); Math3D.VectorMA(point, -frame.origin_x, vright, point); ! gl.glVertex3f(point[0], point[1], point[2]); ! gl.glTexCoord2f(0, 0); Math3D.VectorMA(e.origin, frame.height - frame.origin_y, vup, point); Math3D.VectorMA(point, -frame.origin_x, vright, point); ! gl.glVertex3f(point[0], point[1], point[2]); ! gl.glTexCoord2f(1, 0); Math3D.VectorMA(e.origin, frame.height - frame.origin_y, vup, point); Math3D.VectorMA(point, frame.width - frame.origin_x, vright, point); ! gl.glVertex3f(point[0], point[1], point[2]); ! gl.glTexCoord2f(1, 1); Math3D.VectorMA(e.origin, -frame.origin_y, vup, point); Math3D.VectorMA(point, frame.width - frame.origin_x, vright, point); ! gl.glVertex3f(point[0], point[1], point[2]); ! gl.glEnd(); ! gl.glDisable(GL_ALPHA_TEST); GL_TexEnv(GL_REPLACE); if (alpha != 1.0F) ! gl.glDisable(GL_BLEND); ! gl.glColor4f(1, 1, 1, 1); } *************** *** 343,374 **** } ! glPushMatrix(); R_RotateForEntity(currententity); ! glDisable(GL_TEXTURE_2D); ! glColor3f(shadelight[0], shadelight[1], shadelight[2]); // this replaces the TRIANGLE_FAN //glut.glutWireCube(gl, 20); ! glBegin(GL_TRIANGLE_FAN); ! glVertex3f(0, 0, -16); int i; for (i=0 ; i<=4 ; i++) { ! glVertex3f((float)(16.0f * Math.cos(i * Math.PI / 2)), (float)(16.0f * Math.sin(i * Math.PI / 2)), 0.0f); } ! glEnd(); ! glBegin(GL_TRIANGLE_FAN); ! glVertex3f (0, 0, 16); for (i=4 ; i>=0 ; i--) { ! glVertex3f((float)(16.0f * Math.cos(i * Math.PI / 2)), (float)(16.0f * Math.sin(i * Math.PI / 2)), 0.0f); } ! glEnd(); ! glColor3f(1, 1, 1); ! glPopMatrix(); ! glEnable(GL_TEXTURE_2D); } --- 343,374 ---- } ! gl.glPushMatrix(); R_RotateForEntity(currententity); ! gl.glDisable(GL_TEXTURE_2D); ! gl.glColor3f(shadelight[0], shadelight[1], shadelight[2]); // this replaces the TRIANGLE_FAN //glut.glutWireCube(gl, 20); ! gl.glBegin(GL_TRIANGLE_FAN); ! gl.glVertex3f(0, 0, -16); int i; for (i=0 ; i<=4 ; i++) { ! gl.glVertex3f((float)(16.0f * Math.cos(i * Math.PI / 2)), (float)(16.0f * Math.sin(i * Math.PI / 2)), 0.0f); } ! gl.glEnd(); ! gl.glBegin(GL_TRIANGLE_FAN); ! gl.glVertex3f (0, 0, 16); for (i=4 ; i>=0 ; i--) { ! gl.glVertex3f((float)(16.0f * Math.cos(i * Math.PI / 2)), (float)(16.0f * Math.sin(i * Math.PI / 2)), 0.0f); } ! gl.glEnd(); ! gl.glColor3f(1, 1, 1); ! gl.glPopMatrix(); ! gl.glEnable(GL_TEXTURE_2D); } *************** *** 414,418 **** // draw transparent entities // we could sort these if it ever becomes a problem... ! glDepthMask(false); // no z writes for (i = 0; i < r_newrefdef.num_entities; i++) { currententity = r_newrefdef.entities[i]; --- 414,418 ---- // draw transparent entities // we could sort these if it ever becomes a problem... ! gl.glDepthMask(false); // no z writes for (i = 0; i < r_newrefdef.num_entities; i++) { currententity = r_newrefdef.entities[i]; *************** *** 446,450 **** } } ! glDepthMask(true); // back to writing } --- 446,450 ---- } } ! gl.glDepthMask(true); // back to writing } *************** *** 462,470 **** GL_Bind(r_particletexture.texnum); ! glDepthMask(false); // no z buffering ! glEnable(GL_BLEND); GL_TexEnv(GL_MODULATE); ! glBegin(GL_TRIANGLES); FloatBuffer sourceVertices = particle_t.vertexArray; --- 462,470 ---- GL_Bind(r_particletexture.texnum); ! gl.glDepthMask(false); // no z buffering ! gl.glEnable(GL_BLEND); GL_TexEnv(GL_MODULATE); ! gl.glBegin(GL_TRIANGLES); FloatBuffer sourceVertices = particle_t.vertexArray; *************** *** 487,491 **** color = sourceColors.get(i); ! glColor4ub( (byte)((color) & 0xFF), (byte)((color >> 8) & 0xFF), --- 487,491 ---- color = sourceColors.get(i); ! gl.glColor4ub( (byte)((color) & 0xFF), (byte)((color >> 8) & 0xFF), *************** *** 494,511 **** ); // first vertex ! glTexCoord2f(0.0625f, 0.0625f); ! glVertex3f(origin_x, origin_y, origin_z); // second vertex ! glTexCoord2f(1.0625f, 0.0625f); ! glVertex3f(origin_x + up[0] * scale, origin_y + up[1] * scale, origin_z + up[2] * scale); // third vertex ! glTexCoord2f(0.0625f, 1.0625f); ! glVertex3f(origin_x + right[0] * scale, origin_y + right[1] * scale, origin_z + right[2] * scale); } ! glEnd(); ! glDisable(GL_BLEND); ! glColor4f(1, 1, 1, 1); ! glDepthMask(true); // back to normal Z buffering GL_TexEnv(GL_REPLACE); } --- 494,511 ---- ); // first vertex ! gl.glTexCoord2f(0.0625f, 0.0625f); ! gl.glVertex3f(origin_x, origin_y, origin_z); // second vertex ! gl.glTexCoord2f(1.0625f, 0.0625f); ! gl.glVertex3f(origin_x + up[0] * scale, origin_y + up[1] * scale, origin_z + up[2] * scale); // third vertex ! gl.glTexCoord2f(0.0625f, 1.0625f); ! gl.glVertex3f(origin_x + right[0] * scale, origin_y + right[1] * scale, origin_z + right[2] * scale); } ! gl.glEnd(); ! gl.glDisable(GL_BLEND); ! gl.glColor4f(1, 1, 1, 1); ! gl.glDepthMask(true); // back to normal Z buffering GL_TexEnv(GL_REPLACE); } *************** *** 518,540 **** if (gl_ext_pointparameters.value != 0.0f && qglPointParameterfEXT) { ! //gl.glEnableClientState(GL_VERTEX_ARRAY); ! glVertexPointer(3, 0, particle_t.vertexArray); ! glEnableClientState(GL_COLOR_ARRAY); ! glColorPointer(4, true, 0, particle_t.getColorAsByteBuffer()); ! glDepthMask(false); ! glEnable(GL_BLEND); ! glDisable(GL_TEXTURE_2D); ! glPointSize(gl_particle_size.value); ! glDrawArrays(GL_POINTS, 0, r_newrefdef.num_particles); ! glDisableClientState(GL_COLOR_ARRAY); ! //gl.glDisableClientState(GL_VERTEX_ARRAY); ! glDisable(GL_BLEND); ! glColor4f(1.0F, 1.0F, 1.0F, 1.0F); ! glDepthMask(true); ! glEnable(GL_TEXTURE_2D); } --- 518,540 ---- if (gl_ext_pointparameters.value != 0.0f && qglPointParameterfEXT) { ! //gl.gl.glEnableClientState(GL_VERTEX_ARRAY); ! gl.glVertexPointer(3, 0, particle_t.vertexArray); ! gl.glEnableClientState(GL_COLOR_ARRAY); ! gl.glColorPointer(4, true, 0, particle_t.getColorAsByteBuffer()); ! gl.glDepthMask(false); ! gl.glEnable(GL_BLEND); ! gl.glDisable(GL_TEXTURE_2D); ! gl.glPointSize(gl_particle_size.value); ! gl.glDrawArrays(GL_POINTS, 0, r_newrefdef.num_particles); ! gl.glDisableClientState(GL_COLOR_ARRAY); ! //gl.gl.glDisableClientState(GL_VERTEX_ARRAY); ! gl.glDisable(GL_BLEND); ! gl.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); ! gl.glDepthMask(true); ! gl.glEnable(GL_TEXTURE_2D); } *************** *** 554,583 **** return; ! glDisable(GL_ALPHA_TEST); ! glEnable(GL_BLEND); ! glDisable(GL_DEPTH_TEST); ! glDisable(GL_TEXTURE_2D); ! glLoadIdentity(); // FIXME: get rid of these ! glRotatef(-90, 1, 0, 0); // put Z going up ! glRotatef(90, 0, 0, 1); // put Z going up ! glColor4f(v_blend[0], v_blend[1], v_blend[2], v_blend[3]); ! glBegin(GL_QUADS); ! glVertex3f(10, 100, 100); ! glVertex3f(10, -100, 100); ! glVertex3f(10, -100, -100); ! glVertex3f(10, 100, -100); ! glEnd(); ! glDisable(GL_BLEND); ! glEnable(GL_TEXTURE_2D); ! glEnable(GL_ALPHA_TEST); ! glColor4f(1, 1, 1, 1); } --- 554,583 ---- return; ! gl.glDisable(GL_ALPHA_TEST); ! gl.glEnable(GL_BLEND); ! gl.glDisable(GL_DEPTH_TEST); ! gl.glDisable(GL_TEXTURE_2D); ! gl.glLoadIdentity(); // FIXME: get rid of these ! gl.glRotatef(-90, 1, 0, 0); // put Z going up ! gl.glRotatef(90, 0, 0, 1); // put Z going up ! gl.glColor4f(v_blend[0], v_blend[1], v_blend[2], v_blend[3]); ! gl.glBegin(GL_QUADS); ! gl.glVertex3f(10, 100, 100); ! gl.glVertex3f(10, -100, 100); ! gl.glVertex3f(10, -100, -100); ! gl.glVertex3f(10, 100, -100); ! gl.glEnd(); ! gl.glDisable(GL_BLEND); ! gl.glEnable(GL_TEXTURE_2D); ! gl.glEnable(GL_ALPHA_TEST); ! gl.glColor4f(1, 1, 1, 1); } *************** *** 665,678 **** // clear out the portion of the screen that the NOWORLDMODEL defines if ((r_newrefdef.rdflags & Defines.RDF_NOWORLDMODEL) != 0) { ! glEnable(GL_SCISSOR_TEST); ! glClearColor(0.3f, 0.3f, 0.3f, 1.0f); ! glScissor( r_newrefdef.x, vid.height - r_newrefdef.height - r_newrefdef.y, r_newrefdef.width, r_newrefdef.height); ! glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); ! glClearColor(1.0f, 0.0f, 0.5f, 0.5f); ! glDisable(GL_SCISSOR_TEST); } } --- 665,678 ---- // clear out the portion of the screen that the NOWORLDMODEL defines if ((r_newrefdef.rdflags & Defines.RDF_NOWORLDMODEL) != 0) { ! gl.glEnable(GL_SCISSOR_TEST); ! gl.glClearColor(0.3f, 0.3f, 0.3f, 1.0f); ! gl.glScissor( r_newrefdef.x, vid.height - r_newrefdef.height - r_newrefdef.y, r_newrefdef.width, r_newrefdef.height); ! gl.glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); ! gl.glClearColor(1.0f, 0.0f, 0.5f, 0.5f); ! gl.glDisable(GL_SCISSOR_TEST); } } *************** *** 696,700 **** xmax += - (2 * gl_state.camera_separation) / zNear; ! glFrustum(xmin, xmax, ymin, ymax, zNear, zFar); } --- 696,700 ---- xmax += - (2 * gl_state.camera_separation) / zNear; ! gl.glFrustum(xmin, xmax, ymin, ymax, zNear, zFar); } *************** *** 719,723 **** int h = y - y2; ! glViewport(x, y2, w, h); // --- 719,723 ---- int h = y - y2; ! gl.glViewport(x, y2, w, h); // *************** *** 725,745 **** // float screenaspect = (float) r_newrefdef.width / r_newrefdef.height; ! glMatrixMode(GL_PROJECTION); ! glLoadIdentity(); MYgluPerspective(r_newrefdef.fov_y, screenaspect, 4, 4096); ! glCullFace(GL_FRONT); ! glMatrixMode(GL_MODELVIEW); ! glLoadIdentity(); ! glRotatef(-90, 1, 0, 0); // put Z going up ! glRotatef(90, 0, 0, 1); // put Z going up ! glRotatef(-r_newrefdef.viewangles[2], 1, 0, 0); ! glRotatef(-r_newrefdef.viewangles[0], 0, 1, 0); ! glRotatef(-r_newrefdef.viewangles[1], 0, 0, 1); ! glTranslatef(-r_newrefdef.vieworg[0], -r_newrefdef.vieworg[1], -r_newrefdef.vieworg[2]); ! glGetFloat(GL_MODELVIEW_MATRIX, r_world_matrix); r_world_matrix.clear(); --- 725,745 ---- // float screenaspect = (float) r_newrefdef.width / r_newrefdef.height; ! gl.glMatrixMode(GL_PROJECTION); ! gl.glLoadIdentity(); MYgluPerspective(r_newrefdef.fov_y, screenaspect, 4, 4096); ! gl.glCullFace(GL_FRONT); ! gl.glMatrixMode(GL_MODELVIEW); ! gl.glLoadIdentity(); ! gl.glRotatef(-90, 1, 0, 0); // put Z going up ! gl.glRotatef(90, 0, 0, 1); // put Z going up ! gl.glRotatef(-r_newrefdef.viewangles[2], 1, 0, 0); ! gl.glRotatef(-r_newrefdef.viewangles[0], 0, 1, 0); ! gl.glRotatef(-r_newrefdef.viewangles[1], 0, 0, 1); ! gl.glTranslatef(-r_newrefdef.vieworg[0], -r_newrefdef.vieworg[1], -r_newrefdef.vieworg[2]); ! gl.glGetFloat(GL_MODELVIEW_MATRIX, r_world_matrix); r_world_matrix.clear(); *************** *** 748,758 **** // if (gl_cull.value != 0.0f) ! glEnable(GL_CULL_FACE); else ! glDisable(GL_CULL_FACE); ! glDisable(GL_BLEND); ! glDisable(GL_ALPHA_TEST); ! glEnable(GL_DEPTH_TEST); } --- 748,758 ---- // if (gl_cull.value != 0.0f) ! gl.glEnable(GL_CULL_FACE); else ! gl.glDisable(GL_CULL_FACE); ! gl.glDisable(GL_BLEND); ! gl.glDisable(GL_ALPHA_TEST); ! gl.glEnable(GL_DEPTH_TEST); } *************** *** 766,770 **** if (gl_clear.value != 0.0f) { ! glClear(GL_COLOR_BUFFER_BIT); } --- 766,770 ---- if (gl_clear.value != 0.0f) { ! gl.glClear(GL_COLOR_BUFFER_BIT); } *************** *** 773,795 **** gldepthmin = 0; gldepthmax = 0.49999f; ! glDepthFunc(GL_LEQUAL); } else { gldepthmin = 1; gldepthmax = 0.5f; ! glDepthFunc(GL_GEQUAL); } } else { if (gl_clear.value != 0.0f) ! glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); else ! glClear(GL_DEPTH_BUFFER_BIT); gldepthmin = 0; gldepthmax = 1; ! glDepthFunc(GL_LEQUAL); } ! glDepthRange(gldepthmin, gldepthmax); } --- 773,795 ---- gldepthmin = 0; gldepthmax = 0.49999f; ! gl.glDepthFunc(GL_LEQUAL); } else { gldepthmin = 1; gldepthmax = 0.5f; ! gl.glDepthFunc(GL_GEQUAL); } } else { if (gl_clear.value != 0.0f) ! gl.glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); else ! gl.glClear(GL_DEPTH_BUFFER_BIT); gldepthmin = 0; gldepthmax = 1; ! gl.glDepthFunc(GL_LEQUAL); } ! gl.glDepthRange(gldepthmin, gldepthmax); } *************** *** 828,832 **** if (gl_finish.value != 0.0f) ! glFinish(); R_SetupFrame(); --- 828,832 ---- if (gl_finish.value != 0.0f) ! gl.glFinish(); R_SetupFrame(); *************** *** 863,877 **** void R_SetGL2D() { // set 2D virtual screen size ! glViewport(0, 0, vid.width, vid.height); ! glMatrixMode(GL_PROJECTION); ! glLoadIdentity(); ! glOrtho(0, vid.width, vid.height, 0, -99999, 99999); ! glMatrixMode(GL_MODELVIEW); ! glLoadIdentity(); ! glDisable(GL_DEPTH_TEST); ! glDisable(GL_CULL_FACE); ! glDisable(GL_BLEND); ! glEnable(GL_ALPHA_TEST); ! glColor4f(1, 1, 1, 1); } --- 863,877 ---- void R_SetGL2D() { // set 2D virtual screen size ! gl.glViewport(0, 0, vid.width, vid.height); ! gl.glMatrixMode(GL_PROJECTION); ! gl.glLoadIdentity(); ! gl.glOrtho(0, vid.width, vid.height, 0, -99999, 99999); ! gl.glMatrixMode(GL_MODELVIEW); ! gl.glLoadIdentity(); ! gl.glDisable(GL_DEPTH_TEST); ! gl.glDisable(GL_CULL_FACE); ! gl.glDisable(GL_BLEND); ! gl.glEnable(GL_ALPHA_TEST); ! gl.glColor4f(1, 1, 1, 1); } *************** *** 1092,1102 **** ** get our various GL strings */ ! gl_config.vendor_string = glGetString(GL_VENDOR); VID.Printf(Defines.PRINT_ALL, "GL_VENDOR: " + gl_config.vendor_string + '\n'); ! gl_config.renderer_string = glGetString(GL_RENDERER); VID.Printf(Defines.PRINT_ALL, "GL_RENDERER: " + gl_config.renderer_string + '\n'); ! gl_config.version_string = glGetString(GL_VERSION); VID.Printf(Defines.PRINT_ALL, "GL_VERSION: " + gl_config.version_string + '\n'); ! gl_config.extensions_string = glGetString(GL_EXTENSIONS); VID.Printf(Defines.PRINT_ALL, "GL_EXTENSIONS: " + gl_config.extensions_string + '\n'); --- 1092,1102 ---- ** get our various GL strings */ ! gl_config.vendor_string = gl.glGetString(GL_VENDOR); VID.Printf(Defines.PRINT_ALL, "GL_VENDOR: " + gl_config.vendor_string + '\n'); ! gl_config.renderer_string = gl.glGetString(GL_RENDERER); VID.Printf(Defines.PRINT_ALL, "GL_RENDERER: " + gl_config.renderer_string + '\n'); ! gl_config.version_string = gl.glGetString(GL_VERSION); VID.Printf(Defines.PRINT_ALL, "GL_VERSION: " + gl_config.version_string + '\n'); ! gl_config.extensions_string = gl.glGetString(GL_EXTENSIONS); VID.Printf(Defines.PRINT_ALL, "GL_EXTENSIONS: " + gl_config.extensions_string + '\n'); *************** *** 1178,1187 **** || gl_config.extensions_string.indexOf("GL_SGI_compiled_vertex_array") >= 0) { VID.Printf(Defines.PRINT_ALL, "...enabling GL_EXT_compiled_vertex_array\n"); ! // qglLockArraysEXT = ( void * ) qwglGetProcAddress( "glLockArraysEXT" ); if (gl_ext_compiled_vertex_array.value != 0.0f) qglLockArraysEXT = true; else qglLockArraysEXT = false; ! // qglUnlockArraysEXT = ( void * ) qwglGetProcAddress( "glUnlockArraysEXT" ); //qglUnlockArraysEXT = true; } --- 1178,1187 ---- || gl_config.extensions_string.indexOf("GL_SGI_compiled_vertex_array") >= 0) { VID.Printf(Defines.PRINT_ALL, "...enabling GL_EXT_compiled_vertex_array\n"); ! // qgl.glLockArraysEXT = ( void * ) qwglGetProcAddress( "glLockArraysEXT" ); if (gl_ext_compiled_vertex_array.value != 0.0f) qglLockArraysEXT = true; else qglLockArraysEXT = false; ! // qgl.glUnlockArraysEXT = ( void * ) qwglGetProcAddress( "glUnlockArraysEXT" ); //qglUnlockArraysEXT = true; } *************** *** 1201,1207 **** if (gl_config.extensions_string.indexOf("GL_EXT_point_parameters") >= 0) { if (gl_ext_pointparameters.value != 0.0f) { ! // qglPointParameterfEXT = ( void (APIENTRY *)( GLenum, GLfloat ) ) qwglGetProcAddress( "glPointParameterfEXT" ); qglPointParameterfEXT = true; ! // qglPointParameterfvEXT = ( void (APIENTRY *)( GLenum, const GLfloat * ) ) qwglGetProcAddress( "glPointParameterfvEXT" ); VID.Printf(Defines.PRINT_ALL, "...using GL_EXT_point_parameters\n"); } --- 1201,1207 ---- if (gl_config.extensions_string.indexOf("GL_EXT_point_parameters") >= 0) { if (gl_ext_pointparameters.value != 0.0f) { ! // qgl.glPointParameterfEXT = ( void (APIENTRY *)( GLenum, GLfloat ) ) qwglGetProcAddress( "glPointParameterfEXT" ); qglPointParameterfEXT = true; ! // qgl.glPointParameterfvEXT = ( void (APIENTRY *)( GLenum, const GLfloat * ) ) qwglGetProcAddress( "glPointParameterfvEXT" ); VID.Printf(Defines.PRINT_ALL, "...using GL_EXT_point_parameters\n"); } *************** *** 1220,1224 **** // { // VID.Printf( Defines.PRINT_ALL, "...using 3DFX_set_global_palette\n" ); ! // qgl3DfxSetPaletteEXT = ( void ( APIENTRY * ) (GLuint *) )qwglGetProcAddress( "gl3DfxSetPaletteEXT" ); //// qglColorTableEXT = Fake_glColorTableEXT; // } --- 1220,1224 ---- // { // VID.Printf( Defines.PRINT_ALL, "...using 3DFX_set_global_palette\n" ); ! // qgl3DfxSetPaletteEXT = ( void ( APIENTRY * ) (GLuint *) )qwgl.glGetProcAddress( "gl3DfxSetPaletteEXT" ); //// qglColorTableEXT = Fake_glColorTableEXT; // } *************** *** 1270,1279 **** Draw_InitLocal(); ! int err = glGetError(); if (err != GL_NO_ERROR) VID.Printf( Defines.PRINT_ALL, ! "glGetError() = 0x%x\n\t%s\n", ! new Vargs(2).add(err).add("" + glGetString(err))); return true; --- 1270,1279 ---- Draw_InitLocal(); ! int err = gl.glGetError(); if (err != GL_NO_ERROR) VID.Printf( Defines.PRINT_ALL, ! "gl.glGetError() = 0x%x\n\t%s\n", ! new Vargs(2).add(err).add("" + gl.glGetString(err))); return true; *************** *** 1355,1369 **** ** go into 2D mode */ ! glViewport(0, 0, vid.width, vid.height); ! glMatrixMode(GL_PROJECTION); ! glLoadIdentity(); ! glOrtho(0, vid.width, vid.height, 0, -99999, 99999); ! glMatrixMode(GL_MODELVIEW); ! glLoadIdentity(); ! glDisable(GL_DEPTH_TEST); ! glDisable(GL_CULL_FACE); ! glDisable(GL_BLEND); ! glEnable(GL_ALPHA_TEST); ! glColor4f(1, 1, 1, 1); /* --- 1355,1369 ---- ** go into 2D mode */ ! gl.glViewport(0, 0, vid.width, vid.height); ! gl.glMatrixMode(GL_PROJECTION); ! gl.glLoadIdentity(); ! gl.glOrtho(0, vid.width, vid.height, 0, -99999, 99999); ! gl.glMatrixMode(GL_MODELVIEW); ! gl.glLoadIdentity(); ! gl.glDisable(GL_DEPTH_TEST); ! gl.glDisable(GL_CULL_FACE); ! gl.glDisable(GL_BLEND); ! gl.glEnable(GL_ALPHA_TEST); ! gl.glColor4f(1, 1, 1, 1); /* *************** *** 1375,1381 **** if (gl_state.camera_separation == 0 || !gl_state.stereo_enabled) { if (gl_drawbuffer.string.equalsIgnoreCase("GL_FRONT")) ! glDrawBuffer(GL_FRONT); else ! glDrawBuffer(GL_BACK); } } --- 1375,1381 ---- if (gl_state.camera_separation == 0 || !gl_state.stereo_enabled) { if (gl_drawbuffer.string.equalsIgnoreCase("GL_FRONT")) ! gl.glDrawBuffer(GL_FRONT); else ! gl.glDrawBuffer(GL_BACK); } } *************** *** 1438,1444 **** GL_SetTexturePalette(r_rawpalette); ! glClearColor(0, 0, 0, 0); ! glClear(GL_COLOR_BUFFER_BIT); ! glClearColor(1f, 0f, 0.5f, 0.5f); } --- 1438,1444 ---- GL_SetTexturePalette(r_rawpalette); ! gl.glClearColor(0, 0, 0, 0); ! gl.glClear(GL_COLOR_BUFFER_BIT); ! gl.glClearColor(1f, 0f, 0.5f, 0.5f); } *************** *** 1487,1493 **** } ! glDisable(GL_TEXTURE_2D); ! glEnable(GL_BLEND); ! glDepthMask(false); float r = (d_8to24table[e.skinnum & 0xFF]) & 0xFF; --- 1487,1493 ---- } ! gl.glDisable(GL_TEXTURE_2D); ! gl.glEnable(GL_BLEND); ! gl.glDepthMask(false); float r = (d_8to24table[e.skinnum & 0xFF]) & 0xFF; *************** *** 1499,1505 **** b *= 1 / 255.0f; ! glColor4f(r, g, b, e.alpha); ! glBegin(GL_TRIANGLE_STRIP); float[] v; --- 1499,1505 ---- b *= 1 / 255.0f; ! gl.glColor4f(r, g, b, e.alpha); ! gl.glBegin(GL_TRIANGLE_STRIP); float[] v; *************** *** 1507,1523 **** for (int i = 0; i < NUM_BEAM_SEGS; i++) { v = start_points[i]; ! glVertex3f(v[0], v[1], v[2]); v = end_points[i]; ! glVertex3f(v[0], v[1], v[2]); v = start_points[(i + 1) % NUM_BEAM_SEGS]; ! glVertex3f(v[0], v[1], v[2]); v = end_points[(i + 1) % NUM_BEAM_SEGS]; ! glVertex3f(v[0], v[1], v[2]); } ! glEnd(); ! glEnable(GL_TEXTURE_2D); ! glDisable(GL_BLEND); ! glDepthMask(true); } } \ No newline at end of file --- 1507,1523 ---- for (int i = 0; i < NUM_BEAM_SEGS; i++) { v = start_points[i]; ! gl.glVertex3f(v[0], v[1], v[2]); v = end_points[i]; ! gl.glVertex3f(v[0], v[1], v[2]); v = start_points[(i + 1) % NUM_BEAM_SEGS]; ! gl.glVertex3f(v[0], v[1], v[2]); v = end_points[(i + 1) % NUM_BEAM_SEGS]; ! gl.glVertex3f(v[0], v[1], v[2]); } ! gl.glEnd(); ! gl.glEnable(GL_TEXTURE_2D); ! gl.glDisable(GL_BLEND); ! gl.glDepthMask(true); } } \ No newline at end of file Index: Surf.java =================================================================== RCS file: /cvsroot/jake2/jake2/src/jake2/render/lwjgl/Surf.java,v retrieving revision 1.9.4.1 retrieving revision 1.9.4.2 diff -C2 -d -r1.9.4.1 -r1.9.4.2 *** Surf.java 10 Jul 2005 17:55:50 -0000 1.9.4.1 --- Surf.java 16 Jul 2005 18:22:37 -0000 1.9.4.2 *************** *** 136,140 **** void DrawGLPoly(glpoly_t p) { ! glDrawArrays(GL_POLYGON, p.pos, p.numverts); } --- 136,140 ---- void DrawGLPoly(glpoly_t p) { ! gl.glDrawArrays(GL_POLYGON, p.pos, p.numverts); } *************** *** 149,153 **** scroll = -64.0f; p.beginScrolling(scroll); ! glDrawArrays(GL_POLYGON, p.pos, p.numverts); p.endScrolling(); } --- 149,153 ---- scroll = -64.0f; p.beginScrolling(scroll); ! gl.glDrawArrays(GL_POLYGON, p.pos, p.numverts); p.endScrolling(); } *************** *** 161,167 **** return; ! glDisable(GL_TEXTURE_2D); ! glDisable(GL_DEPTH_TEST); ! glColor4f(1, 1, 1, 1); msurface_t surf; --- 161,167 ---- return; ! gl.glDisable(GL_TEXTURE_2D); ! gl.glDisable(GL_DEPTH_TEST); ! gl.glColor4f(1, 1, 1, 1); msurface_t surf; *************** *** 172,181 **** for (p = surf.polys; p != null; p = p.chain) { for (j = 2; j < p.numverts; j++) { ! glBegin(GL_LINE_STRIP); ! glVertex3f(p.x(0), p.y(0), p.z(0)); ! glVertex3f(p.x(j-1), p.y(j-1), p.z(j-1)); ! glVertex3f(p.x(j), p.y(j), p.z(j)); ! glVertex3f(p.x(0), p.y(0), p.z(0)); ! glEnd(); } } --- 172,181 ---- for (p = surf.polys; p != null; p = p.chain) { for (j = 2; j < p.numverts; j++) { ! gl.glBegin(GL_LINE_STRIP); ! gl.glVertex3f(p.x(0), p.y(0), p.z(0)); ! gl.glVertex3f(p.x(j-1), p.y(j-1), p.z(j-1)); ! gl.glVertex3f(p.x(j), p.y(j), p.z(j)); ! gl.glVertex3f(p.x(0), p.y(0), p.z(0)); ! gl.glEnd(); } } *************** *** 183,188 **** } ! glEnable(GL_DEPTH_TEST); ! glEnable(GL_TEXTURE_2D); } --- 183,188 ---- } ! gl.glEnable(GL_DEPTH_TEST); ! gl.glEnable(GL_TEXTURE_2D); } *************** *** 204,208 **** // warp texture, no lightmaps GL_TexEnv( GL_MODULATE ); ! glColor4f( gl_state.inverse_intensity, gl_state.inverse_intensity, gl_state.inverse_intensity, --- 204,208 ---- // warp texture, no lightmaps GL_TexEnv( GL_MODULATE ); ! gl.glColor4f( gl_state.inverse_intensity, gl_state.inverse_intensity, gl_state.inverse_intensity, *************** *** 274,278 **** GL_Bind( gl_state.lightmap_textures + fa.lightmaptexturenum ); ! glTexSubImage2D( GL_TEXTURE_2D, 0, fa.light_s, fa.light_t, smax, tmax, --- 274,278 ---- GL_Bind( gl_state.lightmap_textures + fa.lightmaptexturenum ); ! gl.glTexSubImage2D( GL_TEXTURE_2D, 0, fa.light_s, fa.light_t, smax, tmax, *************** *** 309,315 **** // go back to the world matrix // ! glLoadMatrix(r_world_matrix); ! glEnable (GL_BLEND); GL_TexEnv(GL_MODULATE ); --- 309,315 ---- // go back to the world matrix // ! gl.glLoadMatrix(r_world_matrix); ! gl.glEnable (GL_BLEND); GL_TexEnv(GL_MODULATE ); *************** *** 319,323 **** float intens = gl_state.inverse_intensity; ! glInterleavedArrays(GL_T2F_V3F, Polygon.BYTE_STRIDE, globalPolygonInterleavedBuf); for (msurface_t s = r_alpha_surfaces ; s != null ; s=s.texturechain) --- 319,323 ---- float intens = gl_state.inverse_intensity; ! gl.glInterleavedArrays(GL_T2F_V3F, Polygon.BYTE_STRIDE, globalPolygonInterleavedBuf); for (msurface_t s = r_alpha_surfaces ; s != null ; s=s.texturechain) *************** *** 326,334 **** c_brush_polys++; if ((s.texinfo.flags & Defines.SURF_TRANS33) != 0) ! glColor4f (intens, intens, intens, 0.33f); else if ((s.texinfo.flags & Defines.SURF_TRANS66) != 0) ! glColor4f (intens, intens, intens, 0.66f); else ! glColor4f (intens,intens,intens,1); if ((s.flags & Defines.SURF_DRAWTURB) != 0) EmitWaterPolys(s); --- 326,334 ---- c_brush_polys++; if ((s.texinfo.flags & Defines.SURF_TRANS33) != 0) ! gl.glColor4f (intens, intens, intens, 0.33f); else if ((s.texinfo.flags & Defines.SURF_TRANS66) != 0) ! gl.glColor4f (intens, intens, intens, 0.66f); else ! gl.glColor4f (intens,intens,intens,1); if ((s.flags & Defines.SURF_DRAWTURB) != 0) EmitWaterPolys(s); *************** *** 340,345 **** GL_TexEnv( GL_REPLACE ); ! glColor4f (1,1,1,1); ! glDisable (GL_BLEND); r_alpha_surfaces = null; --- 340,345 ---- GL_TexEnv( GL_REPLACE ); ! gl.glColor4f (1,1,1,1); ! gl.glDisable (GL_BLEND); r_alpha_surfaces = null; *************** *** 456,460 **** lmtex = surf.lightmaptexturenum; ! glTexSubImage2D( GL_TEXTURE_2D, 0, surf.light_s, surf.light_t, smax, tmax, --- 456,460 ---- lmtex = surf.lightmaptexturenum; ! gl.glTexSubImage2D( GL_TEXTURE_2D, 0, surf.light_s, surf.light_t, smax, tmax, *************** *** 474,478 **** lmtex = 0; ! glTexSubImage2D( GL_TEXTURE_2D, 0, surf.light_s, surf.light_t, smax, tmax, --- 474,478 ---- lmtex = 0; ! gl.glTexSubImage2D( GL_TEXTURE_2D, 0, surf.light_s, surf.light_t, smax, tmax, *************** *** 500,504 **** { p.beginScrolling(scroll); ! glDrawArrays(GL_POLYGON, p.pos, p.numverts); p.endScrolling(); } --- 500,504 ---- { p.beginScrolling(scroll); ! gl.glDrawArrays(GL_POLYGON, p.pos, p.numverts); p.endScrolling(); } *************** *** 508,512 **** for ( p = surf.polys; p != null; p = p.chain ) { ! glDrawArrays(GL_POLYGON, p.pos, p.numverts); } } --- 508,512 ---- for ( p = surf.polys; p != null; p = p.chain ) { ! gl.glDrawArrays(GL_POLYGON, p.pos, p.numverts); } } *************** *** 534,538 **** { p.beginScrolling(scroll); ! glDrawArrays(GL_POLYGON, p.pos, p.numverts); p.endScrolling(); } --- 534,538 ---- { p.beginScrolling(scroll); ! gl.glDrawArrays(GL_POLYGON, p.pos, p.numverts); p.endScrolling(); } *************** *** 544,548 **** for ( p = surf.polys; p != null; p = p.chain ) { ! glDrawArrays(GL_POLYGON, p.pos, p.numverts); } --- 544,548 ---- for ( p = surf.polys; p != null; p = p.chain ) { ! gl.glDrawArrays(GL_POLYGON, p.pos, p.numverts); } *************** *** 578,583 **** if ( (currententity.flags & Defines.RF_TRANSLUCENT) != 0 ) { ! glEnable (GL_BLEND); ! glColor4f (1,1,1,0.25f); GL_TexEnv( GL_MODULATE ); } --- 578,583 ---- if ( (currententity.flags & Defines.RF_TRANSLUCENT) != 0 ) { ! gl.glEnable (GL_BLEND); ! gl.glColor4f (1,1,1,0.25f); GL_TexEnv( GL_MODULATE ); } *************** *** 620,625 **** if ( (currententity.flags & Defines.RF_TRANSLUCENT) != 0 ) { ! glDisable (GL_BLEND); ! glColor4f (1,1,1,1); GL_TexEnv( GL_REPLACE ); } --- 620,625 ---- if ( (currententity.flags & Defines.RF_TRANSLUCENT) != 0 ) { ! gl.glDisable (GL_BLEND); ! gl.glColor4f (1,1,1,1); GL_TexEnv( GL_REPLACE ); } *************** *** 663,667 **** if (R_CullBox(mins, maxs)) return; ! glColor3f (1,1,1); // memset (gl_lms.lightmap_surfaces, 0, sizeof(gl_lms.lightmap_surfaces)); --- 663,667 ---- if (R_CullBox(mins, maxs)) return; ! gl.glColor3f (1,1,1); // memset (gl_lms.lightmap_surfaces, 0, sizeof(gl_lms.lightmap_surfaces)); *************** *** 680,684 **** } ! glPushMatrix(); e.angles[0] = -e.angles[0]; // stupid quake bug --- 680,684 ---- } ! gl.glPushMatrix(); e.angles[0] = -e.angles[0]; // stupid quake bug *************** *** 691,708 **** GL_SelectTexture(TEXTURE0); GL_TexEnv( GL_REPLACE ); ! glInterleavedArrays(GL_T2F_V3F, Polygon.BYTE_STRIDE, globalPolygonInterleavedBuf); GL_SelectTexture(TEXTURE1); GL_TexEnv( GL_MODULATE ); ! glTexCoordPointer(2, Polygon.BYTE_STRIDE, globalPolygonTexCoord1Buf); ! glEnableClientState(GL_TEXTURE_COORD_ARRAY); R_DrawInlineBModel(); ! glClientActiveTextureARB(TEXTURE1); ! glDisableClientState(GL_TEXTURE_COORD_ARRAY); GL_EnableMultitexture( false ); ! glPopMatrix(); } --- 691,708 ---- GL_SelectTexture(TEXTURE0); GL_TexEnv( GL_REPLACE ); ! gl.glInterleavedArrays(GL_T2F_V3F, Polygon.BYTE_STRIDE, globalPolygonInterleavedBuf); GL_SelectTexture(TEXTURE1); GL_TexEnv( GL_MODULATE ); ! gl.glTexCoordPointer(2, Polygon.BYTE_STRIDE, globalPolygonTexCoord1Buf); ! gl.glEnableClientState(GL_TEXTURE_COORD_ARRAY); R_DrawInlineBModel(); ! gl.glClientActiveTextureARB(TEXTURE1); ! gl.glDisableClientState(GL_TEXTURE_COORD_ARRAY); GL_EnableMultitexture( false ); ! gl.glPopMatrix(); } *************** *** 864,868 **** gl_state.currenttextures[0] = gl_state.currenttextures[1] = -1; ! glColor3f (1,1,1); // memset (gl_lms.lightmap_surfaces, 0, sizeof(gl_lms.lightmap_surfaces)); // TODO wird bei multitexture nicht gebraucht --- 864,868 ---- gl_state.currenttextures[0] = gl_state.currenttextures[1] = -1; ! gl.glColor3f (1,1,1); // memset (gl_lms.lightmap_surfaces, 0, sizeof(gl_lms.lightmap_surfaces)); // TODO wird bei multitexture nicht gebraucht *************** *** 875,882 **** GL_SelectTexture(TEXTURE0); GL_TexEnv( GL_REPLACE ); ! glInterleavedArrays(GL_T2F_V3F, Polygon.BYTE_STRIDE, globalPolygonInterleavedBuf); GL_SelectTexture(TEXTURE1); ! glTexCoordPointer(2, Polygon.BYTE_STRIDE, globalPolygonTexCoord1Buf); ! glEnableClientState(GL_TEXTURE_COORD_ARRAY); if ( gl_lightmap.value != 0) --- 875,882 ---- GL_SelectTexture(TEXTURE0); GL_TexEnv( GL_REPLACE ); ! gl.glInterleavedArrays(GL_T2F_V3F, Polygon.BYTE_STRIDE, globalPolygonInterleavedBuf); GL_SelectTexture(TEXTURE1); ! gl.glTexCoordPointer(2, Polygon.BYTE_STRIDE, globalPolygonTexCoord1Buf); ! gl.glEnableClientState(GL_TEXTURE_COORD_ARRAY); if ( gl_lightmap.value != 0) *************** *** 887,892 **** R_RecursiveWorldNode(r_worldmodel.nodes[0]); // root node ! glClientActiveTextureARB(TEXTURE1); ! glDisableClientState(GL_TEXTURE_COORD_ARRAY); GL_EnableMultitexture( false ); --- 887,892 ---- R_RecursiveWorldNode(r_worldmodel.nodes[0]); // root node ! gl.glClientActiveTextureARB(TEXTURE1); ! gl.glDisableClientState(GL_TEXTURE_COORD_ARRAY); GL_EnableMultitexture( false ); *************** *** 997,1002 **** GL_Bind( gl_state.lightmap_textures + texture ); ! glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); ! glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); gl_lms.lightmap_buffer.rewind(); --- 997,1002 ---- GL_Bind( gl_state.lightmap_textures + texture ); ! gl.glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); ! gl.glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); gl_lms.lightmap_buffer.rewind(); *************** *** 1010,1014 **** } ! glTexSubImage2D( GL_TEXTURE_2D, 0, 0, 0, --- 1010,1014 ---- } ! gl.glTexSubImage2D( GL_TEXTURE_2D, 0, 0, 0, *************** *** 1020,1024 **** else { ! glTexImage2D( GL_TEXTURE_2D, 0, gl_lms.internal_format, --- 1020,1024 ---- else { ! gl.glTexImage2D( GL_TEXTURE_2D, 0, gl_lms.internal_format, *************** *** 1276,1282 **** */ GL_Bind( gl_state.lightmap_textures + 0 ); ! glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); ! glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); ! glTexImage2D( GL_TEXTURE_2D, 0, gl_lms.internal_format, --- 1276,1282 ---- */ GL_Bind( gl_state.lightmap_textures + 0 ); ! gl.glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); ! gl.glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); ! gl.glTexImage2D( GL_TEXTURE_2D, 0, gl_lms.internal_format, Index: LWJGLBase.java =================================================================== RCS file: /cvsroot/jake2/jake2/src/jake2/render/lwjgl/LWJGLBase.java,v retrieving revision 1.2.6.1 retrieving revision 1.2.6.2 diff -C2 -d -r1.2.6.1 -r1.2.6.2 *** LWJGLBase.java 10 Jul 2005 17:55:51 -0000 1.2.6.1 --- LWJGLBase.java 16 Jul 2005 18:22:37 -0000 1.2.6.2 *************** *** 43,47 **** * @author dsanders/cwei */ ! public abstract class LWJGLBase extends Misc { // IMPORTED FUNCTIONS protected DisplayMode oldDisplayMode; --- 43,47 ---- * @author dsanders/cwei */ ! public abstract class LWJGLBase extends jake2.render.lwjgl.Misc { // IMPORTED FUNCTIONS protected DisplayMode oldDisplayMode; *************** *** 278,282 **** protected void GLimp_EndFrame() { ! glFlush(); // swap buffers Display.update(); --- 278,282 ---- protected void GLimp_EndFrame() { ! gl.glFlush(); // swap buffers Display.update(); Index: Light.java =================================================================== RCS file: /cvsroot/jake2/jake2/src/jake2/render/lwjgl/Light.java,v retrieving revision 1.4.6.1 retrieving revision 1.4.6.2 diff -C2 -d -r1.4.6.1 -r1.4.6.2 *** Light.java 10 Jul 2005 17:55:50 -0000 1.4.6.1 --- Light.java 16 Jul 2005 18:22:37 -0000 1.4.6.2 *************** *** 70,81 **** Math3D.VectorSubtract (light.origin, r_origin, v); ! glBegin (GL_TRIANGLE_FAN); ! glColor3f (light.color[0]*0.2f, light.color[1]*0.2f, light.color[2]*0.2f); int i; for (i=0 ; i<3 ; i++) v[i] = light.origin[i] - vpn[i]*rad; ! glVertex3f(v[0], v[1], v[2]); ! glColor3f (0,0,0); int j; --- 70,81 ---- Math3D.VectorSubtract (light.origin, r_origin, v); ! gl.glBegin (GL_TRIANGLE_FAN); ! gl.glColor3f (light.color[0]*0.2f, light.color[1]*0.2f, light.color[2]*0.2f); int i; for (i=0 ; i<3 ; i++) v[i] = light.origin[i] - vpn[i]*rad; ! gl.glVertex3f(v[0], v[1], v[2]); ! gl.glColor3f (0,0,0); int j; *************** *** 87,93 **** v[j] = (float)(light.origin[j] + vright[j]*Math.cos(a)*rad + vup[j]*Math.sin(a)*rad); ! glVertex3f(v[0], v[1], v[2]); } ! glEnd (); } --- 87,93 ---- v[j] = (float)(light.origin[j] + vright[j]*Math.cos(a)*rad + vup[j]*Math.sin(a)*rad); ! gl.glVertex3f(v[0], v[1], v[2]); } ! gl.glEnd (); } *************** *** 102,110 **** r_dlightframecount = r_framecount + 1; // because the count hasn't // advanced yet for this frame ! glDepthMask(false); ! glDisable(GL_TEXTURE_2D); ! glShadeModel (GL_SMOOTH); ! glEnable (GL_BLEND); ! glBlendFunc (GL_ONE, GL_ONE); for (int i=0 ; i<r_newrefdef.num_dlights ; i++) --- 102,110 ---- r_dlightframecount = r_framecount + 1; // because the count hasn't // advanced yet for this frame ! gl.glDepthMask(false); ! gl.glDisable(GL_TEXTURE_2D); ! gl.glShadeModel (GL_SMOOTH); ! gl.glEnable (GL_BLEND); ! gl.glBlendFunc (GL_ONE, GL_ONE); for (int i=0 ; i<r_newrefdef.num_dlights ; i++) *************** *** 113,121 **** } ! glColor3f (1,1,1); ! glDisable(GL_BLEND); ! glEnable(GL_TEXTURE_2D); ! glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); ! glDepthMask(true); } --- 113,121 ---- } ! gl.glColor3f (1,1,1); ! gl.glDisable(GL_BLEND); ! gl.glEnable(GL_TEXTURE_2D); ! gl.glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); ! gl.glDepthMask(true); } Index: Warp.java =================================================================== RCS file: /cvsroot/jake2/jake2/src/jake2/render/lwjgl/Warp.java,v retrieving revision 1.5.6.1 retrieving revision 1.5.6.2 diff -C2 -d -r1.5.6.1 -r1.5.6.2 *** Warp.java 10 Jul 2005 17:55:50 -0000 1.5.6.1 --- Warp.java 16 Jul 2005 18:22:37 -0000 1.5.6.2 *************** *** 289,293 **** p = bp; ! glBegin(GL_TRIANGLE_FAN); for (i = 0; i < p.numverts; i++) { os = p.s1(i); --- 289,293 ---- p = bp; ! gl.glBegin(GL_TRIANGLE_FAN); for (i = 0; i < p.numverts; i++) { os = p.s1(i); *************** *** 303,310 **** t *= (1.0f / 64); ! glTexCoord2f(s, t); ! glVertex3f(p.x(i), p.y(i), p.z(i)); } ! glEnd(); } } --- 303,310 ---- t *= (1.0f / 64); ! gl.glTexCoord2f(s, t); ! gl.glVertex3f(p.x(i), p.y(i), p.z(i)); } ! gl.glEnd(); } } *************** *** 611,616 **** t = 1.0f - t; ! glTexCoord2f (s, t); ! glVertex3f(v1[0], v1[1], v1[2]); } --- 611,616 ---- t = 1.0f - t; ! gl.glTexCoord2f (s, t); ! gl.glVertex3f(v1[0], v1[1], v1[2]); } *************** *** 634,640 **** } ! glPushMatrix (); ! glTranslatef (r_origin[0], r_origin[1], r_origin[2]); ! glRotatef (r_newrefdef.time * skyrotate, skyaxis[0], skyaxis[1], skyaxis[2]); for (i=0 ; i<6 ; i++) --- 634,640 ---- } ! gl.glPushMatrix (); ! gl.glTranslatef (r_origin[0], r_origin[1], r_origin[2]); ! gl.glRotatef (r_newrefdef.time * skyrotate, skyaxis[0], skyaxis[1], skyaxis[2]); for (i=0 ; i<6 ; i++) *************** *** 654,665 **** GL_Bind(sky_images[skytexorder[i]].texnum); ! glBegin(GL_QUADS); MakeSkyVec(skymins[0][i], skymins[1][i], i); MakeSkyVec(skymins[0][i], skymaxs[1][i], i); MakeSkyVec(skymaxs[0][i], skymaxs[1][i], i); MakeSkyVec(skymaxs[0][i], skymins[1][i], i); ! glEnd (); } ! glPopMatrix (); } --- 654,665 ---- GL_Bind(sky_images[skytexorder[i]].texnum); ! gl.glBegin(GL_QUADS); MakeSkyVec(skymins[0][i], skymins[1][i], i); MakeSkyVec(skymins[0][i], skymaxs[1][i], i); MakeSkyVec(skymaxs[0][i], skymaxs[1][i], i); MakeSkyVec(skymaxs[0][i], skymins[1][i], i); ! gl.glEnd (); } ! gl.glPopMatrix (); } Index: Mesh.java =================================================================== RCS file: /cvsroot/jake2/jake2/src/jake2/render/lwjgl/Mesh.java,v retrieving revision 1.8.4.1 retrieving revision 1.8.4.2 diff -C2 -d -r1.8.4.1 -r1.8.4.2 *** Mesh.java 10 Jul 2005 17:55:51 -0000 1.8.4.1 --- Mesh.java 16 Jul 2005 18:22:37 -0000 1.8.4.2 *************** *** 150,154 **** // PMM - added double shell if ( (currententity.flags & ( Defines.RF_SHELL_RED | Defines.RF_SHELL_GREEN | Defines.RF_SHELL_BLUE | Defines.RF_SHELL_DOUBLE | Defines.RF_SHELL_HALF_DAM)) != 0) ! glDisable( GL_TEXTURE_2D ); float frontlerp = 1.0f - backlerp; --- 150,154 ---- // PMM - added double shell if ( (currententity.flags & ( Defines.RF_SHELL_RED | Defines.RF_SHELL_GREEN | Defines.RF_SHELL_BLUE | Defines.RF_SHELL_DOUBLE | Defines.RF_SHELL_HALF_DAM)) != 0) ! gl.glDisable( GL_TEXTURE_2D ); float frontlerp = 1.0f - backlerp; *************** *** 175,190 **** GL_LerpVerts( paliashdr.num_xyz, ov, verts, move, frontv, backv ); ! //gl.glEnableClientState( GL_VERTEX_ARRAY ); ! glVertexPointer( 3, 0, vertexArrayBuf ); // PMM - added double damage shell if ( (currententity.flags & ( Defines.RF_SHELL_RED | Defines.RF_SHELL_GREEN | Defines.RF_SHELL_BLUE | Defines.RF_SHELL_DOUBLE | Defines.RF_SHELL_HALF_DAM)) != 0) { ! glColor4f( shadelight[0], shadelight[1], shadelight[2], alpha ); } else { ! glEnableClientState( GL_COLOR_ARRAY ); ! glColorPointer( 4, 0, colorArrayBuf ); // --- 175,190 ---- GL_LerpVerts( paliashdr.num_xyz, ov, verts, move, frontv, backv ); ! //gl.gl.glEnableClientState( GL_VERTEX_ARRAY ); ! gl.glVertexPointer( 3, 0, vertexArrayBuf ); // PMM - added double damage shell if ( (currententity.flags & ( Defines.RF_SHELL_RED | Defines.RF_SHELL_GREEN | Defines.RF_SHELL_BLUE | Defines.RF_SHELL_DOUBLE | Defines.RF_SHELL_HALF_DAM)) != 0) { ! gl.glColor4f( shadelight[0], shadelight[1], shadelight[2], alpha ); } else { ! gl.glEnableClientState( GL_COLOR_ARRAY ); ! gl.glColorPointer( 4, 0, colorArrayBuf ); // *************** *** 206,212 **** } ! glClientActiveTextureARB(TEXTURE0); ! glTexCoordPointer( 2, 0, textureArrayBuf); ! //gl.glEnableClientState( GL_TEXTURE_COORD_ARRAY); int pos = 0; --- 206,212 ---- } ! gl.glClientActiveTextureARB(TEXTURE0); ! gl.glTexCoordPointer( 2, 0, textureArrayBuf); ! //gl.gl.glEnableClientState( GL_TEXTURE_COORD_ARRAY); int pos = 0; *************** *** 245,249 **** } ! glDrawElements(mode, srcIndexBuf); pos += count; } --- 245,249 ---- } ! gl.glDrawElements(mode, srcIndexBuf); pos += count; } *************** *** 251,257 **** // PMM - added double damage shell if ( (currententity.flags & ( Defines.RF_SHELL_RED | Defines.RF_SHELL_GREEN | Defines.RF_SHELL_BLUE | Defines.RF_SHELL_DOUBLE | Defines.RF_SHELL_HALF_DAM)) != 0 ) ! glEnable( GL_TEXTURE_2D ); ! glDisableClientState( GL_COLOR_ARRAY ); } --- 251,257 ---- // PMM - added double damage shell if ( (currententity.flags & ( Defines.RF_SHELL_RED | Defines.RF_SHELL_GREEN | Defines.RF_SHELL_BLUE | Defines.RF_SHELL_DOUBLE | Defines.RF_SHELL_HALF_DAM)) != 0 ) ! gl.glEnable( GL_TEXTURE_2D ); ! gl.glDisableClientState( GL_COLOR_ARRAY ); } *************** *** 282,289 **** { count = -count; ! glBegin (GL_TRIANGLE_FAN); } else ! glBegin (GL_TRIANGLE_STRIP); do --- 282,289 ---- { count = -count; ! gl.glBegin (GL_TRIANGLE_FAN); } else ! gl.glBegin (GL_TRIANGLE_STRIP); do *************** *** 297,301 **** point[1] -= shadevector[1]*(point[2]+lheight); point[2] = height; ! glVertex3f(point[0], point[1], point[2]); orderIndex += 3; --- 297,301 ---- point[1] -= shadevector[1]*(point[2]+lheight); point[2] = height; ! gl.glVertex3f(point[0], point[1], point[2]); orderIndex += 3; *************** *** 303,307 **** } while (--count != 0); ! glEnd (); } } --- 303,307 ---- } while (--count != 0); ! gl.glEnd (); } } *************** *** 579,597 **** // if ( (currententity.flags & Defines.RF_DEPTHHACK) != 0) // hack the depth range to prevent view model from poking into walls ! glDepthRange(gldepthmin, gldepthmin + 0.3*(gldepthmax-gldepthmin)); if ( (currententity.flags & Defines.RF_WEAPONMODEL) != 0 && (r_lefthand.value == 1.0f) ) { ! glMatrixMode( GL_PROJECTION ); ! glPushMatrix(); ! glLoadIdentity(); ! glScalef( -1, 1, 1 ); MYgluPerspective( r_newrefdef.fov_y, ( float ) r_newrefdef.width / r_newrefdef.height, 4, 4096); ! glMatrixMode( GL_MODELVIEW ); ! glCullFace( GL_BACK ); } ! glPushMatrix (); e.angles[PITCH] = -e.angles[PITCH]; // sigh. R_RotateForEntity (e); --- 579,597 ---- // if ( (currententity.flags & Defines.RF_DEPTHHACK) != 0) // hack the depth range to prevent view model from poking into walls ! gl.glDepthRange(gldepthmin, gldepthmin + 0.3*(gldepthmax-gldepthmin)); if ( (currententity.flags & Defines.RF_WEAPONMODEL) != 0 && (r_lefthand.value == 1.0f) ) { ! gl.glMatrixMode( GL_PROJECTION ); ! gl.glPushMatrix(); ! gl.glLoadIdentity(); ! gl.glScalef( -1, 1, 1 ); MYgluPerspective( r_newrefdef.fov_y, ( float ) r_newrefdef.width / r_newrefdef.height, 4, 4096); ! gl.glMatrixMode( GL_MODELVIEW ); ! gl.glCullFace( GL_BACK ); } ! gl.glPushMatrix (); e.angles[PITCH] = -e.angles[PITCH]; // sigh. R_RotateForEntity (e); *************** *** 621,630 **** // draw it ! glShadeModel (GL_SMOOTH); GL_TexEnv( GL_MODULATE ); if ( (currententity.flags & Defines.RF_TRANSLUCENT) != 0 ) { ! glEnable (GL_BLEND); } --- 621,630 ---- // draw it ! gl.glShadeModel (GL_SMOOTH); GL_TexEnv( GL_MODULATE ); if ( (currententity.flags & Defines.RF_TRANSLUCENT) != 0 ) { ! gl.glEnable (GL_BLEND); } *************** *** 652,688 **** GL_TexEnv( GL_REPLACE ); ! glShadeModel (GL_FLAT); ! glPopMatrix (); if ( ( currententity.flags & Defines.RF_WEAPONMODEL ) != 0 && ( r_lefthand.value == 1.0F ) ) { ! glMatrixMode( GL_PROJECTION ); ! glPopMatrix(); ! glMatrixMode( GL_MODELVIEW ); ! glCullFace( GL_FRONT ); } if ( (currententity.flags & Defines.RF_TRANSLUCENT) != 0 ) { ! glDisable (GL_BLEND); } if ( (currententity.flags & Defines.RF_DEPTHHACK) != 0) ! glDepthRange (gldepthmin, gldepthmax); if ( gl_shadows.value != 0.0f && (currententity.flags & (Defines.RF_TRANSLUCENT | Defines.RF_WEAPONMODEL)) == 0) { ! glPushMatrix (); R_RotateForEntity (e); ! glDisable (GL_TEXTURE_2D); ! glEnable (GL_BLEND); ! glColor4f (0,0,0,0.5f); GL_DrawAliasShadow (paliashdr, currententity.frame ); ! glEnable (GL_TEXTURE_2D); ! glDisable (GL_BLEND); ! glPopMatrix (); } ! glColor4f (1,1,1,1); } } \ No newline at end of file --- 652,688 ---- GL_TexEnv( GL_REPLACE ); ! gl.glShadeModel (GL_FLAT); ! gl.glPopMatrix (); if ( ( currententity.flags & Defines.RF_WEAPONMODEL ) != 0 && ( r_lefthand.value == 1.0F ) ) { ! gl.glMatrixMode( GL_PROJECTION ); ! gl.glPopMatrix(); ! gl.glMatrixMode( GL_MODELVIEW ); ! gl.glCullFace( GL_FRONT ); } if ( (currententity.flags & Defines.RF_TRANSLUCENT) != 0 ) { ! gl.glDisable (GL_BLEND); } if ( (currententity.flags & Defines.RF_DEPTHHACK) != 0) ! gl.glDepthRange (gldepthmin, gldepthmax); if ( gl_shadows.value != 0.0f && (currententity.flags & (Defines.RF_TRANSLUCENT | Defines.RF_WEAPONMODEL)) == 0) { ! gl.glPushMatrix (); R_RotateForEntity (e); ! gl.glDisable (GL_TEXTURE_2D); ! gl.glEnable (GL_BLEND); ! gl.glColor4f (0,0,0,0.5f); GL_DrawAliasShadow (paliashdr, currententity.frame ); ! gl.glEnable (GL_TEXTURE_2D); ! gl.glDisable (GL_BLEND); ! gl.glPopMatrix (); } ! gl.glColor4f (1,1,1,1); } } \ No newline at end of file Index: Draw.java =================================================================== RCS file: /cvsroot/jake2/jake2/src/jake2/render/lwjgl/Draw.java,v retrieving revision 1.2.8.1... [truncated message content] |