Update of /cvsroot/jake2/jake2/src/jake2/render/lwjgl
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13283/src/jake2/render/lwjgl
Modified Files:
Mesh.java
Log Message:
this reduces the memory footprint massive;
you can now run city3 with 90MB heap
Index: Mesh.java
===================================================================
RCS file: /cvsroot/jake2/jake2/src/jake2/render/lwjgl/Mesh.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** Mesh.java 1 Feb 2005 16:55:07 -0000 1.5
--- Mesh.java 7 May 2005 22:15:05 -0000 1.6
***************
*** 79,87 ****
void GL_LerpVerts(int nverts, qfiles.dtrivertx_t[] ov, qfiles.dtrivertx_t[] verts, float[] move, float[] frontv, float[] backv )
{
- int[] ovv;
- int[] vv;
FloatBuffer lerp = vertexArrayBuf;
lerp.limit((nverts << 2) - nverts); // nverts * 3
//PMM -- added RF_SHELL_DOUBLE, RF_SHELL_HALF_DAM
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 )
--- 79,87 ----
void GL_LerpVerts(int nverts, qfiles.dtrivertx_t[] ov, qfiles.dtrivertx_t[] verts, float[] move, float[] frontv, float[] backv )
{
FloatBuffer lerp = vertexArrayBuf;
lerp.limit((nverts << 2) - nverts); // nverts * 3
+ qfiles.dtrivertx_t ovv, vv;
+
//PMM -- added RF_SHELL_DOUBLE, RF_SHELL_HALF_DAM
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 )
***************
*** 91,101 ****
for (int i=0 ; i < nverts; i++/* , v++, ov++, lerp+=4 */)
{
! normal = r_avertexnormals[verts[i].lightnormalindex];
! ovv = ov[i].v;
! vv = verts[i].v;
! lerp.put(++j, move[0] + ovv[0]*backv[0] + vv[0]*frontv[0] + normal[0] * Defines.POWERSUIT_SCALE);
! lerp.put(++j, move[1] + ovv[1]*backv[1] + vv[1]*frontv[1] + normal[1] * Defines.POWERSUIT_SCALE);
! lerp.put(++j, move[2] + ovv[2]*backv[2] + vv[2]*frontv[2] + normal[2] * Defines.POWERSUIT_SCALE);
}
}
--- 91,101 ----
for (int i=0 ; i < nverts; i++/* , v++, ov++, lerp+=4 */)
{
! normal = r_avertexnormals[verts[i].lightnormalindex()];
! ovv = ov[i];
! vv = verts[i];
! lerp.put(++j, move[0] + ovv.v0() * backv[0] + vv.v0() * frontv[0] + normal[0] * Defines.POWERSUIT_SCALE);
! lerp.put(++j, move[1] + ovv.v1() * backv[1] + vv.v1() * frontv[1] + normal[1] * Defines.POWERSUIT_SCALE);
! lerp.put(++j, move[2] + ovv.v2() * backv[2] + vv.v2() * frontv[2] + normal[2] * Defines.POWERSUIT_SCALE);
}
}
***************
*** 105,114 ****
for (int i=0 ; i < nverts; i++ /* , v++, ov++, lerp+=4 */)
{
! ovv = ov[i].v;
! vv = verts[i].v;
! lerp.put(++j, move[0] + ovv[0]*backv[0] + vv[0]*frontv[0]);
! lerp.put(++j, move[1] + ovv[1]*backv[1] + vv[1]*frontv[1]);
! lerp.put(++j, move[2] + ovv[2]*backv[2] + vv[2]*frontv[2]);
}
}
--- 105,114 ----
for (int i=0 ; i < nverts; i++ /* , v++, ov++, lerp+=4 */)
{
! ovv = ov[i];
! vv = verts[i];
! lerp.put(++j, move[0] + ovv.v0()* backv[0] + vv.v0()*frontv[0]);
! lerp.put(++j, move[1] + ovv.v1()* backv[1] + vv.v1()*frontv[1]);
! lerp.put(++j, move[2] + ovv.v2()* backv[2] + vv.v2()*frontv[2]);
}
}
***************
*** 199,203 ****
for (int i = 0; i < size; i++ )
{
! l = shadedots[verts[i].lightnormalindex];
color.put(++j, l * shadelight[0]);
color.put(++j, l * shadelight[1]);
--- 199,203 ----
for (int i = 0; i < size; i++ )
{
! l = shadedots[verts[i].lightnormalindex()];
color.put(++j, l * shadelight[0]);
color.put(++j, l * shadelight[1]);
|