0

ディスプレイ リストを使用して生成された立方体のチャンクがあり、それに近づくたびにフレーム レートが大幅に低下します。どうしてこれなの?ここにいくつかのコードがあります:

public class Chunk implements GameObject {

private int sx, sy, sz, lx, ly, lz, vertID;

private Tile[][][] tiles;

public Chunk(int sx, int sy, int sz) {
    this.sx = sx;
    this.sy = sy;
    this.sz = sz;
    this.lx = sx + 16;
    this.ly = sy + 16;
    this.lz = sz + 16;

    init();
}

@Override
public void init() {
    this.tiles = new Tile[lx][ly][lz];

    vertID = glGenLists(1);

    glNewList(vertID, GL_COMPILE);
    for (int x = sx; x < lx; x++) {
        for (int y = sy; y < ly; y++) {
            for (int z = sz; z < lz; z++) {
                tiles[x][y][z] = new Tile("grass.jpg");
            }
        }
    }
    glEndList();
}

public void rebuild() {
    glNewList(vertID, GL_COMPILE);
    for (int x = sx; x < lx; x++) {
        for (int y = sy; y < ly; y++) {
            for (int z = sz; z < lz; z++) {
                tiles[x][y][z].getVertices(x, y, z, 16);
            }
        }
    }
    glEndList();
}

@Override
public void update() {
}

@Override
public void render() {
    glCallList(vertID);
}

@Override
public void dispose() {
}

}

4

1 に答える 1