Update of /cvsroot/jake2/jake2/src/jake2/render/lwjgl
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15958/src/jake2/render/lwjgl
Modified Files:
Surf.java Mesh.java
Log Message:
JVM executes this code faster, than the "i++" one.
Index: Mesh.java
===================================================================
RCS file: /cvsroot/jake2/jake2/src/jake2/render/lwjgl/Mesh.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** Mesh.java 7 May 2005 23:44:37 -0000 1.7
--- Mesh.java 8 Jun 2005 21:27:10 -0000 1.8
***************
*** 87,91 ****
{
float[] normal;
! int j = -1;
for (int i=0 ; i < nverts; i++/* , v++, ov++, lerp+=4 */)
{
--- 87,91 ----
{
float[] normal;
! int j = 0;
for (int i=0 ; i < nverts; i++/* , v++, ov++, lerp+=4 */)
{
***************
*** 93,104 ****
normal = r_avertexnormals[(vv >>> 24 ) & 0xFF];
ovv = ov[i];
! lerp.put(++j, move[0] + (ovv & 0xFF)* backv[0] + (vv & 0xFF) * frontv[0] + normal[0] * Defines.POWERSUIT_SCALE);
! lerp.put(++j, move[1] + ((ovv >>> 8) & 0xFF) * backv[1] + ((vv >>> 8) & 0xFF) * frontv[1] + normal[1] * Defines.POWERSUIT_SCALE);
! lerp.put(++j, move[2] + ((ovv >>> 16) & 0xFF) * backv[2] + ((vv >>> 16) & 0xFF) * frontv[2] + normal[2] * Defines.POWERSUIT_SCALE);
}
}
else
{
! int j = -1;
for (int i=0 ; i < nverts; i++ /* , v++, ov++, lerp+=4 */)
{
--- 93,105 ----
normal = r_avertexnormals[(vv >>> 24 ) & 0xFF];
ovv = ov[i];
! lerp.put(j, move[0] + (ovv & 0xFF)* backv[0] + (vv & 0xFF) * frontv[0] + normal[0] * Defines.POWERSUIT_SCALE);
! lerp.put(j + 1, move[1] + ((ovv >>> 8) & 0xFF) * backv[1] + ((vv >>> 8) & 0xFF) * frontv[1] + normal[1] * Defines.POWERSUIT_SCALE);
! lerp.put(j + 2, move[2] + ((ovv >>> 16) & 0xFF) * backv[2] + ((vv >>> 16) & 0xFF) * frontv[2] + normal[2] * Defines.POWERSUIT_SCALE);
! j += 3;
}
}
else
{
! int j = 0;
for (int i=0 ; i < nverts; i++ /* , v++, ov++, lerp+=4 */)
{
***************
*** 106,112 ****
vv = v[i];
! lerp.put(++j, move[0] + (ovv & 0xFF)* backv[0] + (vv & 0xFF)*frontv[0]);
! lerp.put(++j, move[1] + ((ovv >>> 8) & 0xFF)* backv[1] + ((vv >>> 8) & 0xFF)*frontv[1]);
! lerp.put(++j, move[2] + ((ovv >>> 16) & 0xFF)* backv[2] + ((vv >>> 16) & 0xFF)*frontv[2]);
}
}
--- 107,114 ----
vv = v[i];
! lerp.put(j, move[0] + (ovv & 0xFF)* backv[0] + (vv & 0xFF)*frontv[0]);
! lerp.put(j + 1, move[1] + ((ovv >>> 8) & 0xFF)* backv[1] + ((vv >>> 8) & 0xFF)*frontv[1]);
! lerp.put(j + 2, move[2] + ((ovv >>> 16) & 0xFF)* backv[2] + ((vv >>> 16) & 0xFF)*frontv[2]);
! j += 3;
}
}
***************
*** 192,205 ****
//
FloatBuffer color = colorArrayBuf;
- int j = -1;
float l;
int size = paliashdr.num_xyz;
for (int i = 0; i < size; i++ )
{
l = shadedots[(verts[i] >>> 24) & 0xFF];
! color.put(++j, l * shadelight[0]);
! color.put(++j, l * shadelight[1]);
! color.put(++j, l * shadelight[2]);
! color.put(++j, alpha);
}
}
--- 194,208 ----
//
FloatBuffer color = colorArrayBuf;
float l;
int size = paliashdr.num_xyz;
+ int j = 0;
for (int i = 0; i < size; i++ )
{
l = shadedots[(verts[i] >>> 24) & 0xFF];
! color.put(j, l * shadelight[0]);
! color.put(j + 1, l * shadelight[1]);
! color.put(j + 2, l * shadelight[2]);
! color.put(j + 3, alpha);
! j += 4;
}
}
Index: Surf.java
===================================================================
RCS file: /cvsroot/jake2/jake2/src/jake2/render/lwjgl/Surf.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** Surf.java 1 Feb 2005 16:55:28 -0000 1.8
--- Surf.java 8 Jun 2005 21:27:10 -0000 1.9
***************
*** 941,950 ****
vis = Mod_ClusterPVS(r_viewcluster2, r_worldmodel);
c = (r_worldmodel.numleafs + 31) >> 5;
! int k = -1;
! for (i=0 ; i<c ; i++) {
! fatvis[++k] |= vis[k];
! fatvis[++k] |= vis[k];
! fatvis[++k] |= vis[k];
! fatvis[++k] |= vis[k];
}
--- 941,950 ----
vis = Mod_ClusterPVS(r_viewcluster2, r_worldmodel);
c = (r_worldmodel.numleafs + 31) >> 5;
! c <<= 2;
! for (int k=0 ; k<c ; k+=4) {
! fatvis[k] |= vis[k];
! fatvis[k + 1] |= vis[k + 1];
! fatvis[k + 2] |= vis[k + 2];
! fatvis[k + 3] |= vis[k + 3];
}
|