}
public static void drawClothAsPatchesBAK(DBody[][] bodymatrix) {
GL11.glEnable(GL11.GL_LIGHTING);
FloatBuffer fb1 = BufferUtils.createFloatBuffer(4);
fb1.put(new float[] { .8f, .0f, 1.f, 1.f }).flip();
GL11.glMaterial(GL11.GL_FRONT, GL11.GL_AMBIENT, fb1);
GL11.glMaterial(GL11.GL_FRONT, GL11.GL_DIFFUSE, fb1);
FloatBuffer fb2 = BufferUtils.createFloatBuffer(4);
fb2.put(new float[] { .8f, .8f, 0f, 1.f }).flip();
GL11.glMaterial(GL11.GL_BACK, GL11.GL_AMBIENT, fb2);
GL11.glMaterial(GL11.GL_BACK, GL11.GL_DIFFUSE, fb2);
GL11.glLightModeli(GL11.GL_LIGHT_MODEL_TWO_SIDE, GL11.GL_TRUE);
GL11.glFrontFace(GL11.GL_CW);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glEnable(GL11.GL_MAP2_VERTEX_3);
GL11.glEnable(GL11.GL_AUTO_NORMAL);
// GL11.glEnable(GL11.GL_MAP2_NORMAL);
int size = bodymatrix.length;
FloatBuffer pos = BufferUtils.createFloatBuffer(bodymatrix.length
* bodymatrix.length * 3);
for (int i = 0; i < bodymatrix.length; i++) {
for (int j = 0; j < bodymatrix.length; j++) {
DVector3C vec0 = bodymatrix[i][j].getPosition();
float[] f0 = vec0.toFloatArray();
pos.put(f0);
}
}
pos.rewind();
GL11.glMap2f(GL11.GL_MAP2_VERTEX_3, 0, 1, size * 3, size, 0, 1, 3,
size, pos);
GL11.glMapGrid2f(40, 0, 1, 40, 0, 1);
GL11.glEvalMesh2(GL11.GL_FILL, 0, 40, 0, 40);